Linux修改网卡名为eth0并配置IP地址脚本(CentOS和Ubuntu 通适)
Posted 白-胖-子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux修改网卡名为eth0并配置IP地址脚本(CentOS和Ubuntu 通适)相关的知识,希望对你有一定的参考价值。
#!/bin/bash
#
##$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
## Author: sunmy
## MAil: 8528379[@]sina.com
## Date: 2021-8-8
## FileName:setNew_CU_v2.sh
## URL: www.sunmy.pro
## Description:Auto optimize script of linux running in production.
## Copyright (C): 2021 All rights reserved
##$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
##修改网卡配置文件
#修改网卡名称配置文件
# sed -ir '/GRUB_CMDLINE_LINUX/s/"$/ net.ifnames=0"/p' /etc/default/grub
# grub2-mkconfig -o /etc/grub2.cfg
# echo 设置完成请重新启动系统
IP=`hostname -I | awk '{print $1}'`
linux_version() {
awk -F'"|[.]' '/^VERSION_ID/{print $2}' /etc/os-release
}
## centOS
set_ethc(){
sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg >& /dev/null
}
set_ipc(){
ETHNAME=`ip addr | sed -nr '/^2/s#^.* ([a-z]+[0-9]+).*#\\1#p' | head -n1`
mv /etc/sysconfig/network-scripts/ifcfg-${ETHNAME} /etc/sysconfig/network-scripts/ifcfg-${ETHNAME}.bak &>/dev/null
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
DEVICE=eth0
NAME=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=$IP
PREFIX=24
GATEWAY=10.0.0.2
DNS1=10.0.0.88
#DNS1=223.5.5.5
#DNS2=223.6.6.6
EOF
echo "IP地址已修改成功,请重新启动系统后才能生效!"
}
## ubuntu
set_ethu(){
sed -ri.bak '/GRUB_CMDLINE_LINUX=""/s@"(.*)"@"net.ifnames=0 biosdevname=0"@' /etc/default/grub
grub-mkconfig -o /boot/grub/grub.cfg
}
set_ipu(){
cat > /etc/netplan/01-eht0-netcfg.yaml <<EOF
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses: [$IP/24]
gateway4: 10.0.0.2
nameservers:
addresses: [10.0.0.88,223.5.5.5, 223.6.6.6]
EOF
}
set_eth_ip(){
if [ $(linux_version) -eq 6 ];then
set_ipc
elif [ $(linux_version) -eq 7|8 ];then
set_ethc
set_ipc
elif [ $(linux_version) -eq 18|20 ];then
set_ethu
set_ipu
else
echo "WTF"
fi
}
set_eth_ip
- 更新1:
- 版本判断这地方有问题,不能直接写或 | ,
elif [ $(linux_version) -eq 7|8 ];then # 不能直接或
set_ethc
set_ipc
elif [ $(linux_version) -eq 18|20 ];then # 不能直接或
set_ethu
set_ipu
- 如果写正则或者通配符之类的,需要使用双中括号
elif [[ $(linux_version) =~ 7|8 ]];then # 不能直接或
set_ethc
set_ipc
elif [[ $(linux_version) =~ 18|20 ]];then # 不能直接或
set_ethu
set_ipu
以上是关于Linux修改网卡名为eth0并配置IP地址脚本(CentOS和Ubuntu 通适)的主要内容,如果未能解决你的问题,请参考以下文章