linux 修改网卡名-自动化运维linux

简介: 脚本自动修改网卡名为 eth0
#!/bin/bash
ip=$(ip add | grep -w  "BROADCAST" | awk -F":" 'NR==1{print $2}' | sed s/[[:space:]]//g)
echo "网卡名称为:" $ip
                        # 定义一个变量IP 为:
                        # 查看网卡信息,grep -w 以文档形式匹配单词:flags
                        # awk -F:  指定冒号为分隔符
                        # NR==1得到结果后赛选第一行; {print $1} 打印第一列;
                        # 相当于坐标第一行第一列 :'NR==1 (print$1)'
                        # sed s/[[:space:]]//g 删除所有空格
ifcfg=$(find /etc -name *$ip)
echo "网卡路径为:" $ifcfg
                        # 定义一个变量ifcfg 他的值为另一个另一个变量
                        # find /etc   在etc  目录下去找名字为:
                        # *$ip为模糊匹配:星号是该名字前还有字符
 
named=eth0
                                                # 修改网卡为eth0
sed -i "s/NAME.*/NAME=$named/g" $ifcfg
sed -i "s/DEVICE.*/DEVICE=$named/g" $ifcfg
newifcfg=$(echo $ifcfg | sed 's/ifcfg.*/ifcfg-'$named'/g')
                        # 使用管道修改变量字符串
echo "新网卡名为:" $newifcfg
mv $ifcfg $newifcfg
grub=$(grep -r biosdevname /etc/default | awk -F = '{print $0}')
                            # 定义变量grub 编辑
                            # grep -r 查看字符串为biosdevname,  在路径  
                            # awk -F 分段显示全部
if [[ "$grub" = ""  ]]
then
sed -i 's/crashkernel/crashkernel=auto net.ifnames=0 biosdevname=0/g'  /etc/default/grub
                                                        # 修改
echo "$grub修改后该行内容为:" $grub
else
echo "greb 文件已经修改,无需操作"
fi
                            # 修改
grub2-mkconfig -o /boot/grub2/grub.cfg 
                            # 运行
mac=$(ifconfig | grep -w ether | awk -F" " 'NR==1{print$2}')
                            # 获取 mac 地址:
                            # grep -w 匹配单词,-w 以world 文本方式匹配inet6单词
                            # awk -F指定分隔符符号为空格
                            # NR==1{print $1} 坐标,行号为1行,打印第一列
echo "主网卡mac 地址为:$mac"
touch /etc/udev/rules.d/70-persistent-net.rules 
rules=$(grep -r net /etc/udev/rules.d/70-persistent-net.rules | awk -F = '{print$0}' )
if [[ "$rules"="" ]]
then
echo "
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}==$mac,ATTR{type}=="1" ,KERNEL=="eth*",NAME=$named
" >>/etc/udev/rules.d/70-persistent-net.rules
else
echo "/etc/udev/rules.d/70-persistent-net.rules
配置文件存在,不需要修改
 "
fi
rm -rf 1.sh
echo "网卡名已经修改为:$named ; 即将删除此脚本并重新启动"
reboot
sed -i '/^$/d' 1.sh ; chmod 755 1.sh ; ./1.sh
目录
相关文章
|
1月前
|
网络协议 Ubuntu Linux
Linux 动态/静态配置ip网卡信息
Linux 动态/静态配置ip网卡信息
36 0
|
2月前
|
网络协议 Linux 网络安全
Linux修改网卡信息——保姆式操作流程
Linux修改网卡信息——保姆式操作流程
67 0
|
1月前
|
IDE Linux 编译器
【Linux】项目自动化构建工具 —— make/Makefile
【Linux】项目自动化构建工具 —— make/Makefile
|
2月前
|
IDE Linux 开发工具
【Linux】Linux项目自动化构建工具-make/Makefile
【Linux】Linux项目自动化构建工具-make/Makefile
【Linux】Linux项目自动化构建工具-make/Makefile
|
1月前
|
IDE 小程序 Linux
【linux】Linux项目自动化构建工具-make/Makefile
【linux】Linux项目自动化构建工具-make/Makefile
26 0
|
1天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
10 0
|
17天前
|
域名解析 监控 网络协议
Linux网卡与IP地址:通往网络世界的通行证 🌐
探索Linux网卡与IP地址关系,理解网卡作为网络通信的关键。Linux网卡需配置IP地址以实现唯一标识、通信、路由、安全管理和网络服务。无IP地址时,网卡在特定情况如局域网服务、网络监控、无线认证和网络启动可有限工作,但通用功能受限。配置IP地址通常通过`ifconfig`(传统)或`ip`(现代)命令,永久配置需编辑网络配置文件。配置错误如IP冲突、子网掩码错误、默认网关和DNS配置不当可能导致服务中断、网络拥堵、安全漏洞和数据丢失。重视网络配置的正确与安全至关重要。
Linux网卡与IP地址:通往网络世界的通行证 🌐
|
20天前
|
运维 Linux Shell
linux运维常用命令
linux运维常用命令
|
27天前
|
运维 监控 Linux
linux脚本自动化运维任务
Linux自动化运维通过脚本提升效率,涵盖服务管理(启停服务、异常恢复)、系统监控(资源警报)、日志管理(清理分析)、备份恢复、补丁更新、自动化部署(如Ansible)、网络管理、定时任务(cron)和故障排查。结合shell、Python及工具,形成高效运维体系。
21 3
|
1月前
|
监控 网络协议 Linux
Linux 命令大全 & CentOS常用运维命令
Linux 命令大全 & CentOS常用运维命令
150 0