nmcli 和nmtui 是 NetworkManager 附带的命令 NetworkManager是2004年RedHat启动的项目,皆在能够让Linux用户更轻松的处理现代网络需求,尤其是无线网络,能够自动发现网卡并配置IP地址。
RHEL7,CentOS7上同时支持network.service和NetworkManager.service(简称NM)。默认情况下这2个服务都有开启
多数图形界面的Linux都开启了NetworkManager.service服务
在CentOS9,Fedora36,Ubuntu20,22等中, nmcli c a 和nmtui 生成的网络配置文件默认为 /etc/NetworkManager/system-connections/ 文件夹中的xxx.nmconnection 但是, 在CentOS7中, nmcli c a 和nmtui 生成的网络配置文件默认为 /etc/sysconfig/network-scripts/ 文件夹中的ifcfg-xxx
用nmtui 创建一个名为nm010 的配置, 用nmcli 创建一个名为nmcli010 的配置文件 它们生成在/etc/sysconfig/network-scripts/ 文件夹 配置文件名与连接名相关, 但生成配置文件后,修改连接名,配置文件名不会变
对应的内容,(内容可用,但不规范,只用于演示)
对应
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=ens33
UUID=477861f3-1631-4167-8540-e3dacd41698d
DEVICE=ens33
ONBOOT=yes
IPADDR=10.7.9.1
PREFIX=8
GATEWAY=10.82.10.12
DNS1=119.29.29.29
DNS2=114.114.114.114
DNS3=8.8.8.8
DNS4=9.9.9.9
DNS5=8.8.4.4
IPV6_PRIVACY=no
DOMAIN="qq.com ens33.ifcfg.network"
PEERDNS=no
IPADDR1=10.7.9.2
PREFIX1=16
IPADDR2=10.7.9.3
PREFIX2=24
DNS6=4.2.2.2
DNS7=1.1.1.1
上面这个ifcfg-ens33 一开始就有, 通过nmtui 修改
这个是用nmtui 生成的
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=10.7.9.1
PREFIX=24
IPADDR1=10.7.9.2
PREFIX1=24
GATEWAY=10.82.10.12
DNS1=180.76.76.76
DNS2=223.6.6.6
DNS3=119.29.29.29
DNS4=8.8.8.8
DNS5=9.9.9.9
DNS6=1.1.1.1
DNS7=223.5.5.5
DNS8=4.2.2.2
DNS9=4.2.2.1
DOMAIN="baidu.com nmtui010.nmtui"
DEFROUTE=yes
PEERDNS=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=nmtui010
UUID=95e52ced-7beb-4e67-90a6-e0bfe74e2686
DEVICE=ens33
ONBOOT=yes
这个使用nmcli 生成的
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
IPADDR=10.7.9.1
PREFIX=8
IPADDR1=10.7.9.2
PREFIX1=8
IPADDR2=10.7.9.3
PREFIX2=8
GATEWAY=10.82.10.12
DNS1=119.29.29.29
DNS2=223.6.6.6
DNS3=180.76.76.76
DNS4=8.8.8.8
DNS5=9.9.9.9
DNS6=1.1.1.1
DNS7=114.114.114.114
DOMAIN="qq.com nmcli010"
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=nmcli010
UUID=61dd866f-9b96-4181-a130-2039c2e20b99
DEVICE=ens33
ONBOOT=yes
附加一个 CentOS9Stream 的 CentOS9 的 nmtui 和nmcli 生成的文件不在 /etc/sysconfig/network-scripts/ 文件夹 而在/etc/NetworkManager/system-connections/ 文件夹 , 文件名不是ifcfg-xxx 而是xxx.nmconnection 对应的 xxx.nmconnection
[connection]
id=nmtui010
uuid=99b644f2-c647-44c4-a444-fd7e3652bdf2
type=ethernet
interface-name=ens33
[ethernet]
[ipv4]
address1=10.9.1.1/8,10.82.10.12
address2=10.9.1.2/8
address3=10.9.1.3/8
dns=223.6.6.6;180.76.76.76;119.29.29.29;8.8.8.8;9.9.9.9;1.1.1.1;114.114.114.114;4.2.2.2;4.2.2.1;223.5.5.5;
dns-search=alibaba.com;nmtui010;
ignore-auto-dns=true
method=manual
[ipv6]
addr-gen-mode=stable-privacy
method=auto
[proxy]
一些参考文档
NetworkManager官网 NetworkManager官网—man pages
wiki.archlinux.org—NetworkManager (简体中文) Archlinux的nmcli用例—nmcli-examples - usage examples of nmcli Archlinux的NMCLI(1)—nmcli - command-line tool for controlling NetworkManager
|