修改DNS的Linux脚本,Shell脚本-配置网络

原先学习过shll但是只是了解一下它的语法而已,在平时中并没有使用,在暑假的时候又

想起了shell,所以又回顾了一下,学习后一定要用,这样才能掌握。最近实验室刚装好机子,什么

都要配置一下,包括网络,以前配置网络是通过图形界面,但是ubuntu8.10以后图形配置界面有

不小的变化浪费了我不少时间,所以以后配置网络就不用图形界面了,直接找系统的配置文件,

先修改网卡文件/etc/network/interfaces文件,我用的是静态IP,网卡设备为eth0,所以配置文件为

auto lo

iface lo inet loopback

iface eth0 inet static

address 198.6.10.153

netmask 255.255.255.0

gateway 198.6.10.153

auto eth0

然后修改DNS文件/etc/resolv.conf文件,我的如下:

nameserver 198.6.10.123

但这样以来就是每次要修改两次文件,而且配置完成后还要重启网络:

sudo /etc/init.d/networking restart

虽然很直接也比较快,但每次配置机子也挺麻烦的,这时候shell就能发挥作用了,写了一个

简单的配置网络的shell脚本(文件名config_net.sh):

#!/bin/sh

#根据自己的机子修改以下变量,以下变量为默认配置参数值

IP=192.168.89.15    #这个是IP

NETMASK=255.255.255.0    #这个是子网掩码

GATEWAY=192.168.89.1    #这个是网关

DNS=202.117.128.2    #这个是DNS

DNS_DIR=/etc/resolv.conf    #DNS文件路径

IP_DIR=/etc/network/interfaces    #网卡配置文件路径

LOOP=”iface lo inet loopback”

ETH0=”iface eth0 inet static”

if [ $# -eq 4 ]; then

IP=$1;NETMASK=$2;GATEWAY=$3;DNS=$4;    #如果带4个参数运行

elif [ $# -eq 1 ]; then

IP=$1;    #如果带1个参数运行

elif [ $# -eq 0 ] ;then

echo “You use default configure”    #如果不带参数运行

else    #错误的使用方式,打印使用方法

echo “ERR ARGUMENT,Follow is right:”

echo “./config_net.sh IP NETMASK GATEWAY DNS”

echo “(OR)./config_net.sh IP”

echo “(OR)./config_net.sh”

exit

fi

#将配置写入到网卡配置文件中

echo “auto lo

${LOOP}

${ETH0}

address ${IP}

netmask ${NETMASK}

gateway ${GATEWAY}

auto eth0″>${IP_DIR}

#将配置写入到DNS文件中

echo “nameserver ${DNS}”>${DNS_DIR}

#重启网络

/etc/init.d/networking restart

上面的脚本很简单,实现的功能就是配置网络,可以有以下使用方法:

1.$ ./config_net.sh   (采用默认的配置参数)

2. $ ./config_net.sh IP    (可以指定IP,其它参数默认)

3. $ ./config_net.sh IP NETMASK GATEWAY DNS    (指定IP,子网掩码,网关,DNS)

第一种方法可以直接修改文件中的默认值来配置。

第二种可以用在配置局域网中,可以修改此脚本,设定默认的子网掩码,DNS,网关,然后运行时

只需指定IP即可,可以快速配置多台系统。

第三种直接指定各项配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值