RHEL 5.5 udev persistent network 配置

2012-09-22 22:22:14 +08:00
 kemad
今天遇到一个问题,一台 RHEL 5.5 x64 的 服务器,有6块网卡,四块千兆,两块光纤。每次重启的时候,每块物理网卡的网卡名 (`ethX`) 都会发生变化,然后网络配置就不对了。网上找了很多资料,实体机也试了很多次,都没搞定 udev 的 persistent network 配置。回到家,virtualbox 上装了个 RHEL 5.5 x86, 通过不断 Google 和试验,终于成功了。希望下周实体机上,测试也能成功。先记录下配置过程。

1. 创建 70-persistent-net.rules 文件
```bash
cd /etc/udev/rules.d/
cat > 70-persistent-net.rules <<DELIM
KERNEL=="eth*", SYSFS{address}=="08:00:27:9c:7f:4a", NAME="net4"
KERNEL=="eth*", SYSFS{address}=="08:00:27:9c:7f:4b", NAME="net3"
KERNEL=="eth*", SYSFS{address}=="08:00:27:9c:7f:4c", NAME="net2"
KERNEL=="eth*", SYSFS{address}=="08:00:27:9c:7f:4d", NAME="net1"
DELIM
```
需要注意两个事情,MAC 地址必须使用小写;NAME 最好不要使用 `eth` 打头的命名规则,这可能会导致内核和 udev 冲突。

2. 备份并重新创建 `ifcfg-ethX` 文件
```bash
cd /etc/sysconfig/network-scripts/
mkdir olds
mv ifcfg-eth* olds

# ifcfg-net1
cat > ifcfg-net1 <<DELIM
DEVICE=net1
BOOTPROTO=dhcp
ONBOOT=yes
HOTPLUG=no
DELIM

# ifcfg-net2
cat > ifcfg-net2 <<DELIM
DEVICE=net2
BOOTPROTO=dhcp
ONBOOT=yes
HOTPLUG=no
DELIM

# ifcfg-net3
cat > ifcfg-net3 <<DELIM
DEVICE=net3
BOOTPROTO=dhcp
ONBOOT=yes
HOTPLUG=no
DELIM

# ifcfg-net4
cat > ifcfg-net4 <<DELIM
DEVICE=net4
BOOTPROTO=dhcp
ONBOOT=yes
HOTPLUG=no
DELIM
```

3. 使配置生效,一个办法是直接重启,还有一个办法,卸载然后重新载入网卡驱动,再重启网络服务。
```bash
# virtualbox 上只使用了 e1000 。
rmmod e1000
modprobe e1000
service network restart
```
3837 次点击
所在节点    Linux
2 条回复
halfbloodrock
2012-09-22 23:35:15 +08:00
RHEL6里网卡配置有一个UUID来绑定。不知道EL5支不支持了。
kemad
2012-09-23 00:40:18 +08:00
微软居然有个解答。
http://support.microsoft.com/kb/2665504

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/48506

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX