shell脚本:将动态IP更改为静态IP

脚本实现在CentOS系统下执行,将动态IP修改成固定IP,若原本为固定IP将询问是否修改IP

#!/bin/bash
#2020年7月11日
#将动态IP转换成静态IP,静态IP询问修改成其他静态IP
#################################################
function Check_linux_system(){
	linux_version=$(cat /etc/redhat-release)
	if [[ ${linux_version} =~ "CentOS" ]];then
		echo -e "\033[32m 当前系统为 $linux_version \033[0m"
	else
		echo -e "\033[32m 当前系统不是CentOS,该脚本不支持\033[0m"
		exit 1
	fi
}

function insatll_static_ip(){
	static_ip=$(ip a|grep ens33|grep inet|awk -F "/" '{ print $1 }'|awk -F " " '{ print $2 }')
	static_gateway=$(echo $static_ip|awk -F "." '{ print $1"."$2"."$3".2" }')
	network_name=ifcfg-$(ip a |grep inet |grep brd |awk -F ' ' '{ print $NF }')
	cd /etc/sysconfig/network-scripts
	mkdir -p back/$(date +%Y%m%d)
	cp $network_name back/$(date +%Y%m%d)/${network_name}.$(date +%H%M)
	grep -aiw "dhcp" $network_name
	if [ $? -eq 0 ];then
		sed -i "s/dhcp/static/g" $network_name
		echo "IPADDR=$static_ip" >>$network_name
		echo "GATEWAY=$static_gateway" >>$network_name
		echo "NETMASK=255.255.255.0" >>$network_name
		echo "DNS1=61.139.2.69" >>$network_name
		systemctl restart network
		echo -e "\033[32m 当前IP为 $static_ip \033[0m"
		echo -e "\033[32m 当前网关为 $static_gateway \033[0m"
		echo -e "\033[32m 当前子网掩码为 255.255.255.0 \033[0m"
	else
		#echo -e "\033[32m 当前为静态IP,不需要更改 \033[0m"
		read -p "当前IP $hhm_ip 为静态IP,是否需要更改(yes/no):" input
		if [ $input == "y" -o $input == "Y" -o $input == "yes" -o $input == "YES" ];then
			read -p "输入需要更改的IP:" change_ip
			sed -i "s/IPADDR=$static_ip/IPADDR=$change_ip/g" $network_name
			change_gateway=$(echo $change_ip|awk -F "." '{ print $1"."$2"."$3".2" }')
			sed -i "s/GATEWAY=$static_gateway/GATEWAY=$change_gateway/g" $network_name
			echo -e "\033[32m 当前IP为 $change_ip \033[0m"
			echo -e "\033[32m 当前网关为 $change_gateway \033[0m"
			echo -e "\033[32m 当前子网掩码为 255.255.255.0 \033[0m"
			systemctl restart network
		else
			echo -e "\033[32m 当前IP为 $static_ip \033[0m"
			echo -e "\033[32m 当前网关为 $static_gateway \033[0m"
        		echo -e "\033[32m 当前子网掩码为 255.255.255.0 \033[0m"
			exit 1
		fi
	fi
}

Check_linux_system && \
insatll_static_ip
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值