nmcli介紹
在RHEL7中默認使用NetworkManager守護進程來監控和管理網絡設置。NetworkManager包含命令行工具和文本界面工具:
- nmcli:網絡管理命令行接口:NetworkManager Command-Line Interface
- nmtui:網絡管理文本用戶接口:NetworkManager Text-User Interface
CentOS7之前的網絡管理是通過ifcfg文件配置管理接口(device),而現在是通過NetworkManager服務管理連接(connection)。
nmcli會自動把配置寫到/etc/sysconfig/network-scripts/目錄下面(nmcli和nmtui的網絡配置會覆蓋配置文件的內容),配置文件的生成與使用狀態均由NetworkManager控制。
#nmcli工具由NetworkManager提供
yum provides nmcli
#安裝NetworkManager
yum install -y NetworkManager
nmcli配置靜態IP地址
查看當前網絡連接
[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 71d82a64-c7ec-4d60-8f15-ff6a3de87d52 ethernet ens33
直接修改當前網卡靜態IP地址
nmcli con mod ens33 ipv4.addresses 192.168.94.61/24
重啓網絡使配置生效
#方法1
nmcli device reapply ens33
#方法2
nmcli con reload && nmcli con up ens33
#方法3
nmcli networking off && nmcli networking on
驗證IP地址配置是否正確
[root@localhost ~]# 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:93:d0:0b brd ff:ff:ff:ff:ff:ff
inet 192.168.93.70/24 brd 192.168.93.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::99f1:d8e7:c005:33b9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
配置信息自動更新到/etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
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=ens33
UUID=71d82a64-c7ec-4d60-8f15-ff6a3de87d52
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.93.71
PREFIX=24
GATEWAY=192.168.93.2
DNS1=114.114.114.114
DNS2=8.8.8.8
IPV6_PRIVACY=no
新增網卡後修改靜態IP地址,以新增ens37網卡爲例,首次新增網卡後默認連接名稱爲Wired connection 1
[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 752fa178-bbb6-4ab3-84ee-aa86a34a16b4 ethernet ens33
Wired connection 1 28eff6e8-6865-37fd-a2d0-94433cae8800 ethernet ens37
該網卡從DHCP動態獲取IP地址
[root@localhost ~]# ip a | grep ens
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.93.70/24 brd 192.168.93.255 scope global noprefixroute ens33
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.93.140/24 brd 192.168.93.255 scope global dynamic noprefixroute ens37
並且沒有ifcfg-xx配置文件
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33
配置ens37爲靜態IP地址,修改連接名稱,配置網關和DNS
nmcli con mod "Wired connection 1" \
con-name ens37 \
ipv4.method manual \
ipv4.addresses 192.168.94.61/24 \
ipv4.gateway 192.168.94.2 \
ipv4.dns "114.114.114.114,8.8.8.8"
重啓網絡設備生效
[root@localhost ~]# nmcli device reapply ens37
驗證配置是否正確
[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 71d82a64-c7ec-4d60-8f15-ff6a3de87d52 ethernet ens33
ens37 f73c9e4c-7b85-39fe-8a04-2e1d69fd01b6 ethernet ens37
[root@localhost ~]# ip a | grep ens
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.93.70/24 brd 192.168.93.255 scope global noprefixroute ens33
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.94.61/24 brd 192.168.94.255 scope global noprefixroute ens37
查看生成的ifcfg-ens37配置文件
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens37
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.94.61
PREFIX=24
GATEWAY=192.168.94.2
DNS1=114.114.114.114
DNS2=8.8.8.8
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=ens37
UUID=f73c9e4c-7b85-39fe-8a04-2e1d69fd01b6
DEVICE=ens37
ONBOOT=yes
AUTOCONNECT_PRIORITY=-999
nmtui配置靜態IP地址
命令行終端輸入nmtui回車
nmtui
進入圖形化配置界面
選擇一個網卡回車進行編輯
配置IP地址信息,選擇Manual靜態模式,選擇Automastically connect自動連接,配置完成後選擇OK
選擇back
選擇ok
驗證配置是否自動生效
ip a