我知道很多人喜欢禁用 NetworkManager,但我认为它不会消失,所以我决定尝试学习如何正确使用它。我想我会从一些简单的事情开始,比如设置静态 IP。
我更新了/etc/sysconfig/network-scripts/ifcfg-eth0
设置以匹配我想要的设置,然后保存了文件。据我所知,NetworkManager 应该立即更新设置,但事实并非如此。事实上,在重新启动 NM 和重新启动后,eth0 仍继续使用 dhcp。我使用的是 Fedora 18 的最小安装,并且安装了 dhcp,但尚未配置它。ifconfig 不再是最小安装的一部分,显然它正走向弃用。
下面是我的 ifcfg-eth0 文件。
HWADDR=00:0C:29:DF:87:72
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=b15e1bf2-60b5-4469-9c68-88ae05e33301
ONBOOT=yes
IPADDR=10.0.0.1
NETMASK=255.255.255.0
GATEWAY=10.0.0.254
DNS1=10.0.0.1
DNS2=8.8.8.8
以下是 ip addr 的输出:
#ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:24:75:2f brd ff:ff:ff:ff:ff:ff
inet 10.0.0.129/24 brd 10.0.0.255 scope global eth0
inet6 fe80::20c:29ff:fe24:752f/64 scope link
valid_lft forever preferred_lft forever
以下是 /etc/sysconfig/network:
NETWORKING=yes
答案1
实际接口的 MAC 地址与配置的 ifcfg 脚本不同。它可能会因为 MAC 不匹配而忽略脚本。这通常是一种安全措施,以避免在 ifcfg-eth# 名称发生变化时将 IP 地址添加到错误的接口。
尝试将HWADDR
文件中的行更新为HWADDR=00:0c:29:24:75:2f
。如果这不是您期望的 MAC(因为如果此系统有 2 个 NIC,名称可能会更改),您可能还想签出该/etc/udev/rules.d/70-persistent-net.rules
文件。
最后要注意的是,这是我对 RHEL 5/6 的了解,看起来UUID
您最新的 Fedora 实现中也存在这个问题。如果修复 MAC 后仍然有问题,您可以尝试删除 UUID(我不确定如何在 Fedora 上验证这一点)。
答案2
该目录中的脚本由“网络”服务使用,而不是 NetworkManager。您可以选择要使用哪个。“网络”适用于网络配置很少更改的服务器。您需要禁用 NetworkManager 才能使用网络。
要编辑 NetworkManager 设置,请使用 nmcli 工具或 GUI。