firstcalled Posted November 25, 2015 Здравствуйте! Ситуация такая: есть сеть( 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 -> свойства -> дополнительно -> основные шлюзы -> добавить, затем, когда это не сработало, ручками прописывал маршруты. Эффекта нет. Выбирается маршрут с наименьшей метрикой, а вот динамического переключения между ними нет, если шлюз, указанный в маршруте с наименьшей метрикой отказал. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
orlik Posted November 25, 2015 vrrp попробуйте, вам понравится Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
firstcalled Posted November 25, 2015 vrrp попробуйте, вам понравится Спасибо за ответ! Пробежался глазами по описанию протокола, реализации под *nix и самой сути, Вы правы, очень хорошо, но проблема в том, как устроена сеть...просто представьте, что 192.168.0.1/32 - оборудование, доступ к которому я не имею, а так же нет свободного железа, чтобы поднять два шлюза, например тот, который уже есть, 192.168.0.2, и, допустим, 192.168.0.3...кризис в стране, хорошо, что один нашел системник под свои нужды. Есть еще варианты? Я понял, что можно написать скрипт для linux, с простой сутью, мы пингуем шлюз, если ответа нет, меняем таблицу маршрутизации, но блин...почему так криво-то? Разве нет способа проще? Даже в win7 все работает... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
orlik Posted November 25, 2015 в вин7 это реализуется аналогичными скриптами. только это уже заложено в функционал, а в linux - нет, подразумевается что вы самостоятельно это сделаете. Способ проще как раз и подразумевает использование vrrp, Зачем делать на всех клиентах если можно сделать на основной точке и там контролировать. Если у вас нет туда доступа , нууу , наврное нужно найти того у кого есть и договориться Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
firstcalled Posted November 25, 2015 в вин7 это реализуется аналогичными скриптами. только это уже заложено в функционал, а в linux - нет, подразумевается что вы самостоятельно это сделаете. Способ проще как раз и подразумевает использование vrrp, Зачем делать на всех клиентах если можно сделать на основной точке и там контролировать. Если у вас нет туда доступа , нууу , наврное нужно найти того у кого есть и договориться Уверены, что в WIn7 это так же при помощи скриптов? А не отрабатывает какой-нибудь протокол? Просто пока я искал решение проблемы под WinXP, я наткнулся на RIP протокол, но и он не особо помог, если честно... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
orlik Posted November 25, 2015 уверен , только грубо говоря , эти "скрипты" зашиты очень глубоко ... имеено поэтому если подключить win7 к сети она временами может показывать иконку (нет подключения к сети) , но при этом все работает. Происходит это из-за того , что не прошла проверка (фаервол заблокировал или еще что-нить) наличия сети, но при этом "легитимный" трафик проходит исправно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted November 25, 2015 Ситуация такая: есть сеть( 192.168.0.0/24 ), есть в ней два щлюза, 192.168.0.1/32 и 192.168.0.2/32. Я хочу на машинах пользователей указать эти оба шлюза, чтобы при этом, в случае отказа одного из шлюзов, система переключалась на другой. Под Win7 все просто, указывается два шлюза с разной метрикой и все отлично работает. Но вот под linux и WinXP уже все сложнее. Нахер такой огород! Балансируйте через DHCP сервер: ставим время аренды 5 минут и если основной шлюз сдох, выдаём через 5 минут запасной. Есть ещё вариант что когда основной шлюз из сети исчезает его IP подхватывает резеврный, есть примерно из этой же оперы варианты по балансировке нагрузки средствами арп. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
orlik Posted November 25, 2015 Нахер такой огород! Балансируйте через DHCP сервер: ставим время аренды 5 минут и если основной шлюз сдох, выдаём через 5 минут запасной. Есть ещё вариант что когда основной шлюз из сети исчезает его IP подхватывает резеврный, есть примерно из этой же оперы варианты по балансировке нагрузки средствами арп. У человека проблема прикрутить скрипт к линукс серверу, а вы про такие страсти рассказываете ... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted November 25, 2015 У него только одна проблема: он не с того конца подходит к решению. Гораздо проще лепить всякие хитрые схемы на серверах используя особенности стандартных решений, чем городить костыли по разным клиентам руками. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
rdc Posted November 25, 2015 Это надо однозначно делать на шлюзах. Просто потому, что шлюзов всего два, а клиентских тачек много. У меня эта задача решается простейшим скриптом на втором шлюзе - пингуем первый, если пропал - встаём на его ип, если появился - уходим с его ипа. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...