歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Linux 配置網橋腳本

Linux 配置網橋腳本
  1. #!/bin/sh 
  2.  
  3. ############################################################## 
  4. # 
  5. # function: create linux bridge, CentOS 5 test pass.  
  6. # user: chenjian 
  7. # date : 2011-06-30 ^_^. 
  8. # 
  9. ############################################################## 
  10.  
  11. NETWORK_DIR=/etc/sysconfig/network-scripts 
  12.  
  13. if ! `rpm -qi bridge-utils > /dev/null`; 
  14.         then 
  15.                 echo "bridge-utils package not install." 
  16. fi 
  17.  
  18. rm -rf $NETWORK_DIR/ifcfg-br* 
  19. read -p "Input your bridge name,ex br0: " 
  20.  
  21. if [ `echo $REPLY|wc -L` -eq 0 ]; 
  22.          then 
  23.          REPLY=br0 
  24. fi 
  25.  
  26. BRIDGE=$REPLY 
  27. ETHERNET_ALL=$( ls -l $NETWORK_DIR|awk -F'-' '/ifcfg-eth/{print $8}') 
  28.  
  29. while  [ `echo $REPLY|wc -w` -lt 2 ]; 
  30.         do 
  31.                 read -p "Input you need to use the network adapter, separated by a space. current cards(`echo $ETHERNET_ALL`),chose two : " 
  32.  
  33. done 
  34.  
  35. ETHERNET=$REPLY 
  36.  
  37. for i in `seq 1 3`; 
  38.         do 
  39.                 read -p "Input the bridge ip address and netmask. separated by a space: " 
  40.         if [ `echo $REPLY|wc -L` -eq 0 ]; 
  41.         then  
  42.                 echo "Input empty. this bridage will no ip address. " 
  43.                 REPLY="0.0.0.0 0.0.0.0" 
  44.                 sleep 3 
  45.                 break 
  46.         elif `echo $REPLY|grep -v '[0-9]\.'  > /dev/null`; 
  47.         then 
  48.                 echo "Use only numbers and points." 
  49.         elif [ `echo $REPLY|awk '{print $2}'|wc -L` -eq 0 ] 
  50.         then  
  51.                 echo "Input errors, exit." 
  52.                 exit 2 
  53.         else 
  54.                 break 
  55.         fi 
  56. done 
  57.  
  58. IP=`echo $REPLY|awk '{print $1}'` 
  59. NETMASK=`echo $REPLY|awk '{print $2}'` 
  60.  
  61.  
  62. brctl addbr $BRIDGE 
  63.  
  64. cat > $NETWORK_DIR/ifcfg-$BRIDGE <<-EOF 
  65. DEVICE=$BRIDGE 
  66. BOOTPROTO=static 
  67. ONBOOT=yes 
  68. NETMASK=$NETMASK 
  69. IPADDR=$IP 
  70. TYPE=Bridge 
  71. EOF 
  72.  
  73. echo ------------------------------------- 
  74. echo "Bridge info " 
  75. echo ------------------------------------- 
  76.  
  77. cat $NETWORK_DIR/ifcfg-$BRIDGE 
  78. echo ""  
  79. for i in `echo $ETHERNET`; 
  80.         do  
  81.  
  82. MAC=$(ifconfig $i|awk '/HWaddr/{print $NF }') 
  83. cat > $NETWORK_DIR/ifcfg-$i <<EOF 
  84. DEVICE=$i 
  85. HWADDR=$MAC 
  86. BOOTPROTO=none 
  87. ONBOOT=yes 
  88. HOTPLUG=no 
  89. TYPE=Ethernet 
  90. BRIDGE=$BRIDGE 
  91. EOF 
  92.  
  93. echo ------------------------------------- 
  94. echo "$i info" 
  95. echo ------------------------------------- 
  96. cat $NETWORK_DIR/ifcfg-$i   
  97. echo "" 
  98.  
  99. done 
  100. echo "" 
  101.  
  102. echo ------------------------------------- 
  103. echo -e "install successful ,you need to restart your network" 
  104. echo ------------------------------------- 
  105.  
  106. exit 0; 
Copyright © Linux教程網 All Rights Reserved