这让我很抓狂。我有一个 CentOS 7 系统。它充当所连接网络的 DHCP,运行 Cobbler 和 PXE,但它不是网关。它是我网络的主要文件服务器。
我有一个配置为静态的板载网络适配器,它也是分发 DHCP 的适配器:
# Generated by dracut initrd
NAME="enp5s0f0"
DEVICE="enp5s0f0"
ONBOOT=yes
NM_CONTROLLED=no
#NETBOOT=yes
UUID="82b4ef5d-6c06-43f1-a0fe-7b5fcdd1fc4f"
#IPV6INIT=yes
BOOTPROTO=static
IPADDR=10.101.24.21
NETMASK=255.255.252.0
TYPE=Ethernet
GATEWAY=10.101.24.1
该适配器大约每周一次决定要覆盖静态配置的 IP,并获取 DHCP 地址。启动后不会。只是待在那里。正常运行。此时,我必须亲自走到终端或使用 IPMI 登录以输入:
systemctl restart network
这又将其带回到静态地址。有人知道发生了什么吗?
答案1
该BOOTPROTO
参数仅接受以下值:
BOOTPROTO=protocol ## where protocol is one of the following:
none — No boot-time protocol should be used.
bootp — The BOOTP protocol should be used.
dhcp — The DHCP protocol should be used.
根据 RHEL 网络文档。Dracut 可能使用其 ifcfg 模块运行网络初始化脚本并将其设置为默认值,dhcp
因为它不知道这static
意味着什么。您也可以尝试省略ifcfg
dracut 中的模块,看看是否也能达到您的预期效果。
答案2
我的问题是,我的 centos 已作为虚拟主机迁移了两次。此后,我的服务器开始决定使用 dhcp 地址,而不是静态分配的地址。
最后我完全删除了“UUID”行,这似乎已经为我解决了问题。所以也许在你的情况下你的网卡已经获得了一个新的 UUID,这就是问题所在?
不过,这些只是我的猜测。谨致问候 Charlie