Cách cấu hình địa chỉ IP tĩnh trên Ubuntu 20.04

Địa chỉ IP tĩnh hoặc cố định là địa chỉ IP không thay đổi. Cho dù bạn khởi động lại thiết bị hay bộ định tuyến gia đình, thiết bị có địa chỉ IP tĩnh của bạn sẽ nhận được cùng một địa chỉ IP. Ngược lại với địa chỉ IP tĩnh là địa chỉ IP động. Một thiết bị không có địa chỉ IP tĩnh sẽ nhận được địa chỉ IP động do máy chủ DHCP (Dynamic Host Configuration Protocol) chỉ định và địa chỉ này có thể thay đổi theo thời gian.

Theo mặc định, một thiết bị được kết nối với bộ định tuyến gia đình của bạn cho dù thiết bị đó sử dụng cáp hay được kết nối qua WiFi rất có thể sẽ nhận được địa chỉ IP động. Và, nếu bạn sử dụng VPS Ubuntu được quản lý của mình cũng như máy chủ FTP của máy chủ web, bạn sẽ muốn định cấu hình địa chỉ IP tĩnh cho nó, để bạn có thể truy cập máy chủ bằng cùng một địa chỉ IP. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách định cấu hình địa chỉ IP tĩnh trên Ubuntu 20.04.

Cấu hình địa chỉ IP tĩnh trên Ubuntu Server 20.04

Trước hết chúng ta cần kiểm tra xem card giao diện ethernet muốn cấu hình địa chỉ IP là gì, có thể chạy lệnh ip ahoặc ip link command để xem. Trong ví dụ này, giao diện mà chúng ta sẽ định cấu hình IP tĩnh là ‘ens33’.

cách thiết lập địa chỉ ip tĩnh trên ubuntu 20.04

Để tiến hành cấu hình địa chỉ IP tĩnh trên Ubuntu server 20.04, chúng ta phải đảm bảo rằng cloud-init không quản lý giao diện mạng. Để thực hiện, hãy mở tệp cloud-init tại /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg và đảm bảo rằng có mục “network: {config:disabled}”. Nếu mục bị thiếu, chúng ta phải tạo nó.

cat /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg

master@ubuntu20:~$ cat /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
network: {config: disabled}

Bây giờ, để định cấu hình địa chỉ IP tĩnh, chúng ta cần sửa đổi tệp cấu hình YAML tại /etc/netplan/00-installer-config.yaml.

Lưu ý: khi chỉnh sửa tệp YAML, hãy đảm bảo bạn tuân theo các tiêu chuẩn thụt lề mã YAML. Cú pháp được đề xuất cho các tệp YAML là sử dụng 2 dấu cách để thụt lề, không sử dụng TABS. Nếu thụt đầu dòng và cú pháp không chính xác, các thay đổi sẽ không hoạt động.

$ cat /etc/netplan/00-installer-config.yaml

configure static ip address on ubuntu 20.04

 

Như đã thấy trong tệp, DHCP khả dụng và máy chủ đang nhận địa chỉ IP từ máy chủ DHCP. Để thay đổi địa chỉ IP máy chủ của bạn, ví dụ thành 192.168.1.100 thì làm các bước dưới đây:

Sao lưu tệp /etc/netplan/00-installer-config.yaml

$ cp -a /etc/netplan/00-installer-config.yaml{,.orig}

và mở tập tin

$ nano /etc/netplan/00-installer-config.yaml

để thay thế nội dung của /etc/netplan/00-installer-config.yaml ở trên bằng những dòng này.

network:
  ethernets:
    enp4s0:
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1, 8.8.8.8]
  version: 2

Nhớ thay card mạng ở phần tô đỏ lại cho đúng

Lưu lại!

Khi chỉnh sửa tệp, đảm bảo giao diện ethernet khớp với giao diện chúng ta thấy khi gọi lệnh ip a hoặc ip link .

Để kiểm tra tệp cấu hình mới mà không áp dụng các thay đổi, chúng ta có thể chạy lệnh này:

$ netplan try

Nếu mọi thứ đều ổn, bạn sẽ thấy một thông báo như trong hình bên dưới. Bạn có thể nhấn ENTER để chấp nhận các thay đổi hoặc để nó hoàn nguyên các thay đổi về cấu hình trước đó.

thiết lập và định cấu hình địa chỉ tĩnh trên Ubuntu 20.04

Nếu bạn sử dụng SecureCRT, Putty, SSH.. để thay ip và bị ngắt kết nối khi chạy lệnh netplan try thì hãy kết nối lại với IP mới thay và chạy lại lệnh:

$ netplan apply

Xong thì reboot lại nữa là được rồi nhé!

Trường hợp bạn chạy lệnh netplan try nhưng dùng các tool SSH đăng nhập vào IP mới không được tức là bạn đã cấu hình sai. Đừng lo lắng, sau khi chạy lệnh sẽ có 120 giây (2 phút) đếm ngược sẽ login lại bằng IP cũ ban đầu và cấu hình lại cho đúng nhé!

Nội dung gốc ban đầu của file có thể là như dưới, nhưng bạn nhớ tên card mạng rồi sửa lại nhé! ko nhớ + ko backup file như hướng dẫn trên nữa thì cài lại OS thôi.

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp4s0:
      dhcp4: true
  version: 2

hoặc card eth0 thì:

# This is the network config written by 'subiquity'
network:
  ethernets:
    eth0:
      dhcp4: true
  version: 2

Leave a Reply