我有一个简单的问题。我有一台运行 Ubuntu server 8.04 LTS 的计算机,有 2 个网卡。一个在主板上,用于连接互联网,一个 PCI 卡用于连接内部网络。在安装过程中,它将主板上的网卡检测为 eth1,将 PCI 卡检测为 eth0。我希望反过来。特别是因为 PCI 网卡不会被主机服务器使用,只会被运行在其上的一些虚拟机使用。
因此,目前机器启动时会激活 eth1(主板 NIC),并通过 dhcp 获取 IP,同时保留 eth0(PCI NIC)。这正是我想要的,除了 eth0 和 eth1 切换之外。
谢谢。
答案1
正如 tzafrir.net 所述,无需多言,在包含 Ubuntu 的基于 Debian 的系统上,您需要检查文件/etc/udev/rules.d/70-persistent-net.rules
,您会发现类似以下内容的一行:
# PCI device 0x14e4:0x170c (b44)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:c5:6d:b1:9e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
您显然会找到一个NAME="eth0"另一个“名称=eth1”但每个都有各自的 MAC 地址。您只需交换值NAME
并重新启动计算机,系统就会重命名它们。您甚至可以为它们命名不同的名称,例如wan
或lan
只要您的路由和其他配置使用相同的名称,这都没关系。
在基于 RedHat 的系统(包括 Fedora 和 CentOS)上,这可以通过更改HWADDR
相应/etc/sysconfig/network-scripts/ifcfg-ethX
文件中找到的行来实现。
其目的是在重新启动时保持相同的 NIC,因为内核过去已知会改变 PCI 卡的寻址顺序,从而可以交换 NIC 顺序。
答案2
您可以轻松地在 /etc/udev/rules.d/70-persistent-net.rules 中更改这两个设备的名称