背景
由于服务器网卡获取ip异常,需要对做bond网卡进行相关网络操作,
bond网卡操作
正常执行nmlic命令,环境问题对要执行的网卡本身只有四行命令,
为了防止出现多业务网卡和vlan主网卡的情况,这里选择自动获取bond网卡执行相关操作
获取ipv6子接口
# 获取业务网bond网卡,并存入数组
net_arr=$(ip a |awk -F ":" '/^[1-9]+/{print $2}'|awk -F "@" '{print $1}'|grep bond|grep -Ev 'bond0|bond2')
index=0
for net in $net_arr; do netlist([$i])=$net; let index=index+1; done
echo ${netlist[*]} #打印数组所有元素
# 对业务网数组执行ipv6获取操作
for net in ${netlist[*]}
# for循环数组时候,需要用${netlist[*]},单独变量名只能获取一个值
do
if [ ${#net} -eq 5 ] ; then
echo $net "disable"
#nmcli c modify $net ipv4.method disabled
#nmcli c modify $net ipv6.method ignore
fi
done
for net in ${netlist[*]}
do
if [ ${#net} -ne 5 ] ; then
echo $net "dhcp"
#nmcli c modify $net ipv6.method dhcp
fi
done
echo 'done'
脚本执行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/7bf5af5b983e4dfb84935ff883d7fd8d.png)