用shell实现将动态ip修改为静态ip,静态ip修改为其它静态ip

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用shell实现将动态ip修改为静态ip,静态ip修改为其它静态ip相关的知识,希望对你有一定的参考价值。

(1) 将动态ip修改为静态ip的思路


   ① 修改ip之前,先备份ifcfg-eth0文件


   ②  进入网卡配置目录  /etc/sysconfig/network-scripts/ifcfg-eth0


   ③  修改BOOTPROTO=static


   ④  修改ONBOOT=yes


   ⑤  配置静态ip地址 IPADDR


   ⑥  配置DNS  NETMASK


   ⑦  配置网关  GATWAY


   ⑧  重启网卡验证配置,验证配置结果   service   network  restart


(2) 将静态ip修改为其它静态ip的思路

    

   ☆  先判断是否是静态ip   grep "dhcp" /etc/sysconfig/network-scripts/ifcfg-eth0/


   ☆  

         if[$?  -ne   0]; then

            sed -i `s/^IPADDR/#IPADDR/g` ifcfg-eth0

            read  -p   "please Enter  ip:"IPADDR

            echo "IPADDR="$IPADDR">>/etc/sysconfig/network-scripts/

         fi


  ☆  重启网卡验证配置结果   service network  restart


  代码示例: 

  

#!/bin/bash

#2017年12月17日19:34:40

#by author daqi

#change ip  shell

NET_FILE="/etc/sysconfig/network-scripts"

NET_DIR="ifcfg-eth0"

cd $NET_FILE/

#change ip static for static:

grep "dhcp" $NET_FILE/ $NET_DIR

if [ $? -ne 0 ];then

sed -i s/^IPADDR/#IPADDR/g $NET_DIR

read -p "Please enter ip Address,example 192.168.0.11 ip": IPADDR

echo "IPADDR=$IPADDR">>$NET_FILE/$NET_DIR

service network restart

else

#change ip dhcp for static

sed -i s/dhcp/static/g $NET_DIR

sed -i s/ONBOOT=no/ONBOOT=yes/g $NET_DIR

read -p "Please enter ip Address,example 192.168.0.11 ip": IPADDR

cat>>$NET_FILE/$NET_DIR <<EOF

IPADDR=$IPADDR

NETMASK=255.255.255.0

GATWAY=192.168.2.1

EOF

service network restart

fi

   

   

   


 

以上是关于用shell实现将动态ip修改为静态ip,静态ip修改为其它静态ip的主要内容,如果未能解决你的问题,请参考以下文章

电脑怎么把动态IP设置成静态的IP

SHELL小练习

在linux中,啥是配置静态和动态的IP地址、子网掩码、默认网关,如何实现

ubuntu14.04静态ip地址与动态ip地址配置

配置动态ip为静态ip qq交流总结

CentOS7 配置静态IP为何总会出现一个动态IP?