我有一个带有两个网络接口的 Linux 系统(Slackware Linux 13.0)。我们称它们为 NIC0 和 NIC1
我的目标是让 NIC0 在系统中显示为 eth0。
我知道这可以通过将网络别名映射到网络接口的 MAC 地址的 udev 规则来实现。在 Slackware Linux 中,文件/etc/udev/rules.d/70-persistent-net.rules包含此类规则。
我的问题中最棘手的部分是我需要伪造 NIC0 的 MAC 地址。我知道我可以使用以下命令动态更改网络接口的 MAC 地址:
ifconfig eth0 hw ether <new MAC address>
你看到问题了吗?这假设已经设置了网络接口。
所以我的问题是:如果我有一个用于 NIC1 的 udev 规则(将作为 eth1 使用其原始 MAC 地址的规则),系统将另一个网络接口(NIC0)作为 eth0 就足够了默认?这样我可以稍后在 udev 机器完成并启动网络别名后更改其 MAC 地址。
我使用 Slackware 10 作为参考,因此配置文件可能会略有不同。
/etc/rc.d/rc.inet1
是网络接口的初始化脚本,这是我开始自定义任何开始时间网络配置的地方。看起来这个初始化脚本没有任何指定硬件地址的逻辑。但是,一个简单的修改应该能够启用此功能。
至于您的具体问题,我想您是在问,在 udev 中将 NIC1 指定为 eth1 是否会导致 NIC0 默认为 eth0?如果是这样:可能,但我建议对此进行测试。否则,请澄清。