centos固定ip设置脚本-自动固化当前ip

本文介绍了一个脚本,用于在CentOS7中自动设置网卡的固定IP地址,解决虚拟机或服务器IP变动导致的访问问题。通过ifconfig获取IP、网关和子网掩码,将它们设置为静态配置,避免手动设置的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:centos7
简介:ip地址固化,自动设置网卡固定ip地址
使用虚拟机时经常遇到虚拟机ip变化导致环境无法访问的问题,自己家用的服务器也会有这个问题。
下面这个脚本可以将系统自动获取的ip地址、网关等信息设置为固定ip,避免系统重启之后ip漂移导致无法访问。同时也避免网关信息设置错误导致网络无法访问。
将下面的代码保存为 setip.sh脚本,执行脚本setip.sh

echo 'please input the net device name';
read devName;
ipset=`ifconfig $devName|grep inet|awk 'BEGIN {FS=" "} {if($1=="inet") printf $2 "\n" $4 "\n" $6 "\n"}'`
ipset=($ipset)
gate=`route -n|grep $devName | awk 'BEGIN {FS=" "} {if($2 != "0.0.0.0") printf $2 "\n"}'`
echo IPADDR=${ipset[0]}
echo NETMASK=${ipset[1]}
echo GATEWAY=$gate
if test /etc/sysconfig/network-scripts/ifcfg-$devName; 
    then 
    cp /etc/sysconfig/network-scripts/ifcfg-$devName /etc/sysconfig/network-scripts/ifcfg-$devName-bk
    sed -i -e 's/^BOOTPROTO=\"dhcp\"/BOOTPROTO=\"static\"/' /etc/sysconfig/network-scripts/ifcfg-$devName
    sed -i '/IPADDR=/ d' /etc/sysconfig/network-scripts/ifcfg-$devName
    sed -i '/NETMASK=/ d' /etc/sysconfig/network-scripts/ifcfg-$devName
    sed -i '/GATEWAY=/ d' /etc/sysconfig/network-scripts/ifcfg-$devName
    echo IPADDR=${ipset[0]} >> /etc/sysconfig/network-scripts/ifcfg-$devName
    echo NETMASK=${ipset[1]} >> /etc/sysconfig/network-scripts/ifcfg-$devName
    echo GATEWAY=$gate >> /etc/sysconfig/network-scripts/ifcfg-$devName
fi

将上面的脚本保存为setip.sh,利用ifconfig获取网络设备,例如 eth0,执行下面的命令运行脚本即可将该设备eth0的ip地址设置为dhcp模式下获取到的ip、gateway和netmask,避免手动设置错误,减少工作量

sh ./setip.sh eth0

执行下面的命令重启网卡生效,不重启也没问题,下次系统重启的时候会自动执行固定ip的:

systemctl restart network
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

alvinToffler

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

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

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

打赏作者

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

抵扣说明:

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

余额充值