在 ubuntu 10.10 中将 ra0 更改为 wlan0

在 ubuntu 10.10 中将 ra0 更改为 wlan0

我正在尝试找到一种方法将我的 Ralink 接口的名称更改为通常的 wlan0。

我使用的应用程序正在寻找这个接口,但是由于我们将 wifi 适配器从英特尔更改为 ralink,因此我们错过了 wlan0,因为 Ralink 使用 ra0。

在所有论坛和博客上,我都看到需要在 /etc/sysconfig/network-scripts/ifcfg-ra0 中更改该设置。遗憾的是,Ubuntu 没有 /etc/sysconfig 文件夹。

答案1

设备名称由内核创建,但您可以向 udev 添加规则,以便将接口重命名为所需的设备。

首先备份你的配置文件

sudo cp /etc/udev/rules.d/70-persistent-net.rules /tmp/70-persistent-net.rules

如果出现问题,您可以使用以下命令恢复到原始状态:

sudo cp /tmp/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules

编辑 udev 规则目录中的文件 70-persistent-net.rules:

sudo nano /etc/udev/rules.d/70-persistent-net.rules

找到与您的持久网络设备相对应的行,如下所示:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="ra*", NAME="ra0"

将名称值更改为想要的名称,这样您将得到如下一行:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="ra*", NAME="wlan0"

然后重新启动计算机并检查是否有正确的接口名称。

答案2

设备名称由内核设置,并由 udev 重命名为人类可读的值。udev 将运行 /lib/udev/rules/ 中的 75-persistent-net-generator.rules 脚本,该脚本将在 /etc/udev/rules.d/ 中生成规则文件 70-persistent-net.rules

此生成器脚本将为内核识别的每个网络适配器向 70-persistent-net.rules 文件添加新规则。当您更换网卡(规则为 eth0)时,旧卡不会从规则中删除,但会添加新卡(eth1)。

在我的情况下,网络适配器不断变化。硬盘被复制并放置在另一台具有完全相同设置的计算机上,但 MAC 地址每次都会不同。但是计算机中的位置 (PCIe) 每次都会相同。我做了以下事情:

我通过从 udev 中删除规则生成器来关闭它,但为了备份目的将其移动:

sudo mv /lib/udev/rules.d/75-persistent-net-generator.rules /home/user/backup/

规则将不再生成。然后我编辑了 udev 规则:

sudo nano /etc/udev/rules.d/70-persistent-net.rules

我删除了生成器设置的规则并将其替换为:

ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:1c.0", NAME="eth0"
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:1c.1", NAME="eth1"
ACTION=="add", SUBSYSTEM=="net", ATTR{type}==”1”, KERNEL=="ra*", NAME="wlan0"

现在我的PCIe总线上的两张网卡分别名为eth0和eth1,当我更换它们时,它们将保持不变。

最后一行将回答我的问题。内核传递的具有 ra* 名称的适配器将重命名为 wlan0。在 /etc/network/interfaces 中,我可以调用“iface wlan0 inet dhcp”!

对我来说,这是一个可行的解决方案。我可以复制这个硬盘并将其放入另一台具有相同设置的机器中。而且它有效!现在我可以

相关内容