Auto ppp switch
Storm 23 мая, 2006 - 15:03
Есть выделенное подключение eth0, есть локалка на eth1, есть модем, который нужно коннектить в случае падения выделенки. Написал следующий скрипт для этого:
#!/bin/bash rm -f ppp.status pon aaa > ppp.status if [ -f ppp.status ]; then LOCAL_IP=`cat ppp.status | grep "local IP address" | sed -e "s/local IP address //"`; REMOTE_IP=`cat ppp.status | grep "remote IP address" | sed -e "s/remote IP address //"`; else echo "PPP connect failed!"; exit; fi if [ -z "$LOCAL_IP" ]; then echo "Немогу уточнить локальный IP!" exit; elif [ -z "$REMOTE_IP" ]; then echo "Немогу уточнить удаленный IP!" exit; fi echo "Local IP: $LOCAL_IP and remote IP: $REMOTE_IP" ip route delete default ip route add default via $REMOTE_IP iptables -t nat -D POSTROUTING 1 iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -j SNAT --to-source $LOCAL_IP echo "Done!"
Оно работает, но в шелл скриптах я не силен... и мне особо ненравится конструкция выборки IP из grep и sed. Может как-то проще можно сделать?
»
- Для комментирования войдите или зарегистрируйтесь