[CentOS 8] Hướng dẫn đặt IP trong CentOS 8 bằng nmcli

30/12/2020

Trong các phiên bản từ CentOS 7 trở đi, gói NetworkManager đã cung cấp lệnh nmcli để thao tác việc đặt IP tĩnh hoặc IP động cho các interface. Trong hướng dẫn này Onet sẽ hướng dẫn bạn đặt IP cho các interface bằng lệnh nmcli và giới thiệu một số lệnh đi kèm để bạn có thể thao tác khi cần thiết.

Khi sử dụng lệnh nmcli (network manager command line interface) thì bản chất là cách dùng dòng lệnh để tạo ra file config cho các interface giống như các phiên bản CentOS trước kia. Điều này khá tiện lợi cho bạn khi thao tác thông qua CLI hoặc đưa và các bash shell sau này nếu có nhu cầu.

Trong hướng dẫn này, giải sử ta có 02 NIC trên server cài CentOS 8. Ta sẽ dùng lệnh nmcli để thực hiện việc này.

Giả sử tôi chỉ có 01 NIC ens3từ đầu, tôi sẽ lựa chọn đặt IP tĩnh cho Interface này bởi vì thường lúc đầu sau khi cài đặt xong hệ điều hành, ta thường có IP động.

Đặt IP cho interface ens3

Truy cập qua ssh vào trong hệ điều hành và thực hiện đặt IP cho ens3 với IP bạn mong muốn. Lưu ý IP này không nên trùng trong range của DHCP cấp. Lưu ý, tên interface của bạn có thể khác với ens3, hay thay cho phù hợp với thực tế của bạn.

Sau khi kiểm tra xong, ta nên kiểm tra file config của NIC ens3 trước bằng lệnh cat ở dưới.

[root@centos8srv01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens3 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens3 UUID=b0c55627-8651-4b20-8b1e-d05857ef00d1 DEVICE=ens3 ONBOOT=yes IPV6_PRIVACY=no

Kết quả ở trên ta thấy ens3 đang nhận IP động, ta tiến hành đặt lại IP tĩnh. Trong hướng dẫn này tôi sẽ đặt

  • IP addres: 192.168.80.145
  • Gateway: 192.168.80.1
  • Subnetmask: 255.255.255.255 (/24)
  • Dns-nameserver là 8.8.8.8

Cụ thể ta dùng tập lệnh như sau.

nmcli con modify ens3 ipv4.addresses 192.168.80.145/24 nmcli con modify ens3 ipv4.gateway 192.168.80.1 nmcli con modify ens3 ipv4.dns 8.8.8.8 nmcli con modify ens3 ipv4.method manual nmcli con modify ens3 connection.autoconnect yes

Sau khi đặt xong ta sẽ kiểm tra lại nội dụng file /etc/sysconfig/network-scripts/ifcfg-ens3

[root@centos8srv01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens3 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens3 UUID=b0c55627-8651-4b20-8b1e-d05857ef00d1 DEVICE=ens3 ONBOOT=yes IPV6_PRIVACY=no IPADDR=192.168.80.145 PREFIX=24 GATEWAY=192.168.80.1 DNS1=8.8.8.8

Kết quả là ta đã có địa chỉ IP tĩnh cho NIC ens3 để có thể nhận IP mới. Lưu ý lúc này sẽ mất kết nối và cần đăng nhập lại với IP tĩnh vừa đặt ở trên.

Đặt IP cho interface tiếp theo

Lưu ý, lúc đầu trong mô hình lab tôi chỉ add một NIC là ens3, tiếp theo tôi sẽ add thêm một NIC nữa, điều này giống như tôi gắn thêm một card mạng vào máy. Lúc này cần kiểm tra xem tên của NIC mới gắn vào là gì. Thực hiện bằng lệnh nmcli dev show. Kết quả ta sẽ nhìn thấy ở dưới.

[root@centos8srv01 ~]# nmcli dev status DEVICE  TYPE      STATE                                  CONNECTION ens3    ethernet  connected                              ens3 ens7    ethernet  connecting (getting IP configuration)  Wired connection 1 lo      loopback  unmanaged                              --

Lưu ý dòng Wired connection 1 là khác thường, do vậy ta cần đổi lại thêm cho ngắn gọn và dễ nhớ để nmcli làm việc thuận lợi hơn. Để đổi tên Wired connection 1 thành ens7 ta dùng lệnh sau

nmcli c modify "Wired connection 1" connection.id ens7

Kiểm tra lại kết quả sau khi đổi tên bằng lệnh mncli dev show, ta thấy kết quả là.

[root@centos8srv01 ~]# nmcli dev status DEVICE  TYPE      STATE                                  CONNECTION ens3    ethernet  connected                              ens3 ens7    ethernet  connecting (getting IP configuration)  ens7 lo      loopback  unmanaged                              --

Lúc này ta mới đặt IP cho ens7. Ta sẽ đặt IP cho ens7 ở range 192.168.84.0/24 và không dùng gateway, bởi vì ens3 đã có gateway để ra internet rồi, các tham số sẽ như sau.

  • IP add: 192.168.84.199
  • Subnet Mask: 255.255.255.0 (/24)
nmcli con modify ens7 ipv4.addresses 192.168.84.199/24 nmcli con modify ens7 ipv4.method manual nmcli con modify ens7 connection.autoconnect yes

Sau đó thực hiện lệnh ifdown & ifup để ens7 nhận được IP vừa thiết lập.

[root@centos8srv01 ~]# ifdown ens7 Connection 'ens7' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/23) [root@centos8srv01 ~]# ifup ens7 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/24) [root@centos8srv01 ~]#

Có thể dùng lệnh ifdown ens7 && ifup ens7 để đạt được kết quả như trên.

Kiểm tra file /etc/sysconfig/network-scripts/ifcfg-ens7 để xem lại thiết lập bằng lệnh cat

[root@centos8srv01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens7 HWADDR=52:54:00:D0:E8:0D TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens7 UUID=43bd4c3e-5966-329a-8e9d-1c8ed238857a ONBOOT=yes AUTOCONNECT_PRIORITY=-999 IPADDR=192.168.84.199 PREFIX=24

Tới đây Onet đã hướng dẫn bặt đặt IP trong CentOS 8 bằng lệnh nmcli. Hãy khám phá thêm về lệnh này và chia sẻ nếu bạn có mong muốn nhé.

Tham khảo chuỗi bài viết về CentOS 8

  1. Cài đặt CentOS 8
  2. Phiên bản các gói phần mềm phổ thông trên CentOS 8
  3. Cài đặt LEMP trên CentOS 8
  4. Trình quản lý và cài đặt gói DNF trên CentOS 8
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

Linux Mount Command

In the Linux ecosystem, mounting is one of the major operations that the system relies on. In fact, the filesystem of Linux...
29/12/2020

Nessus Ubuntu Installation and Tutorial

Nessus is Openvas’ father, it is not free anymore (that’s why OpenVas was created)  and i’ll write this tutorial...
28/12/2020

How to Use Network Manager on OpenSUSE

The NetworkManager app is the ideal solution for managing networks. It’s especially useful if you’re running openSUSE...
29/12/2020