Пример настройки dir-320 на использование Yota и резервного кабельного провайдера.

При падении wimax0 скрипт 1) переписывает маршрут по умолчанию 2) заменяет NAT шлюз 3) переписывает адреса DNS серверов и наоборот.

Кабельный пров даёт статику.

Более подробно описано в комментариях.

$ cat /tmp/local/opt/etc/madwimax/event.sh
#!/bin/sh
# Usage: event.sh <event> <if-name>

case "$1" in
if-create)
        iptables -I FORWARD -o "$2" -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
        ;;
if-up)
        route delete default  #удаляем шлюз по умолчанию
        udhcpc -b -p /var/run/udhcpc."$2".pid -i "$2" -s /opt/etc/udhcpc/udhcpc.script #добавляем шлюз по умолчанию, выданный dhcp Yota
        iptables -t nat -D POSTROUTING -o ppp0 ! -s $(ifconfig ppp0 | sed -n 's/^.*inet addr:\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)  .*$/\1/p') -j MASQUERADE #удаляем старый NAT
        iptables -t nat -A POSTROUTING -o "$2" ! -s $(ifconfig "$2" | sed -n 's/^.*inet addr:\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)  .*$/\1/p') -j MASQUERADE #добавляем NAT через wimax0 интерфейс
        ;;
if-down)
        route delete default #удаляем шлюз по умолчанию
        iptables -t nat -D POSTROUTING -o "$2" ! -s $(ifconfig "$2" | sed -n 's/^.*inet addr:\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)  .*$/\1/p') -j MASQUERADE #удаляем старый NAT
        kill -TERM `cat /var/run/udhcpc."$2".pid`
        route add default ppp0 #добавляем шлюз по умолчанию для кабельного провайдера 
        cat /tmp/ppp/resolv.conf >> /tmp/resolv.conf #копируем адреса DNS серверов, выданные кабельным провайдером
        iptables -t nat -A POSTROUTING -o ppp0 ! -s $(ifconfig ppp0 | sed -n 's/^.*inet addr:\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)  .*$/\1/p') -j MASQUERADE #добавляем NAT через ppp0 интерфейс
        ;;
if-release)
        iptables -D FORWARD -o "$2" -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
        ;;
*)
        echo "Usage: $0 { if-create | if-up | if-down | if-release }" >&2
        exit 3
        ;;
esac
 
пример_настройки_yota_wan.txt · Последние изменения: 2010/01/21 15:11 От admin
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:Public Domain
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki