У меня дебиан 5,06, иксы. Есть два модема adsl, работают от двух провайдеров. Я дал имена модемам 192.168.1.1 и 192.168.1.2. При отключении первого модема (часто отключают интернет) я просто меняю основной шлюз и получаю интернет со второго модема.
Вопрос. А как настроить автоматическое переключение на другой шлюз (2) и автоматическое подключение первого шлюза, после того как интернет на нем появится?
2 основных шлюза
Модераторы: SLEDopit, Модераторы разделов
-
Sleeping Daemon
- Сообщения: 1450
Re: 2 основных шлюза
azsx писал(а): ↑28.10.2010 13:56У меня дебиан 5,06, иксы. Есть два модема adsl, работают от двух провайдеров. Я дал имена модемам 192.168.1.1 и 192.168.1.2. При отключении первого модема (часто отключают интернет) я просто меняю основной шлюз и получаю интернет со второго модема.
Вопрос. А как настроить автоматическое переключение на другой шлюз (2) и автоматическое подключение первого шлюза, после того как интернет на нем появится?
Можно. То, что Вы делаете руками записать в скрипт и добавить проверку на доступ в инет.
-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
Re: 2 основных шлюза
скрипт нарисовать, который чегонить пингует через оба шлюза, при отвале - переключает, при возврате - вертает все взад.
Losing is fun!
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: 2 основных шлюза
В поиск.
Вопрос обсуждался много раз.
http://lmgtfy.com/?q=%D0%B4%D0%B2%D0%B0+%D...3Aunixforum.org
Решено: Два шлюза, два DNS-а
Шлюз в две сети
Организация Dual WAN для шлюза в интернет
iproute2, два провайдера
Решено: Два инета на сервере
2 провайдера и 2 интернета одновременно
Два канала интеренет, разделение входящего и исходящего трафика
Настройка маршрутизации на трех eth картах
создание и переключение между ppp0 и ppp1 в NetApplet
Добавление второго провайдера
и другие.
Вопрос обсуждался много раз.
http://lmgtfy.com/?q=%D0%B4%D0%B2%D0%B0+%D...3Aunixforum.org
Решено: Два шлюза, два DNS-а
Шлюз в две сети
Организация Dual WAN для шлюза в интернет
iproute2, два провайдера
Решено: Два инета на сервере
2 провайдера и 2 интернета одновременно
Два канала интеренет, разделение входящего и исходящего трафика
Настройка маршрутизации на трех eth картах
создание и переключение между ppp0 и ppp1 в NetApplet
Добавление второго провайдера
и другие.
-
azsx
- Сообщения: 3684
- ОС: calculate linux, debian, ubuntu
Re: 2 основных шлюза
Goodvin - не знаю где там вопрос обсуждался много раз, совсем не мои случаи описаны.
(1 модем 192.168.1.1)---------\
_________________________>---(свич)----------(сервер дебиан 5.06 - 192.168.1.5)
(2 модем 192.168.1.2)---------/
Модем 192.168.1.1 имеет быстрый инет, но часто инет не работает. Модем 192.168.1.2 дорогой, включается только если отвалился первый модем.
Надо - чтобы в основном на сервере работал первый модем, но если инета на первом модеме нет, включался в работу второй модем. Как только инет появляется, чтобы обратно подключался первый модем.
зы
сегодня как решение, я вижу только написание скрипта, как тут и советуют...
(1 модем 192.168.1.1)---------\
_________________________>---(свич)----------(сервер дебиан 5.06 - 192.168.1.5)
(2 модем 192.168.1.2)---------/
Модем 192.168.1.1 имеет быстрый инет, но часто инет не работает. Модем 192.168.1.2 дорогой, включается только если отвалился первый модем.
Надо - чтобы в основном на сервере работал первый модем, но если инета на первом модеме нет, включался в работу второй модем. Как только инет появляется, чтобы обратно подключался первый модем.
зы
сегодня как решение, я вижу только написание скрипта, как тут и советуют...
-
Илуватар
- Сообщения: 295
- Статус: Antic1tizen 0ne
- ОС: Debian Wheezy/Sid amd64
Re: 2 основных шлюза
Можно через expect и wget как-нибудь
что-то вроде
и запихать это всё в cron на каждые 15 секунд?
Сюда надо бы знатоков bash и sed чтоб помогли узнать, какой шлюз используется в данный момент...
что-то вроде
root@localhost
expect -c "
spawn wget -T 15 "http://www.ya.ru"
expect "unable"
exec ip route delete default
exec ip route add default dev eth0 via <новый_шлюз>
"и запихать это всё в cron на каждые 15 секунд?
Сюда надо бы знатоков bash и sed чтоб помогли узнать, какой шлюз используется в данный момент...
† Obiit animus, natus est atomus †
-
azsx
- Сообщения: 3684
- ОС: calculate linux, debian, ubuntu
Re: 2 основных шлюза
Илуватар - большое спасибо... Только конечно минут по 5 выдержку сделаю, и скрипт не пойдет такой, хотя дорабатывать буду наверняка на подобной основе. Мне ведь необходимо, после того как инет появится на первом шлюзе возвращать шлюз обратно!
-
IMB
- Сообщения: 2567
- ОС: Debian
Re: 2 основных шлюза
Это канонический пример описаный в документации к iproute, посмотрите http://lartc.org/howto/lartc.rpdb.multiple-links.html#AEN268
Ну а настроить проверку и перёключение каналов не проблема.
-
Илуватар
- Сообщения: 295
- Статус: Antic1tizen 0ne
- ОС: Debian Wheezy/Sid amd64
Re: 2 основных шлюза
А может, просто -
1) удалить все дефолтные шлюзы
2) ip route add default dev eth0 via $gate_1 metric 0 && \
ip route add default dev eth0 via $gate_2 metric 100
3) PROFIT???
Если первый шлюз выдаст нам ответ "Заданная сеть недоступна", разве не будет просто использоваться интерфейс с большей метрикой, т .е. запасной шлюз?
И если первый шлюз поднимется, разве не переключится сеть обратно на интерфейс с меньшей метрикой?
1) удалить все дефолтные шлюзы
2) ip route add default dev eth0 via $gate_1 metric 0 && \
ip route add default dev eth0 via $gate_2 metric 100
3) PROFIT???
Если первый шлюз выдаст нам ответ "Заданная сеть недоступна", разве не будет просто использоваться интерфейс с большей метрикой, т .е. запасной шлюз?
И если первый шлюз поднимется, разве не переключится сеть обратно на интерфейс с меньшей метрикой?
† Obiit animus, natus est atomus †
-
BIgAndy
- Сообщения: 1923
Re: 2 основных шлюза
Очень просто. Во-первых, для надежности развести по двум разным сетям.
Но можно дать два IP route default dev <интерфейс_к_можему> При паденни одного устройства, автоматически начнет работать второй дефроут.
Однако кашерно настроить LoadBAlancing или шейпинг при помощи TC. (из состава iproute2)
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: 2 основных шлюза
Чтобы узнать - надо таки сходить в поиск и вдумчиво почитать.
Этого требуют от всех вменяемых людей правила этого форума.
В том числе почитать и документацию по iproute2, на которую дано множество ссылок.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: 2 основных шлюза
вам наверное это надо:
Код: Выделить всё
$ ping -c 1 ya.ru | grep -E -q "^[1-9][0-9]* packets transmitted" && echo "Сеть доступна"
Сеть доступна-
Serega86
- Сообщения: 209
- ОС: OpenSuse
Re: 2 основных шлюза
#!/bin/sh
################### Скрипт для переключения между 2 провайдерами #################
Основной провайдер 1. Если отсутствует инет у 1 происходит переподключение на 2, через минут происходит пинг www.ya.ru через 1 если он заработал то он остается главным каналом.
# Default gateways
GW1=IP_1
GW2=IP_2
# Interfaces
sk0=IP_1
tun0=IP_2
# Destinations
contr1=www.ya.ru
/sbin/ping -q -c 1 -S $sk0 $contr1 > /dev/null 2>&1
if [ $? != 0 ]; then
/sbin/route change default $GW2 \
&& touch /etc/ppp/gw.changed
else
if [ -f /etc/ppp/gw.changed ]; then
/sbin/route change default $GW1 \
&& rm /etc/ppp/gw.changed
fi
fi
и в крон все это дело на нужное время
################### Скрипт для переключения между 2 провайдерами #################
Основной провайдер 1. Если отсутствует инет у 1 происходит переподключение на 2, через минут происходит пинг www.ya.ru через 1 если он заработал то он остается главным каналом.
# Default gateways
GW1=IP_1
GW2=IP_2
# Interfaces
sk0=IP_1
tun0=IP_2
# Destinations
contr1=www.ya.ru
/sbin/ping -q -c 1 -S $sk0 $contr1 > /dev/null 2>&1
if [ $? != 0 ]; then
/sbin/route change default $GW2 \
&& touch /etc/ppp/gw.changed
else
if [ -f /etc/ppp/gw.changed ]; then
/sbin/route change default $GW1 \
&& rm /etc/ppp/gw.changed
fi
fi
и в крон все это дело на нужное время
Все глюки Windows исправляются установкой Linux!