【网络】修改网口名字|网络设备|网口管理

目录

系统的网口(网络设备)命名规则

修改网口(网络设备)命名

永久修改

临时修改

使用传统eth0、eth1的命名方式

注意事项


系统的网口(网络设备)命名规则

ens35f0 这个名称是基于 Linux 的网络接口命名规则生成的。

在较新的 Linux 发行版中,网络接口的命名规则由 systemd 和 udev 进行管理。以下是 ens35f0 名称的大致解释:

  • en 表示以太网(Ethernet)接口。
  • s 表示设备的类型,其中 s 代表 hot-pluggable PCI Express(热插拔 PCI Express 设备)。
  • 35 是 PCI Express 插槽的索引号。
  • f0 是在插槽索引号后面的附加标识符。它可以是固定的,也可能是基于设备信息和规则动态生成的。

这个命名规则的目的是提供对网络接口的唯一标识,并且可以基于设备硬件、插槽位置等信息进行实现。命名约定可能因不同的 Linux 发行版和系统配置而有所不同。

请注意,这只是一种命名规则示例,实际的命名规则可能因发行版、硬件和配置而有所不同。要了解特定系统上的接口命名规则,可以查看 /etc/udev/rules.d/ 目录中的相应规则文件,或者使用命令 udevadm info -a -p /sys/class/net/ens35f0 获取更多信息。

修改网口(网络设备)命名

永久修改

修改  /etc/udev/rules.d/70-persistent-net.rules  文件(如果没有就创建),添加规则:

1,备份

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

2,修改

SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”,ATTR{address}==”XX:XX:XX:XX:XX:XX”, ATTR{dev_id}==”0x0″,ATTR{type}==”1″,NAME=”eth0″的ATTR{dev_id}==”0x0″

例如:

vim /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:d4:ab:67",ATTR{type}=="1", KERNEL=="eth*", NAME="ens1f0"

SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:af:2b:37",ATTR{type}=="1", KERNEL=="eth*", NAME="ens1f1"

3,修改完成之后,重启udev服务或者重启计算机

sudo systemctl restart udev

或者(未验证)

然后重启一下网卡和udev:

--ifdown 网卡:

ifdown eth0

ifdown eth1

--重启udev

/etc/init.d/udev-post stop;

/etc/init.d/udev-post start

或者使用:

service udev-post stop
service udev-post start

规则说明:

  • SUBSYSTEM=="net":指定该规则只对网络子系统(net)生效。
  • ACTION=="add":指定该规则在网络接口添加至系统时生效(比如在启动时或插入一个USB网卡时)。
  • DRIVERS=="?*":适配任何驱动程序。这里的 ?* 是一个通配符,表示匹配一个或多个字符的任何驱动。
  • ATTR{address}=="XX:XX:XX:XX:XX:XX":指定该规则仅适用于MAC地址为 XX:XX:XX:XX:XX:XX 的设备。你需要用实际的MAC地址来替换这里的 XX:XX:XX:XX:XX:XX
  • ATTR{dev_id}=="0x0":这是过滤条件之一,要求设备的ID必须是 0x0。这个属性在某些情况下用于区分不同类型的网络设备。
  • ATTR{type}=="1":这个条件指设备类型得是 1,对于网络设备, 1 通常意味着是以太网设备。
  • NAME="eth0":将匹配的设备命名为 eth0。这意味着满足上述所有条件的设备将被赋予设备名称 eth0
  • 70-persistent-net.rules 前面70的含义,数字高的规则覆盖数字低 的规则,例如你再写一个75-persistent-net.rules规则,则75的规则覆盖70的规则。

综上所述,这条规则的效果是:如果系统检测到添加了一个新的网络设备,这个设备使用任何驱动、具有特定的MAC地址、dev_id 为 0x0、设备类型为 1,那么udev会自动将这个设备的网络接口命名为 eth0。这样做的目的是为了保证设备名称的持久性,以便在系统重启或网络接口断开再连接后设备名称不会变化。

备注:现代的Linux发行版可能不再使用 /etc/udev/rules.d/70-persistent-net.rules 文件来持久化网络设备名称,而是使用 systemd 的 link 文件或其他命名策略。

临时修改

sudo ip link set dev eth1 down 

sudo ip link set dev eth1 name eth2

sudo ip link set dev eth2 up

或者

ifconfig eth1 down

ifconfig eth1 name eth2

ifconfig eth2 up

使用传统eth0、eth1的命名方式

禁用Predictable Network Interface Names

新一代的Linux系统通常使用Predictable Network Interface Names(可预测的网络接口名称)策略,如果你更喜欢传统的如eth0、eth1这样的命名方式,可以禁用这一功能:

  1. 在启动时给内核添加参数net.ifnames=0

    如果你使用的是GRUB作为引导器,在/etc/default/grub文件中找到GRUB_CMDLINE_LINUX变量并将net.ifnames=0添加到这一行中去。

GRUB_CMDLINE_LINUX="... net.ifnames=0 biosdevname=0"

修改文件后,更新GRUB配置:

sudo update-grub

  1. 重新启动计算机。

注意事项

请在编辑任何网络配置或udev规则之前备份原有的文件,这样如果操作出现错误或系统无法正常启动,你可以恢复到原始状态。而且,修改网络配置可能会临时中断远程连接,因此如果你是通过远程连接访问系统,请在现场或配置了备用访问方式的情况下执行这类修改。

你可能感兴趣的:(网络,服务器,linux)