centos 人机交互式配置IP地址和DNS脚本!

listnic=`ifconfig|grep -E "flags"|awk -F ":" '{i++}{print i":"$1}'`
while true;do
	clear
	echo "请选择要配置的网卡"
	for item in $listnic; do
		echo $item
	done
	read -p "输入序号即可:" n
	#echo $n
	unset i	
	for item in $listnic; do
		let i++
		unset nic
		if [[ $i -eq $n ]]; then
			nic=${item#*:}
			break
		fi
	done
	if [[ -z $nic ]]; then
		read -p "请输入正确序号!"
	else
		break
	fi	
done
#ethtool -i $nic
#网卡流量 ip -s -s link ls $nic 
niconfig=`find /etc/sysconfig/network-scripts -name "*${nic}*"|grep -v "bak"`
cp $niconfig "${niconfig}[$(date +%F)]".bak #备份

echo 网卡${nic}原IP配置
items=("BOOTPROTO" "ONBOOT" "IPADDR" "NETMASK" "GATEWAY")
for (( i = 0; i < ${#items[@]}; i++ )); do
	sed -n "/^${items[$i]}=.*/p" ${niconfig} 
done

read -p "输入IP地址:" IPADDR
read -p "输入掩码:" NETMASK
read -p "输入网关:" GATEWAY

for (( i = 0; i < ${#items[@]}; i++ )); do
	case ${items[$i]} in
	"BOOTPROTO")
		sed -i "s/^BOOTPROTO=.*/BOOTPROTO=static/" ${niconfig} 
		;;
	"ONBOOT")
		sed -i "s/^ONBOOT=.*/ONBOOT=yes/" ${niconfig}
		;;
	*)
		sed -i "/^${items[$i]}=.*/d" ${niconfig}
		cmd="echo ${items[$i]}=\$${items[$i]}>>${niconfig}"
		eval $cmd	
		;;
	esac	
done
echo 当前DNS设置
cat /etc/resolv.conf
read -p "是否继续配置dns,y或n" xz
case $xz in
y)
	read -p "输入dns地址每个用,隔开:" DNS
	sed -i "/^nameserver/d" /etc/resolv.conf
	echo $DNS | awk '{split($0,a,",");for(i in a) system("echo nameserver "a[i]"|tee -a /etc/resolv.conf")}'
	;;
n)
echo no
	;;
*)
echo 都提示你输入y或n了;;
esac
systemctl restart network
ifconfig $nic down
ifconfig $nic up
ifconfig $nic
#systemctl stop firewalld.service
#systemctl disable firewalld.service

方便,快捷,有需要的朋友可以试试哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyfsky666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值