![CentOS7 的 NetworkManager 问题 - 接口配置为静态(手动)但与 DHCP 交互](https://linux22.com/image/750379/CentOS7%20%E7%9A%84%20NetworkManager%20%E9%97%AE%E9%A2%98%20-%20%E6%8E%A5%E5%8F%A3%E9%85%8D%E7%BD%AE%E4%B8%BA%E9%9D%99%E6%80%81%EF%BC%88%E6%89%8B%E5%8A%A8%EF%BC%89%E4%BD%86%E4%B8%8E%20DHCP%20%E4%BA%A4%E4%BA%92.png)
我在 CentOS7 上使用 NetworkManager 时遇到问题(我知道,但我必须使用它,因为原因:(。
我有一个配置了静态 IP 的虚拟机网络接口。它现在已经工作了一段时间。上周我进行了重启,备份时服务器的 IP 发生了变化。
在 /var/log/messages 中发现 NetworkManager 确实与 dhcp 服务器进行了交互:
Mar 5 19:55:42 hostname dhclient[18720]: DHCPREQUEST on ens160 to *.*.*.* port 67 (xid=0x7ce97e61)
Mar 5 19:55:42 hostname dhclient[18720]: DHCPACK from *.*.*.* (xid=0x7ce97e61)
Mar 5 19:55:42 hostname NetworkManager[756]: <info> [1583434542.6372] dhcp4 (ens160): address TheNewIPaddress
Mar 5 19:55:42 hostname NetworkManager[756]: <info> [1583434542.6377] dhcp4 (ens160): plen 24 (255.255.255.0)
Mar 5 19:55:42 hostname NetworkManager[756]: <info> [1583434542.6377] dhcp4 (ens160): gateway *.*.*.*
Mar 5 19:55:42 hostname NetworkManager[756]: <info> [1583434542.6377] dhcp4 (ens160): lease time 86400
Mar 5 19:55:42 hostname NetworkManager[756]: <info> [1583434542.6377] dhcp4 (ens160): nameserver '*.*.*.*'
Mar 5 19:55:42 hostname NetworkManager[756]: <info> [1583434542.6377] dhcp4 (ens160): nameserver '*.*.*.*'
Mar 5 19:55:42 hostname NetworkManager[756]: <info> [1583434542.6377] dhcp4 (ens160): domain name 'domain.name'
Mar 5 19:55:42 hostname NetworkManager[756]: <info> [1583434542.6377] dhcp4 (ens160): state changed bound -> bound
Mar 5 19:55:42 hostname nm-dispatcher: req:1 'dhcp4-change' [ens160]: new request (3 scripts)
Mar 5 19:55:42 hostname nm-dispatcher: req:1 'dhcp4-change' [ens160]: start running ordered scripts...
我不知道为什么因为它配置为
ipv4.method: manual
和
nmcli c s ens160 | grep -i dhcp
ipv4.dhcp-client-id: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv6.dhcp-duid: --
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname:
--
以下是 /etc/sysconfig/network-scripts/ifcfg-ens160 的内容:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME=ens160
UUID=someuuid
DEVICE=ens160
ONBOOT=yes
IPADDR=TheNewIpFromDHCP
PREFIX=24
GATEWAY=mygateway
DNS1=mydns1
DNS2=mydnhs2
ZONE=public
现在,为了测试,我已第二次重新启动,这次地址没有改变。
你们知道是什么原因造成的吗?我只需要它与我提供的 IP 保持静态。
提前致谢。
答案1
您确定您看到的配置文件已被激活吗?
如果您设置了ipv4.method=manual
,那么 NetworkManager 似乎不太可能使用该配置文件执行 DHCP。
使用 查看所有配置文件,nmcli connection
并查看当前使用 激活的内容nmcli device
。
除此之外,请查看日志,除了您粘贴的部分之外,它还说了什么。通过设置启用详细日志记录level=TRACE
。