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 choens39
:
# 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.