Jump to content
Калькуляторы

two default gateways, one nic, one network

Здравствуйте!

Ситуация такая: есть сеть( 192.168.0.0/24 ), есть в ней два щлюза, 192.168.0.1/32 и 192.168.0.2/32. Я хочу на машинах пользователей указать эти оба шлюза, чтобы при этом, в случае отказа одного из шлюзов, система переключалась на другой. Под Win7 все просто, указывается два шлюза с разной метрикой и все отлично работает. Но вот под linux и WinXP уже все сложнее.

Что я пробовал под linux(Debian 8): добавил в /etc/network/interfaces

auto eth0

iface eth0 inet static

address 192.169.0.3

netmask 255.255.255.0

up ip route add default via 192.168.0.1 dev eth0 metric 100

up ip route add default via 192.168.0.2 dev eth0 metric 200

Под WinXP делал тоже самое, что под Win7, вначале посредством tcp/ipv4 -> свойства -> дополнительно -> основные шлюзы -> добавить, затем, когда это не сработало, ручками прописывал маршруты. Эффекта нет. Выбирается маршрут с наименьшей метрикой, а вот динамического переключения между ними нет, если шлюз, указанный в маршруте с наименьшей метрикой отказал.

Share this post


Link to post
Share on other sites

vrrp попробуйте, вам понравится

Спасибо за ответ! Пробежался глазами по описанию протокола, реализации под *nix и самой сути, Вы правы, очень хорошо, но проблема в том, как устроена сеть...просто представьте, что 192.168.0.1/32 - оборудование, доступ к которому я не имею, а так же нет свободного железа, чтобы поднять два шлюза, например тот, который уже есть, 192.168.0.2, и, допустим, 192.168.0.3...кризис в стране, хорошо, что один нашел системник под свои нужды. Есть еще варианты? Я понял, что можно написать скрипт для linux, с простой сутью, мы пингуем шлюз, если ответа нет, меняем таблицу маршрутизации, но блин...почему так криво-то? Разве нет способа проще? Даже в win7 все работает...

Share this post


Link to post
Share on other sites

в вин7 это реализуется аналогичными скриптами. только это уже заложено в функционал, а в linux - нет, подразумевается что вы самостоятельно это сделаете.

Способ проще как раз и подразумевает использование vrrp, Зачем делать на всех клиентах если можно сделать на основной точке и там контролировать. Если у вас нет туда доступа , нууу , наврное нужно найти того у кого есть и договориться

Share this post


Link to post
Share on other sites

в вин7 это реализуется аналогичными скриптами. только это уже заложено в функционал, а в linux - нет, подразумевается что вы самостоятельно это сделаете.

Способ проще как раз и подразумевает использование vrrp, Зачем делать на всех клиентах если можно сделать на основной точке и там контролировать. Если у вас нет туда доступа , нууу , наврное нужно найти того у кого есть и договориться

Уверены, что в WIn7 это так же при помощи скриптов? А не отрабатывает какой-нибудь протокол? Просто пока я искал решение проблемы под WinXP, я наткнулся на RIP протокол, но и он не особо помог, если честно...

Share this post


Link to post
Share on other sites

уверен , только грубо говоря , эти "скрипты" зашиты очень глубоко ... имеено поэтому если подключить win7 к сети она временами может показывать иконку (нет подключения к сети) , но при этом все работает. Происходит это из-за того , что не прошла проверка (фаервол заблокировал или еще что-нить) наличия сети, но при этом "легитимный" трафик проходит исправно.

Share this post


Link to post
Share on other sites

Ситуация такая: есть сеть( 192.168.0.0/24 ), есть в ней два щлюза, 192.168.0.1/32 и 192.168.0.2/32. Я хочу на машинах пользователей указать эти оба шлюза, чтобы при этом, в случае отказа одного из шлюзов, система переключалась на другой. Под Win7 все просто, указывается два шлюза с разной метрикой и все отлично работает. Но вот под linux и WinXP уже все сложнее.

Нахер такой огород!

Балансируйте через DHCP сервер: ставим время аренды 5 минут и если основной шлюз сдох, выдаём через 5 минут запасной.

 

Есть ещё вариант что когда основной шлюз из сети исчезает его IP подхватывает резеврный, есть примерно из этой же оперы варианты по балансировке нагрузки средствами арп.

Share this post


Link to post
Share on other sites

Нахер такой огород!

Балансируйте через DHCP сервер: ставим время аренды 5 минут и если основной шлюз сдох, выдаём через 5 минут запасной.

 

Есть ещё вариант что когда основной шлюз из сети исчезает его IP подхватывает резеврный, есть примерно из этой же оперы варианты по балансировке нагрузки средствами арп.

 

У человека проблема прикрутить скрипт к линукс серверу, а вы про такие страсти рассказываете ...

Share this post


Link to post
Share on other sites

У него только одна проблема: он не с того конца подходит к решению.

Гораздо проще лепить всякие хитрые схемы на серверах используя особенности стандартных решений, чем городить костыли по разным клиентам руками.

Share this post


Link to post
Share on other sites

Это надо однозначно делать на шлюзах.

Просто потому, что шлюзов всего два, а клиентских тачек много.

 

У меня эта задача решается простейшим скриптом на втором шлюзе - пингуем первый, если пропал - встаём на его ип, если появился - уходим с его ипа.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.