Bài 5: Cài đặt IP tĩnh cho RPI

Mặc định RPI sẽ dùng IP động do router cung cấp, IP này có thể sẽ khác nhau mỗi khi khởi động lại RPI. Để biết IP ta có thể dùng Advanced IP Scanner như trong bài trước.

Có vài cách để cấp IP tĩnh cho RPI, nhưng để tránh xung đột, IP tĩnh nên chọn ngoài phạm vi các IP được DHCP của router sử dụng. Thí dụ DHCP cấp ip trong phạm vi 1-100 thì ip tĩnh chọn ngoài khoảng này như 192.168.1.101

Trước hết nên tìm hiểu về các thông số của mạng cục bộ

  • Trong Windows, chạy dòng lệnh ipconfig

Untitled-1

  • Trong Linux, chạy dòng lệnh ifconfig

Untitled-2

Ta biết được IP có dạng 10.0.10.x, netmask 10.0.10.255, gateway thông thường là giá trị nhỏ nhất 10.0.10.1

Để đặt IP tĩnh cho RPI, dùng một trong các cách sau đây:

C1. Sửa cmdline.txt

Tập tin cmdline.txt là tập tin văn bản nằm trong phân vùng FAT32 của thẻ nhớ, nên có thể soạn thảo từ OS của RPI hay từ Windows.

Dùng lệnh ipconfig để xem ip của máy tính đang dùng trong mạng ethernet

Screenshot 2014-10-06 16.46.03

Trong hình trên ip của máy là 169.254.1.166

Thêm vào cuối tập tin cmdline.txt một khoảng trắng và ip=169.254.1.167 để đặt ip tĩnh cho RPI, kết quả tương tự như

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p1 rootfstype=ext4 elevator=deadline rootwait ip=169.254.1.167

Chú ý:

+ Nếu soạn thảo cmdline.txt trong Windows, nên dùng Notepad++, vì nếu dùng Notepad của Windows có thể không nhìn thấy ký tự LF (ASCII 10) nằm ẩn sau từ rootwait (cuối dòng), khi đó nối chuỗi ip=xxx.xxx.xxx.xxx không có tác dụng tạo ip tĩnh cho RPI. Tốt nhất nếu dùng Notepad, từ cuối dòng xóa lùi (backspace) đến từ rootwait trước khi nối ip vào rootwait

Screenshot 2014-10-07 07.41.18

Cùng file cmdline.txt trên, nhưng mở bằng notepad++

Screenshot 2014-10-07 07.44.11

ip ở sau dấu LF nên không được đọc và không có tác dụng cấu hình ip tĩnh cho RPI

+ Có thể dùng ip khác sao cho Ethernet Adapter và RPI cùng một lớp mạng (dùng dãy 192.168.x.x, 169.254.x.x hoặc dãy ip của router đang cấp qua DHCP)

Để đổi ip của Ethernet Adapter của máy tính,

Control Panel > Network and Internet > Network Connections, double click lên icon Ethernet, xong double click lên Internet Protocol Version 4, điền ip đã chọn

Screenshot 2014-10-06 20.56.22

Screenshot 2014-10-06 20.57.17

Sau đó tạo ip tĩnh cho RPI cùng lớp mạng như đã nói bên trên.

+ Khởi động lại RPI, dùng puTTY để ssh vào ip của RPI

C2. Sửa tập tin interfaces

Sau khi có thể ssh vào RPI, dùng nano để soạn thảo tập tin /etc/network/interfaces để cài đặt ip tĩnh. Không giống như trường hợp C1, ip tĩnh này là ip cùng lớp mạng với ip mà máy tính đang dùng, chọn trong dãy ip mà router chưa dùng để cấp ip qua DHCP, giả sử là 10.0.10.10

sudo nano /etc/network/interfaces

Sửa lại như sau

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 10.0.10.10
netmask 255.255.255.0
gateway 10.0.10.1

Lưu và đóng tập tin interfaces bằng cách gõ Ctrl+X và Y

  • Dòng address dùng để định nghĩa IP tĩnh
  • Netmask và gateway tìm được bằng cách dùng ipconfig hay ifconfig

Xóa chuỗi ip=xxx.xxx.xxx.xxx cuối dòng trong tập tin cmdline.txt (nếu có)

Chú thích

  1. C1 dùng trong trường hợp đặt IP tĩnh tạm thời
  2. Soạn thảo với nano
  • Tô chọn tương đương với copy vào clipboard
  • Bấm chuột phải tương đương với dán từ clipboard tại vị trí con trỏ văn bản (hình khối chữ nhật)
  • Crtl + K cắt một dòng
  • Ctrl + W tìm chuỗi
  • Ctrl + X thoát

Leave a Comment

Filed under Software

Leave a Reply

Your email address will not be published. Required fields are marked *