[Ubuntu 18.4] Hướng dẫn đặt địa chỉ IP trên Ubuntu 18.4

30/12/2020

Chắc hẳn nhiều người đã không còn xa lạ với thao tác cấu hình địa chỉ IP bằng CLI trong các phiên bản Ubuntu trước đây. Khi bắt đầu thử nghiệm Ubuntu 18.4, điều đầu tiên tôi nhận thấy là cách quản lý giao diện mạng của nó đã hoàn toàn thay đổi.

Bạn đã nghe nói về Netplan? Nếu bạn chưa biết thì Netplan là một công cụ cấu hình mạng mới được giới thiệu trong Ubuntu 17.10. Nó thay thế tệp giao diện tĩnh (/etc/internet/interfaces) trước đây đã được sử dụng để định cấu hình giao diện mạng. Netplan có thể được sử dụng để viết mô tả YAML đơn giản về các giao diện mạng với những thông tin cơ bản và tạo ra cấu hình cần thiết cho một công cụ kết xuất được chọn.

Trong bài viết này, tôi sẽ hướng dẫn hai cách để bạn cấp địa chỉ IP cho card mạng trên Ubuntu. Cách thứ nhất là cấu hình trên netplan và cách thứ hai, mời bạn theo dõi phần cuối bài viết.

Cấp địa chỉ IP bằng cách cấu hình netplan

Trong mô hình lab, tôi đã cài xong máy Ubuntu 18.4 LTS server với mặc định một card mạng ens33 ở chế độ NAT. Bây giờ tôi sẽ gắn thêm 01 NIC và tiến hành cấp IP cho nó.
Kiểm tra các thiết bị đang có trong mạng:

root@ubuntusrv:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host        valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 00:0c:29:c9:b4:9b brd ff:ff:ff:ff:ff:ff     inet 192.168.152.129/24 brd 192.168.152.255 scope global dynamic ens33        valid_lft 1631sec preferred_lft 1631sec     inet6 fe80::20c:29ff:fec9:b49b/64 scope link        valid_lft forever preferred_lft forever 3: ens38: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000     link/ether 00:0c:29:c9:b4:a5 brd ff:ff:ff:ff:ff:ff

Như vậy NIC ens38 đã tồn tại tuy nhiên nó chưa được cấp địa chỉ IP. Tiếp theo tôi sẽ cấu hình cho nó bằng cách vào thư mục /etc/netplan/ và chỉnh sửa file 50-cloud-init.yaml. (Lưu ý khi bạn viết vào tệp *.yaml bạn phải tuân theo đúng cú pháp căn dòng của nó). Ở đây tôi muốn cấp IP động nên sẽ ghi vào nội dung file như sau:

# This file is generated from information provided by # the datasource.  Changes to it will not persist across an instance. # To disable cloud-init's network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network:     ethernets:         ens33:             dhcp4: true         ens38:             dhcp4: true     version: 2

Trong trường hợp bạn muốn cấp IP tĩnh thì bạn có thể thiết lập các thông số như ví dụ dưới:

# This file is generated from information provided by # the datasource.  Changes to it will not persist across an instance. # To disable cloud-init's network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network:     ethernets:         ens33:             dhcp4: true         ens38:             addresses: [192.168.200.10/24]             nameservers:               addresses: [8.8.8.8]             dhcp4: no

Lưu ý: Bạn nên đặt địa chỉ IP tĩnh nằm ngoài range IP DHCP của local subnet.

Tiếp theo bạn lưu thay đổi file và chạy lệnh netplan apply để thiết lập lại cấu hình.

netplan apply

Ta dùng lệnh ip a để kiểm tra kết quả:

