Update ----- Scripts: bind two NICs
Last Update:2014-05-15
Source: Internet
Author: User
Update ----- Scripts: bind a dual-Nic [python] #! /Bin/bash # ----------------------------------------------------------------------------- # Name: netbond # Filename: netbon update ----- Scripts: bind a dual Nic [python] # /Bin/bash # ------------------------------------------------------------------------------- # Name: netbond # Filename: netbond. sh # Local: # What: bind to a dual network card # HowTo: sh. /netbond. sh ethN bondN ipaddr netmask gateway # Version: 1.1 2013.9.6 judge the input, because the configuration has failed due to an input error #1.0 2013.9.3 # Release: 2013-9-3 # Author: gtlions # Copyright: Copyright (c) Gtlions 2013 # Licence: # ------------------------------------------------------------------------------- Echo "You are logged in as 'whoam'"; if ['whoam '! = Root]; then echo "Must be logged as root run script." exit 1 fi if [x $5 = x]; then echo "Input Error! "Echo" Usage: sh. /netbond. sh ethN bondN ipaddr netmask gateway "exit 1 fi SCRIPTFILE = $0 ETHN1 = $1 ETHN2 = $2 BONDN = $3 IPADDR = $4 NETMASK = $5 GATEWAY = $6 ETHN1FILE =/etc/sysconfig/network-scripts/ifcfg-$ ETHN1 ETHN2FILE =/etc/sysconfig/network-scripts/ifcfg-$ ETHN2 BONDFILE =/etc/sysconfig/network-scripts/ ifcfg-$ BONDN ETHN1BAK = ifcfg-$ ETHN1.bak ETHN2BAK = ifcfg-$ ETHN2.bak if ['echo $ ETHN1 | grep 'eth' | wc- L '-eq 0]; then echo "Input Error: ethN1" fi if ['echo $ ETHN2 | grep 'eth' | wc-L'-eq 0]; then echo "Input Error: ethN2" fi if ['echo $ BONDN | grep 'Bond' | wc-L'-eq 0]; then echo "Input Error: bondN "fi # if ['echo $ IPADDR | awk-f '. ''{print NF-1}''-eq 3]; then #: # else # echo "Input Error: ipaddr "# fi if ['echo $ IPADDR | grep' ^ [0-9] \ {1, 3 \}\. [0-9] \ {1, 3 \}\. [0-9] \ {1, 3 \}\. [0-9] \ {1, 3 \} $ '| wc-l' -Eq 0]; then echo "Input Error: ipaddr" fi if ['echo $ NETMASK | grep' ^ [0-9] \ {1, 3 \}\. [0-9] \ {1, 3 \}\. [0-9] \ {1, 3 \}\. [0-9] \ {1, 3 \} $ '| wc-l'-eq 0]; then echo "Input Error: netmask "fi if ['echo $ GATEWAY | grep' ^ [0-9] \ {1, 3 \}\. [0-9] \ {1, 3 \}\. [0-9] \ {1, 3 \}\. [0-9] \ {1, 3 \} $ '| wc-l'-eq 0]; then echo "Input Error: gateway" fi if [! -F $ ETHN1FILE]; then echo "Error! Not exist $ ETHN1FILE "exit 1 fi if [! -F $ ETHN2FILE]; then echo "Error! Not exist $ ETHN2FILE "exit 1 fi if [-f $ BONDFILE]; then echo" Error! Exist $ BONDFILE "exit 1 fi echo" Set Info: $ ETHN1 AND $ ETHN2 will bond to $ BONDN: $ IPADDR, $ NETMASK, $ GATEWAY "echo" Go On? [Y/N] "read GOON GOON1 = 'echo $ GOON | tr 'A-z'' a-Z' | cut-c1 'if [$ GOON1 =" Y "]; then cp $ ETHN1FILE ETHN1BAK cp $ ETHN2FILE ETHN2BAK if [-f ETHN1BAK] & [-f ETHN2BAK]; then echo-e "DEVICE = $ BONDN \ nONBOOT = yes \ nTYPE = Ethernet \ nUSERCTL = yes \ nBOOTPROTO = static \ nIPADDR = $ IPADDR \ nNETMASK = $ NETMASK \ nGATEWAY = $ GATEWAY "> $ BONDFILE chmod 644 $ BONDFILE echo-e" DEVICE = $ ETHN1 \ nONBOOT = yes \ nBOOTPROTO = none \ nTYPE = Eth Ernet \ nUSERCTL = yes \ nMASTER = $ BONDN \ nSLAVE = yes "> $ ETHN1FILE echo-e" DEVICE = $ ETHN2 \ nONBOOT = yes \ nBOOTPROTO = none \ nTYPE = Ethernet \ nUSERCTL = yes \ nMASTER = $ BONDN \ nSLAVE = yes "> $ ETHN2FILE cat/etc/modprobe. conf | grep "$ BONDN"> null RESULT = $? If [$ RESULT-eq 1]; then echo-e "alias $ BONDN bonding \ noptions $ BONDN miimon = 100 mode = 1">/etc/modprobe. conf fi cat/etc/rc. d/rc. local | grep "$ BONDN"> null RESULT = $? If [$ RESULT-eq 1]; then echo-e "ifenslave $ BONDN $ ETHN1 $ ETHN2">/etc/rc. d/rc. local fi echo "Done! Pls reboot system! "Fi else echo" Cancel! "Fi