br-boot.sh (開機時建立bridge firewall)
#!/bin/bash # 宣告使用指令之路徑 IPTABLES="/sbin/iptables" BRCTL="/usr/sbin/brctl" IFCONFIG="/sbin/ifconfig" ROUTE="/sbin/route" # 宣告欲設定之ip資訊 BRIP="163.28.192.135" FW_IP="163.28.192.135" BRMASK="255.255.255.0" GATEWAY="163.28.192.254" BRBROADCAST="163.28.192.255" # 宣告欲使用之介面名稱 FW_IFACE="br0" $BRCTL addbr br0 #新增一bridge網路介面br0 $BRCTL addif br0 eth0 #將eth0加入br0內 $BRCTL addif br0 eth1 #將eth1加入br0內 $BRCTL addif br0 eth3 #將eth3加入br0內 # 先關閉這三組網路介面,準備設定ip $IFCONFIG br0 down $IFCONFIG eth0 down $IFCONFIG eth1 down $IFCONFIG eth3 down $IFCONFIG eth0 0.0.0.0 #eth0本身不帶ip $IFCONFIG eth1 192.168.1.11 #eth1帶192.168.1.11,與設定的vmware系統可以互通 $IFCONFIG eth2 192.168.163.1 #eth2帶192.168.163.1,用來與備援firewall互通偵測 $IFCONFIG eth3 0.0.0.0 #eth3本身不帶ip # 設定bridge介面ip $IFCONFIG br0 $BRIP netmask $BRMASK broadcast $BRBROADCAST # 設定 gateway 值,使 fw 本身可以上網 $ROUTE add default gw $GATEWAY # 啟動封包轉送,重要 echo "1" > /proc/sys/net/ipv4/ip_forward # 因為建立bridge需要時間,等10秒後啟動detect.sh sleep 10s /bin/sh /br-fw/detect.sh &bg