root@ubuntusrv:/etc/netplan# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host        valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 00:0c:29:c9:b4:9b brd ff:ff:ff:ff:ff:ff     inet 192.168.152.129/24 brd 192.168.152.255 scope global dynamic ens33        valid_lft 1558sec preferred_lft 1558sec     inet6 fe80::20c:29ff:fec9:b49b/64 scope link        valid_lft forever preferred_lft forever 3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 00:0c:29:c9:b4:a5 brd ff:ff:ff:ff:ff:ff     inet 192.168.200.128/24 brd 192.168.200.255 scope global dynamic ens38        valid_lft 1559sec preferred_lft 1559sec     inet6 fe80::20c:29ff:fec9:b4a5/64 scope link        valid_lft forever preferred_lft forever

Như vậy bạn đã cấp IP thành công thông qua cấu hình netplan trên máy Ubuntu 18.4.

Cấp địa chỉ IP bằng cách chỉnh sửa trong /etc/network/interfaces

Để minh họa cho ví dụ này, trên Ubuntu tôi sẽ tạo thêm một NIC mới (lúc này máy của tôi sẽ sinh ra một interface có tên là ens39). Nếu bạn không quen cấu hình trong netplan mà muốn thao tác theo cách truyền thống với việc chỉnh sửa tệp /etc/network/interfaces thì bạn cũng sẽ cấp được IP như mong muốn thông qua các bước sau đây:

  • Cài đặt ifupdown
apt-get install ifupdown
  • Cấu hình trong /etc/network/interfaces. Ở đây tôi sẽ đặt IP động cho ens39:
# ifupdown has been replaced by netplan(5) on this system.  See # /etc/netplan for current configuration. # To re-enable ifupdown on this system, you can run: #    sudo apt install ifupdown  auto ens39  iface ens39 inet dhcp

Lưu file cấu hình và restart lại network.

systemctl restart networking
  • Sử dụng lệnh ifdown ens39 và ifup ens39 để cập nhật network cho interface mới.

Kiểm tra kết quả bằng lệnh ip a:

root@ubuntusrv:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host        valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 00:0c:29:c9:b4:9b brd ff:ff:ff:ff:ff:ff     inet 192.168.152.129/24 brd 192.168.152.255 scope global dynamic ens33        valid_lft 1156sec preferred_lft 1156sec     inet6 fe80::20c:29ff:fec9:b49b/64 scope link        valid_lft forever preferred_lft forever 3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 00:0c:29:c9:b4:a5 brd ff:ff:ff:ff:ff:ff     inet 192.168.200.128/24 brd 192.168.200.255 scope global dynamic ens38        valid_lft 1604sec preferred_lft 1604sec     inet6 fe80::20c:29ff:fec9:b4a5/64 scope link        valid_lft forever preferred_lft forever 4: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 00:0c:29:c9:b4:af brd ff:ff:ff:ff:ff:ff     inet 192.168.200.129/24 brd 192.168.200.255 scope global ens39        valid_lft forever preferred_lft forever     inet6 fe80::20c:29ff:fec9:b4af/64 scope link        valid_lft forever preferred_lft forever

Trên đây tôi đã chia sẻ đến các bạn hai cách thiết lập địa chỉ IP trên Ubuntu 18.4 LTS server. Các bạn có thể tùy chọn một trong hai cách để ứng dụng vào mô hình lab của mình.

Chúc các bạn thành công.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Script #4: Script cảnh báo file lạ trên server Linux (Detect Strange Files Script)

Việc các máy chủ bị hacker tấn công là việc thường xuyên xảy ra. Trong đó, có một lỗ hổng...
30/12/2020

[Graylog] [LAB] [Phần 11] Cấu hình Graylog server tích hợp cảnh báo qua Slack

Chắc là mọi người đã biết đến Slack nơi tạo ra một room chat để mọi người có thể chia sẻ...
30/12/2020

Hướng dẫn Streaming và Livestream trên NGINX với RTMP và HLS

Ở bài viết trước mình đã giới thiệu về công nghệ Livestream và các giao thức liên quan. Vậy...
30/12/2020