Cấu hình static ip trên Ubuntu 17
Kể từ ubuntu 17 trở đi thì Package ifupdown và “/etc/network/interfaces” không còn sử dụng nữa. Ubuntu 17 server dùng netplan package để thay thế việc cấu hình systemd-networkd.
Do đó khi bạn cấu hình static ip như các phiên bản trước thì ubuntu 17 sẽ không nhận cấu hình.
Đầu tiên bạn phải chỉnh file “/etc/network/interfaces” về mặt định như ban đầu
1 2 3 4 5 6 7 |
root@lab:~# cat /etc/network/interfaces # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # Generated by debian-installer. # The loopback interface auto lo iface lo inet loopback |
Sau đó bạn mở (hoặc tạo file nếu chưa có) file netplan config cho static IPv4 “/etc/netplan/01-netcfg.yaml”. Và cấu hình theo format như sau.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
root@lab:~# cat /etc/netplan/01-netcfg.yaml # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: ens18: dhcp4: no dhcp6: no addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8,8.8.4.4] |
Phải chắc chắn là lấy đúng network interface name. (như ví dụ trên là ens18)
Kiểm tra network interface name bằng lệnh.
1 2 3 4 5 6 7 8 9 10 11 12 |
root@lab:~# 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 4: <strong>ens18</strong>: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 32:34:61:30:31:31 brd ff:ff:ff:ff:ff:ff 5: ens19: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 32:30:38:61:62:34 brd ff:ff:ff:ff:ff:ff root@lab:~# |
Thay đổi DNS server cho phù hợp với network của bạn, nếu không có thì để DNS google.
Sau khi kiểm tra mọi thứ chính xác hết thì chạy lệnh test và active cấu hình.
1 2 3 4 5 6 7 8 9 |
root@lab:~# netplan --debug generate DEBUG:command generate: running ['/lib/netplan/generate'] ** (generate:1801): DEBUG: Processing input file //etc/netplan/01-netcfg.yaml.. ** (generate:1801): DEBUG: starting new processing pass ** (generate:1801): DEBUG: ens18: setting default backend to 1 ** (generate:1801): DEBUG: Generating output files.. ** (generate:1801): DEBUG: NetworkManager: definition ens18 is not for us (backend 1) root@lab:~# netplan apply root@lab:~# |
Done !!!