script สลับสาย
พอดีบังเอิญอ่านไปเจอ script ตัว เอง เข้า เลย เอามาลงใหม่ เพราะมัน คือจุดเริ่มต้น ของ การทำ 2 สาย ใน freebsd
script สลับสาย
ระบบนี้ จะมี 2 router
เมื่อสายใดสายหนึ่งหลุด จะ สลับไปอีกสาย ใช้ใน freebsd
router 1 :192.168.10.1
router 2 :192.168.20.1
จะประกอบด้วย LAN CARD จำนวน 3 ใบ
เริ่มลงมือ
vi /etc/rc.conf
Code:
defaultrouter="192.168.10.1"
hostname="proxy.xxx.com"
ifconfig_fxp0="192.168.1.1 netmask 255.255.255.0"
ifconfig_rlo="inet 192.168.10.254 netmask 255.255.255.0"
ifconfig_rl1="inet 192.168.20.254 netmask 255.255.255.0"
gateway_enable="YES"
sshd_enable="YES"
pf_enable="YES"
vi /etc/pf.conf
Code:
ext_if="rl0"
ext2_if="rl1"
int_if="fxp0"
#
nat on $ext_if from $int_if:network to any -> ($ext_if)
nat on $ext2_if from $int_if:network to any -> ($ext2_if)
rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021
#
pass in all
pass out all
vi /etc/sysctl.conf
Code:
net.inet.ip.forwarding=1
net.inet.ip.fastforwarding=1
vi /etc/inetd.conf
Code:
ftp-proxy stream tcp nowait root /usr/libexec/ftp-proxy ftp-proxy
vi /usr/local/sbin/change_route.sh
Code:
#!bin/sh
pingaddress="203.146.0.20"
gatewayP="192.168.10.1"
gatewayS="192.168.20.1"
active="P"
while [ 1 ]; do
response="`/sbin/ping -c 1 $pingaddress | grep from`"
if [ "$response" ]; then if [ "$active" = "S" ]; then
route delete -net 0.0.0.0
route add -net 0.0.0.0 -gateway $gatewayP
active="P"
fi
else
if [ "$active" = "P" ]; then
route delete -net 0.0.0.0
route add -net 0.0.0.0 -gateway $gatewayS
active="S"
fi
fi
sleep 3
done
chmod 755 /usr/local/sbin/change_route.sh
vi /usr/local/etc/rc.d/change_route.sh
sh /usr/local/sbin/change_route.sh &
#sh -x /usr/local/sbin/change_route.sh