服务器初始化的时候将网卡名字改成eth0
网卡名字千奇百怪
有默认的eth0,有ens33,有enp164932等
下面方法可以取出网卡名称
方法1
ip a | grep '^[0-9]' |awk -F': ' '{print $2}' | grep -v lo
方法2
ip a | sed -r -n 's/^[0-9]+: (.*):.*/\1/p' | grep -v lo
方法3
ip a | grep 'group default qlen 1000' | awk -F ': ' '{print $2}' | grep -v lo
综合下来就是:
sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"/g' /etc/default/grub
update-grub
a=$(ip a | grep 'group default qlen 1000' | awk -F ': ' '{print $2}' | grep -v lo)
sed -i "s/$a/eth0/g" /etc/netplan/00-installer-config.yaml
记得重启
改了改了
公司突然用服务器做LINUX服务器,不搭载ESXi了,这个时候,网卡有3-4个.上面这个就不行了..
要用这个
ip a | grep 'BROADCAST,MULTICAST,UP,LOWER_UP' | awk -F ': ' '{print $2}'
完成体
sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"/g' /etc/default/grub
update-grub
a=$(ip a | grep 'BROADCAST,MULTICAST,UP,LOWER_UP' | awk -F ': ' '{print $2}')
sed -i "s/$a/eth0/g" /etc/netplan/00-installer-config.yaml
记得重启
如果想顺便禁用一下ipv6
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT=""/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"/g' /etc/default/grub
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"/g' /etc/default/grub
sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="ipv6.disable=1 net.ifnames=0 biosdevname=0"/g' /etc/default/grub
sed -i 's/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"/GRUB_CMDLINE_LINUX="ipv6.disable=1 net.ifnames=0 biosdevname=0"/g' /etc/default/grub
sudo update-grub
a=$(ip a | grep 'BROADCAST,MULTICAST,UP,LOWER_UP' | awk -F ': ' '{print $2}')
sed -i "s/$a/eth0/g" /etc/netplan/00-installer-config.yaml
当然要重启生效
感谢陈大佬的大力支持
https://blog.csdn.net/u010383467/article/details/118213446?spm=1001.2014.3001.5501