Shell script:在两个不能用DHCP的网络中快速设置网络环境
bsd吧
全部回复
仅看楼主
level 2
lwf808 楼主
#!/bin/sh
# ENV:FreeBSD 8.1 release
# 本本在两个不能用DHCP的网络中快速设置网络环境
# ./lwf808.sh [one|two|reset]
# Var
lwf808oneip='192.168.1.2'
lwf808onegw='192.168.1.1'
lwf808onedns='202.202.202.202'
lwf808twoip='192.168.3.2'
lwf808twogw='192.168.3.1'
lwf808twodns='303.303.303.303'
# Dump configure file
lwf808path=`pwd`
cd /etc
[ -z $HOME/conf.tar.gz ] && tar czf $HOME/conf.tar.gz rc.conf hosts resolv.conf
cd ${lwf808path}
case $1 in
     one)
# Make configure file
     sed "s/${lwf808twoip}/${lwf808oneip}/g;s/${lwf808twogw}/${lwf808onegw}/g" /etc/rc.conf > $HOME/rc.conf.bak
     sed "s/${lwf808twoip}/${lwf808oneip}/g" /etc/hosts.conf > $HOME/hosts.bak
     sed "s/${lwf808twodns}/${lwf808onedns}/g" /etc/resolv.conf > $HOME/resolv.conf.bak
# Install configure file
     rm -rf /etc/rc.conf && cp $HOME/rc.conf.bak /etc/rc.conf && chmod 0755 /etc/rc.conf
     rm -rf /etc/hosts && cp $HOME/hosts.bak /etc/hosts && chmod 0755 /etc/hosts
     rm -rf /etc/resolv.conf && cp $HOME/resolv.conf.bak /etc/resolv.conf && chmod 0755 /etc/resolv.conf
# Restart em0
     ifconfig em0 down
     route reflush
     route add default ${lwf808onegw}
     ifconfig em0 ${lwf808oneip} netmask 255.255.255.0
     ;;
     two)
     # Make configure file
     sed "s/${lwf808oneip}/${lwf808twoip}/g;s/${lwf808onegw}/${lwf808twogw}/g" /etc/rc.conf > $HOME/rc.conf.bak
     sed "s/${lwf808oneip}/${lwf808twoip}/g" /etc/hosts.conf > $HOME/hosts.bak
     sed "s/${lwf808onedns}/${lwf808twodns}/g" /etc/resolv.conf > $HOME/resolv.conf.bak
     # Install configure file
     rm -rf /etc/rc.conf && cp $HOME/rc.conf.bak /etc/rc.conf && chmod 0755 /etc/rc.conf
     rm -rf /etc/hosts && cp $HOME/hosts.bak /etc/hosts && chmod 0755 /etc/hosts
     rm -rf /etc/resolv.conf && cp $HOME/resolv.conf.bak /etc/resolv.conf && chmod 0755 /etc/resolv.conf
# Restart em0
     ifconfig em0 down
     route reflush
     route add default ${lwf808onegw}
     ifconfig em0 ${lwf808oneip} netmask 255.255.255.0
     ;;
     reset)
     [ ! -z $HOME/conf.tar.gz ] && tar zxf $HOME/conf.tar.gz
     cp rc.conf /etc && chmod 755 /etc/rc.conf
     cp hosts /etc && chmod 755 /etc/hosts
     cp resolv.conf /etc && chmod 755 /etc/resolv.conf
     ;;
     *)
     echo 'The arg is error! Please use "[one|two|reset]"
     exit 1
esac
exit 0
2011年02月26日 06点02分 1
level 2
lwf808 楼主
哎!ifconfig后缺少个up[瞌睡]
2011年02月26日 06点02分 2
1