例如,在 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
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 维基