Nếu để cài đặt IP tĩnh cho Raspberry Pi OS (tên cũ là Raspbian) thì bạn sẽ thấy có khá nhiều thông tin, ví dụ bài Thiết lập địa chỉ IP tĩnh cho Raspberry Pi của Raspberry Pi Việt Nam.
Tuy nhiên, để cài đặt IP tĩnh cho RPi chạy Ubuntu thì các bạn không thấy nhiều bài hướng dẫn. Vì vậy, trong bài viết này, mình sẽ hướng dẫn các bạn cách thiết lập IP tĩnh cho Raspberry Pi chạy Ubuntu thông qua NetPlan.
Bài viết được thực hiện với Raspberry Pi 4mua tại nhà phân phối chính thức Raspberry Pi Việt Nam, hệ điều hành Ubuntu Server 22.04.1. Do đây là phiên bản server nên mình chỉ hướng dẫn với NetPlan thông qua giao diện console. Mình cũng mặc định các bạn đã biết hết thông tin về IP, Subnet Mask, Gateway của mình rồi nên bỏ qua bước kiểm tra các thông tin này.
Bước 1: Kiểm tra thông tin kết nối mạng của bạn
Bạn cần biết cổng mạng mình sử dụng có tên là gì? Và IP, Subnet Mask, Gateway của mình là bao nhiêu? Từ đó mới có thể thực hiện thay đổi sang IP tĩnh được. Chúng ta sẽ sử dụng lệnh sau:
pi@pisrv:~# ip a
Kết quả hiển thị như thế này
Các bạn có thể thấy RPi của mình có card mạng là eth0 và wlan0. Trong đó, eth0 đang kết nối và có IP 192.168.0.86/24 (nghĩa là subnet mask 255.255.255.0). Trong bài viết này, mình cần thay đổi IP tĩnh cho card mạng eth0 vì mình không dùng wlan0 (card mạng wifi).
Bước 2: Cấu hình IP tĩnh cho Ubuntu trên Raspberry Pi qua NetPlan
Sau khi cài đặt Ubuntu lên Raspberry Pi, chúng ta sẽ có 1 file cấu hình mạng với đuôi .yaml nằm trong thư mục /etc/netplan. Ví dụ cụ thể trong trường hợp của mình là file 50-cloud-init.yaml. Chúng ta sẽ tiến hành sửa file này để cài đặt IP tĩnh cho Ubuntu. Các bạn chạy lệnh:
pi@pisrv:~# sudo nano /etc/netplan/50-cloud-init.yaml
Lưu ý: Bạn cần kiểm tra xem file yaml của bạn là gì và sửa lại lệnh tương ứng.
Bạn có thể xóa toàn bộ nội dung file này, hoặc cẩn thận hơn thì bạn đóng # để vô hiệu hóa các dòng cấu hình có sẵn và tiến hành paste cấu hình dưới đây vào
network:
ethernets:
eth0:
dhcp4: false
addresses: [192.168.0.86/24]
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8,1.1.1.1]
version: 2
Lưu ý:
- Trường hợp của mình card mạng là eth0, nhưng của các bạn có thể là tên khác như enp0s3, ens160 … Điều này phụ thuộc vào bước 1 bạn check ra thông tin gì và cần sửa lại cho đúng, nếu không sẽ không chạy được.
- Bạn muốn sửa IP bao nhiêu thì thay đổi ở dòng
addresses
là được.
Sau khi sửa xong, file yaml sẽ có nội dung như thế này
Đến đây, bạn bấm Ctrl + X rồi bấm Y để lưu và thoát chương trình sửa file.
Cuối cùng, bạn có thể restart lại mạch RPi hoặc chạy lệnh sudo netplan apply để áp dụng cấu hình mới.