### 网卡重命名
https://www.freedesktop.org/software/systemd/man/systemd.link.html
systemd-udevd.service
方法1:
/etc/udev/rules.d/70-persistent-net.rules
方法2:
/etc/default/grub中,GRUB_CMDLINE_LINUX里添加参数net.ifnames=0 biosdevname=0 然后执行update-grub
实际原理:/lib/systemd/network/99-default.link使他不生效。
实际工作流程:
目前是有两个网卡分别是enp12s0和enp6s0,需要把enp12s0和enp6s0分别改成对应的eth0和eth1,由于内核在加载网卡驱动以后默认识别的网卡名字是eth0和eth1且由于加载过程的时间差会导致对应的eth0和eth1对应的两个硬件网卡是不固定的,系统默认自带的99-default.link会根据相应的规则进行改名把对应的网卡名固定成enp12s0和enp6s0两个网卡。现在需要把这两个网卡重命名成eth0和eth1,如果采用方法1的话会覆盖99-default.link的改名同时方法1识别到的网卡是eth0和eth1两个网卡如果在这两个网卡本身是乱序的情况下需要固定对应的网卡到对应的网卡名的话就会出现已经有了eth0和eth1,当出现乱序要重命名调换由于名字已经存在再重新改名会出现失败的情况所以该方法无效。同样方法2也面临同样的问题。
思路1:
默认采用99-default.link生成的两个网卡名enp12s0和enp6s0以后通过脚本的方式重命名成eth0和eth1.如果是使用networking.service做的网络配置的话,就可以在/lib/systemd/systemd/networking.service中添加ExecStartPre=/usr/bin/rename_ethernet.sh在脚本中做一次重命名的工作。
思路2:
屏蔽99-default.link的配置,然后通过方法1的思路去进行修改添加两个rules进行配置,10-rename-net.rules 98-rename-net.rules其中10-rename-net.rules 如果识别到的eth0和eth1是刚好符合硬件要求的就不需要修改,如果eth0和eth1对应的硬件网卡不一致eth0和eth1实际对应的网卡名需要掉换的情况下,我们可以通过10-rename-net.rules先把eth0改名成eth11,把eth1改名成eth10.在98-rename-net.rules中把对应的eth10改名成eth1,把eth11改名成eth0从而完成对应的eth0和eth1的名字调换过程。