2 основных шлюза

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

2 основных шлюза

Сообщение azsx »

У меня дебиан 5,06, иксы. Есть два модема adsl, работают от двух провайдеров. Я дал имена модемам 192.168.1.1 и 192.168.1.2. При отключении первого модема (часто отключают интернет) я просто меняю основной шлюз и получаю интернет со второго модема.
Вопрос. А как настроить автоматическое переключение на другой шлюз (2) и автоматическое подключение первого шлюза, после того как интернет на нем появится?
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: 2 основных шлюза

Сообщение Sleeping Daemon »

azsx писал(а):
28.10.2010 13:56
У меня дебиан 5,06, иксы. Есть два модема adsl, работают от двух провайдеров. Я дал имена модемам 192.168.1.1 и 192.168.1.2. При отключении первого модема (часто отключают интернет) я просто меняю основной шлюз и получаю интернет со второго модема.
Вопрос. А как настроить автоматическое переключение на другой шлюз (2) и автоматическое подключение первого шлюза, после того как интернет на нем появится?

Можно. То, что Вы делаете руками записать в скрипт и добавить проверку на доступ в инет.
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: 2 основных шлюза

Сообщение arkhnchul »

скрипт нарисовать, который чегонить пингует через оба шлюза, при отвале - переключает, при возврате - вертает все взад.
Losing is fun!
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: 2 основных шлюза

Сообщение azsx »

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 дорогой, включается только если отвалился первый модем.
Надо - чтобы в основном на сервере работал первый модем, но если инета на первом модеме нет, включался в работу второй модем. Как только инет появляется, чтобы обратно подключался первый модем.
зы
сегодня как решение, я вижу только написание скрипта, как тут и советуют...
Спасибо сказали:
Аватара пользователя
Илуватар
Сообщения: 295
Статус: Antic1tizen 0ne
ОС: Debian Wheezy/Sid amd64

Re: 2 основных шлюза

Сообщение Илуватар »

Можно через expect и wget как-нибудь

что-то вроде

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 основных шлюза

Сообщение azsx »

Илуватар - большое спасибо... Только конечно минут по 5 выдержку сделаю, и скрипт не пойдет такой, хотя дорабатывать буду наверняка на подобной основе. Мне ведь необходимо, после того как инет появится на первом шлюзе возвращать шлюз обратно!
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: 2 основных шлюза

Сообщение IMB »

azsx писал(а):
29.10.2010 07:39
Goodvin - не знаю где там вопрос обсуждался много раз, совсем не мои случаи описаны.

Это канонический пример описаный в документации к 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???

Если первый шлюз выдаст нам ответ "Заданная сеть недоступна", разве не будет просто использоваться интерфейс с большей метрикой, т .е. запасной шлюз?
И если первый шлюз поднимется, разве не переключится сеть обратно на интерфейс с меньшей метрикой?
† Obiit animus, natus est atomus †
Спасибо сказали:
BIgAndy
Сообщения: 1923

Re: 2 основных шлюза

Сообщение BIgAndy »

azsx писал(а):
28.10.2010 13:56
Вопрос. А как настроить автоматическое переключение на другой шлюз (2) и автоматическое подключение первого шлюза, после того как интернет на нем появится?

Очень просто. Во-первых, для надежности развести по двум разным сетям.
Но можно дать два IP route default dev <интерфейс_к_можему> При паденни одного устройства, автоматически начнет работать второй дефроут.

Однако кашерно настроить LoadBAlancing или шейпинг при помощи TC. (из состава iproute2)

Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: 2 основных шлюза

Сообщение Goodvin »

azsx писал(а):
29.10.2010 07:39
Goodvin - не знаю где там вопрос обсуждался много раз, совсем не мои случаи описаны.
Чтобы узнать - надо таки сходить в поиск и вдумчиво почитать.
Этого требуют от всех вменяемых людей правила этого форума.
В том числе почитать и документацию по iproute2, на которую дано множество ссылок.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: 2 основных шлюза

Сообщение drBatty »

Илуватар писал(а):
29.10.2010 08:47
Сюда надо бы знатоков bash и sed чтоб помогли узнать, какой шлюз используется в данный момент...

вам наверное это надо:

Код: Выделить всё

$ ping -c 1 ya.ru | grep -E -q "^[1-9][0-9]* packets transmitted" && echo "Сеть доступна"
Сеть доступна

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Serega86
Сообщения: 209
ОС: OpenSuse

Re: 2 основных шлюза

Сообщение Serega86 »

#!/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

и в крон все это дело на нужное время
Все глюки Windows исправляются установкой Linux!
Спасибо сказали: