通常我们使用更改修改配置文件的方式修改网络配置,最近发现了一种方法可以快捷直观地修改网络配置。
在终端中输入“ nmtui ”命令以打开网络管理器。打开网络管理器后,选择“编辑连接 ”,然后按Enter。通过键盘选择选项,像图形界面一样快速编辑网络吧。
交互式界面虽然配置方便,但是弄清楚背后文件地变化也还是很重要的。
当前主机使用的是静态IP,配置文件如下
cat /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
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=ens32
UUID=bdea7df4-6811-4f32-9c5e-293e245740c1
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.199.108
PREFIX=24
GATEWAY=192.168.199.1
DNS1=114.114.114.114
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no
查看当前的配置文件
cat /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
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=ens32
UUID=bdea7df4-6811-4f32-9c5e-293e245740c1
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.199.108
PREFIX=24
GATEWAY=192.168.199.1
DNS1=114.114.114.114
IPV6_PRIVACY=no
PROXY_METHOD=none
BROWSER_ONLY=no
使用diff 查看两者的区别
2c2
< BOOTPROTO=none
---
> BOOTPROTO=dhcp
18,19d17
< IPV6_PEERDNS=yes
< IPV6_PEERROUTES=yes
20a19,21
> PROXY_METHOD=none
> BROWSER_ONLY=no
>
可以发现原先配置的静态地址相关语句并未消失,因为原先使用nmtui配置时并未将相关内容清除。
变化的在于
BOOTPROTO变成了dhcp以及一些IPv6相关的内容发生了变化
现在再将网卡由DHCP获取IP的方式改为静态IP
配置文件变化为
cat /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
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=ens32
UUID=bdea7df4-6811-4f32-9c5e-293e245740c1
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.199.108
PREFIX=24
GATEWAY=192.168.199.1
DNS1=114.114.114.114
IPV6_PRIVACY=no
PROXY_METHOD=none
BROWSER_ONLY=no
使用diff检查两个文件的不同
2c3
< BOOTPROTO=dhcp
---
> BOOTPROTO=none
文件的区别在于将dhcp换成了none,由于网络先前是静态变成了dhcp再变回了静态,由于BOOTPROTO作为总开关,很多配置内容保留了下来,不能看出区别,因此重新添加一块网卡进行试验来判断区别。
添加了一块网卡后,使用nmcli d查看,发现网卡(ens36)已经激活,查看配置文件
新添加的网卡并没有配置文件,需要使用命令手动生成
nmcli con add con-name ens36 type ethernet ifname ens36
使用nmcli conn 查看新网卡UUID,并替换配置文件中的UUID
查看此时的配置文件
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=ens36
UUID=ff3f575d-a66e-4dc3-9efd-6f7c54fa6c98
DEVICE=ens36
ONBOOT=yes
使用nmtui设置为静态地址后
进入nmtui后发现由两个新连接,保留名称为ens36的新连接,删除另一个
编辑连接,修改为静态连接
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=ens36
UUID=ff3f575d-a66e-4dc3-9efd-6f7c54fa6c98
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.199.117
PREFIX=24
GATEWAY=192.168.199.1
DNS1=114.114.114.114
使用diff比较不同
4c4
< BOOTPROTO=dhcp
---
> BOOTPROTO=none
15a16,19
> IPADDR=192.168.199.117
> PREFIX=24
> GATEWAY=192.168.199.1
> DNS1=114.114.114.114
可以发现配置文件中将dhcp改为了none,添加ip、CIDR地址长度、网关和DNS1
总结一下,将网卡由dhcp变为静态ip,需要修改BOOTPROTO变量值为none,并根据实际情况添加相关参数。将静态IP变为dhcp,修改BOOTPROTO值为dhcp即可。