如何为界面添加替代名称?

如何为界面添加替代名称?

例如,在 Ubuntu 16.04 服务器上,我希望为 eth0 使用另一个名称。

答案1

您可能想看看新的 iproute2网络接口替代名称特征 (ip link altname)。请注意,自该文章以来,命令语法似乎已发生变化。例如:

ip link property add dev eth0 altname someothername

请注意,这是非常新的,您需要最新版本iproute2才能工作(v5.4.0如果我正确阅读 git 日志,该版本于 2019 年 11 月 25 日发布)。

答案2

man ip 链接

   alias NAME
          give the device a symbolic name for easy reference.

为接口指定别名的示例lo

$ sudo ip link set lo alias mycustomaliasforlo
$ ip link show lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    alias mycustomaliasforlo

但是,请注意,这仅创建符号引用,这意味着您不能使用此别名作为真实的设备名称。例如,以下操作将失败:

$ ip link show mycustomaliasforlo
Device "mycustomaliasforlo" does not exist.

答案3

通过恢复到 udev 规则来更改 Ubuntu 16 上的网卡名称。

软件: 在虚拟机中全新安装带有 sshd 的 Ubuntu 16.04.3 服务器。未更新

我是如何来到这里的:

无法获取任何系统工作说明。我看起来好像正在使用 systemd,但不高兴

未安装网络管理器,因此不会受到它的干​​扰。

步骤1

net.ifnames=0通过添加到内核命令行来停止 systemd 的可预测网络接口名称。

sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX="net.ifnames=0"

使用新信息更新 grub:

sudo grub-mkconfig -o /boot/grub/grub.cfg

笔记:

我已经看到biosdevname=0除了net.ifnames=0.此设置不需要它。

第2步:

通过创建新的规则文件,使用 udev 规则分配新名称。

sudo vi /etc/udev/rules.d/10-myCustom-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:f3:79:59", KERNEL=="eth*", NAME="test0

调整系统的 MAC 地址和名称。

笔记:

ATTR{dev_id}=="0x0"ATTR{type}=="1"我的 Ubuntu 14 模板中删除。

有人说删除KERNEL=="eth*"或忽略整行。在此设置中情况并非如此。

如果您像我一样因为在这一步之前重新启动而“丢失”了 MAC 地址,并且 ifconfig 没有显示,请在/sys/class/net/assignedName/address.顺便说一句:这个系统将其重命名为 eth0,cat /sys/class/net/eth0/address

/etc/udev/rules.d/70-persistent-net.rules是在 <= Ubuntu 14 中自动创建的文件。

步骤3:

为新接口名称分配地址

sudo vi /etc/network/interfaces

auto test0
iface test0 inet static
    address 192.168.2.202
    netmask 255.255.255.0

步骤4:

重新启动(对我们大多数人来说更容易)

一如既往地验证所有文件位置你的执行任何命令之前的系统。

答案4

网络工具方法:

您可以将网络别名添加到您的eth0界面:

ifconfig eth0:0 192.168.1.200 up

验证一下ifconfig

eth0:0: flags=-28669<UP,BROADCAST,MULTICAST,DYNAMIC>  mtu 1500
        inet 192.168.1.200  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 34:07:cc:6f:82:5f  txqueuelen 1000  (Ethernet)

您可以eth0:0在您的/etc/network/interfaces

auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
    address 192.168.1.200
    netmask 255.255.255.0

不要添加“网关”或“dns 名称服务器”

iproute2 方法Debian 维基

相关内容