Перейти к содержимому
Калькуляторы

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 -> свойства -> дополнительно -> основные шлюзы -> добавить, затем, когда это не сработало, ручками прописывал маршруты. Эффекта нет. Выбирается маршрут с наименьшей метрикой, а вот динамического переключения между ними нет, если шлюз, указанный в маршруте с наименьшей метрикой отказал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.