iproute2+динамический ip

Автор fry, 01 июля 2012, 05:03:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

fry

Существует следующая задача: имеется комп,  на который приходит интернет от 2 провайдеров. 1 провайдер дает постоянный ip, а второй - динамику. Необходимо, чтобы извне комп был доступен по адресам обоих провайдеров. Исходящий трафик по дефолту будет уходить через провайдера №1. В случае, если он ложится, то меняем дефолт на провайдера №2. Ip от провайдера №2 может обновиться в любое время. Он заставляет запрашивать его каждые полминуты. Понятно, что нужно использовать iproute2.
Открыть содержимое (спойлер)
#!/bin/sh
ip route add $P1_NET dev $IF1 src $IP1 table ER
ip route add default via $P1 table ER
ip route add $P2_NET dev $IF2 src $IP2 table VT
ip route add default via $P2 table VT
ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2
ip route add default via $P1
ip rule add from $IP1 table VT
ip rule add from $IP2 table VT
ip route add $P0_NET     dev $IF0 table ER
ip route add $P2_NET     dev $IF2 table ER
ip route add 127.0.0.0/8 dev lo   table ER
ip route add $P0_NET     dev $IF0 table VT
ip route add $P1_NET     dev $IF1 table VT
ip route add 127.0.0.0/8 dev lo   table VT
[свернуть]
решил использовать так.
Но $IP2, $P2, $P2_NET могут в любой момент смениться. Соответственно при смене их необходимо выяснить новые полученные данные, удалить старые маршруты для провайдера №2, подменить данные в переменных и применить новые маршруты. Самое непонятное на данный момент- это откуда взять полученные данные. Дальше, как я понимаю, они с помощью sed должны будут вписаться в скрипт и скрипт запускается на исполнение. У кого-нибудь есть варианты как все это провернуть?
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум