Более одного провайдера для одной LAN - опыт реализации

6wings

Провёл себе домой еще один Ethernet от второго провайдера в качестве резервного канала.

Как известно, существуют стандартные (и довольно дорогие) решения для таких случаев в виде рутеров, например, от Microtik или Cisco с двумя портами WAN для двух разных провайдеров. При этом, при отказе одного из каналов, вся локальная сеть за рутером начинает работать через альтернативный канал. При этом, “как, почему и когда” переключаться решает сам рутер (правда, с пользовательскими настройками).

Однако, обычно большую часть времени оба каналы исправны и весь трафик идёт через один основной канал, а альтернативный канал простаивает.

Поэтому появилось желание иметь возможность на каждом компьютере явно задавать канал, через который он выходит в Интернет.

Чем это удобно? - Например, один канал используется для постоянной работы с торрентами и занимает всю его полосу, а другие каналы используется для всего остального. Однако, если любой из этих каналов “упал”, надо иметь возможность оперативно переключить нужные компьютеры локальной сети на другого провайдера, который продолжает работать. Т.е. необходима возможность простого ручного переключения (кнопкой) каждого компьютера в локальной сети с одного провайдера на другого независимо то того, как выходят в Интернет другие компьютеры из той же локальной сети. При этом, настройки самой локальной сети не должны меняться и компьютеры должны продолжать видеть друг друга по NETBIOS (видеть шары и иметь доступ к сетевым ресурсам других компов) в той же локальной сети.

В принципе, эта задача легко решается при наличии нескольких гейтвеев (шлюзов) в одной локальной сети, каждый из которых отвечает за своего провайдера. Например, в сети класса “С” 192.168.0.0/24 (маска 255.255.255.0) можно иметь гейт 192.168.0.1, обеспечивающий выход в Интернет через основного провайдера и другой гейт 192.168.0.2, обеспечивающий выход в Интернет через второго провайдера (и т.д. при большем количестве резервных каналов). Тогда для переключения отдельных компьютеров с одного провайдера на другого достаточно будет просто изменить гейтвей в его сетевых настройках.

Что, собственно, и было сконструировано/обеспечено. В данный момент на любом из компов моей локальной сети достаточно нажать одну кнопку и… этот комп начинает работать через другого прова независимо от других компьютеров в той же локальной сети. Т.е. переход на другой канал осуществляется “на лету” и индивидуально, а не “скопом” для всей локальной сети сразу, как это делается в рутерах Микротик и Циско.

Если всё вышеизложенное представляет интерес для кого-то (в чем, правда, я несколько сомневаюсь))), то могу поделиться деталями конкретной реализации. Т.е. рассказать как всё это работает у меня конкретно.

---------------------------------------------
Еще раз о смысле: есть возможность “на лету” индивидуально переключать компьютеры с одного провайдера на другого независимо от установок других компьютеров, оставаясь в рамках той же локальной сети.
-------------------------------------------

(этим длинным и весьма скучным постингом я знаменую свой выход из бана за публикацию в Весёлых Картинках фотографии реально продававшихся постыдных женских трусов - всем большой сорряк, особенно тем, кто кинул в меня за это помидором. Больше никогда не буду такие фото постить - обещаю!)

rippers

ОЧЕНЬ интересно
имею 2 линии, как раз искал железо для таких вещей

6wings

Саша, искать ничего специально не надо. Самый простой способ - купить 2 (или более - по количеству линий) недорогих рутера (лучше даже без Wi-Fi для экономии), настроить каждый под своего провайдера, а в локальной сети дать им разные адреса.

тогда простенький скрипт

@echo off
echo Gateway is %1
route -p change 0.0.0.0 mask 0.0.0.0 %1
pause

будет в одно касание переключать гейтвеи при условии, что в качестве %1 подставляется адрес одного из имеющихся гейтов, например, 192.168.0.1 или 192.168.0.2. Вызовы скрипта удобно вывести на шорткаты (ярлыки), в которых надо явно задать номера этих гейтов. Кликнул по одной иконке - работаешь через одного прова, кликнул по другой - через другого.

Варианты с гейтвеями могут выглядеть и по-другому (как, например, сделано конкретно у меня):

  • один из гейтов является виртуальной машиной с функциями шлюза и адресом в локальной сети 192.168.0.1
  • второй гейт - старенький рутер от Тренднет с внутренним адресом 192.168.0.100
    А можно и оба гейта сделать виртуальными - это, наверное, самый дешевый вариант по железу т.к. понадобится купить только 2 сетевые карты.

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

Добавлено:
Еще надо заметить, что если при помощи шорткатов раскрасить окна командной строки с исполняемым скриптом в разные цвета и дополнительно уменьшить этим окнам размер, то эти маленькие разноцветные окошечки будут напоминать, через какой гейт на каком компе в данный момент идёт трафик. У меня, например, это выглядит так:

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

ipconfig
pause

результат его работы выглядит примерно так (зависит от количества интерфейсов в компе):

Здесь можно увидеть Default Gateway интересующего нас интерфейса. (В данном случае 192.168.0.1)

AlexeyOleynikov

/с белой завистью/
И где ж, вы, Андрей, таких пользователей локалки берете, которым можно усем доверить выбор канала?

6wings
AlexeyOleynikov:

И где ж, вы, Андрей, таких пользователей локалки берете, которым можно усем доверить выбор канала?

строго говоря, в данном случае все мои пользователи - я сам (4 физ. компа не считая виртуальных) + мой сын = 5 физ. компов.
Я же сразу написал о том, что провёл второй канал себе домой ))

Но не вижу причин не использовать ту же технологию и в офисах - ничего страшного в смене гейтвея нет и ничем такое действие навредить другим не может. Если пользователь видит, что работа идёт слишком медленно, то почему бы не попробовать переключиться на другой гейт, который сейчас менее загружен? На работу других пользователей это непосредственно не влияет. Не говоря уже о том, что если надо иметь выделенный гейт для системных/привилегированных нужд, то пользователю просто не ставят такой шорткат на экран и он на него не переключится. Он даже не будет знать, что такой гейт есть в сети (если ему об этом не сказать). Кроме того, привилегированный гейт можно закрыть по доступу только с фиксированных внутренних IP и даже МАС, имеющих на него право.
Короче - не проблема.

Prsh

Такой наивный вопрос. А как 2 раутера подключаются физически? я правильно понимаю что два раутера соединены проводом друг с другом (Ethrnet порт <-> Ethernet port), а к оставшимся портам (не важно на каком раутере) подключены компьютеры?
Кстати глупый вопрос: вы говорите рутер, а у нас говорят раутер; что в России все говорят рутер? Вроде так и должно быть, но по-моему почти везде (в америке, европе) говорят раутер). Мне всегда было непонятно почему? What does the router do? Routes or routs?))

6wings
Prsh:

А как 2 раутера подключаются физически?

физически вся домашняя сеть включена в один свитч (у меня лично в квартире он гигабитный на 8 портов - 8 дырок RJ-45). В этот же свитч включаются и гейтвеи (шлюзы). Т.е. все компы, включая гейты, равноправны. Даже виртуальные машины, которые подключены бриджами к адаптерам физ. хостов, на которых они работают. Правда, тут тоже есть один нюанс - в качестве гипервизора у меня везде используется VMware, который позволяет “захватывать” некоторые вирт. устройства монопольно. Но об этом в другой раз, если это кому-то интересно. (так же как и о сравнительных возможностях Hyper-V и VMware, VirtualBox просто не рассматриваем в силу его убогости и немеряного количества багов)

Prsh:

вы говорите рутер, а у нас говорят раутер

посмотрите транскрипцию в словаре (например, Лингво) - как оно произносится в оригинале. Кстати, изначально это был железнодорожный термин - на какие руты (пути) направить тот или иной поезд ))

Prsh
6wings:

посмотрите транскрипцию в словаре (например, Лингво) - как оно произносится в оригинале.

В лингво нет транскрипции; но я говорю, что как я слышу все говорят вокруг - раутер. насколько я понимаю нет однозначного мнения:…stackexchange.com/…/what-is-the-correct-way-to-pr…

6wings
Prsh:

В лингво нет транскрипции

как это нет?? Всё есть:

другой вопрос, что все говорят “роутер”, хотя надо бы говорить “рутер” как говорили железнодорожники.
Впрочем, ну и хрен бы с ним - “Не выходи замуж за железнодорожника” - помните такую песню? ))

boroda_de

интересное решение 😃

6wings:

я знаменую свой выход

С возвращением 😃

6wings
boroda_de:

С возвращением

спасибо, Юр ))
Две недели пролетели… кучу дел успел сделать не тратя времени на чтение нашего замечательного форума )))
Я тут на более, чем на 1000 тем подписан (в т.ч. устаревших). А ты?

Кстати, насчёт транскрипции… Вот оригинал:

6wings
boroda_de:

1555 в подписках

Офигеть )))
Ты меня переплюнул!!!

Однако, ты и на год меня раньше зарегистрировался…
Признаюсь - тематические ветки почти не читаю. Давно всё уже ясно. Да и проще позвонить коллегам, чем тут спрашивать. Реально осталась только Курилка.

boroda_de

Зато у тебя по сообщениям рекорд 😃

6wings:

Реально осталась только Курилка.

Кроме подписок синим помеченое не вижу

Жизнь прекрасна.
Только поиск по форуму в этих разделах тоже не находит ничего. Приходится яндексом…

P.S. Надают нам за офтоп. Предупреждений у меня уже достаточно
P.P.S. Кстати, по-немецки тоже рутэр произносится.

6wings
boroda_de:

Надают нам за офтоп. Предупреждений у меня уже достаточно

ну и пусть “надают”.
Если уж Лейзи теперь навеки в бане (с которым я ругался перманентно, но и уважал изрядно), то мне
в такой компании быть даже лестно )))
Не говоря уже о том, что этот форум - просто один из лучших, если не самый лучший (спасибо Пузрину).
Однако, времени он отнимает немало. Иногда это время просто жалко. Потому что за время тупого чтения
чьих-то идиотских постингов можно успеть много креатива сделать (см. эту тему, например)

boroda_de:

Кстати, по-немецки тоже рутэр произносится

вот и правильно )))

boroda_de

Ни в бане, ни в предбаннике дядю Вову не нашёл.
Кто-ж его посадит? Это-ж памятник!

Пашеч

А, в принципе, зачем такой огород?!
В квартире тоже много потребителей интернета. Одна точка доступа WiFi(дешевый D-link, но скорость держит - давеча выкачивал - 90-100Мбит).
В дальнюю кухню поставил повторитель вообще за 500руб.
А на случас, когда пчелайн затупит - Yota.
Здесь, под новый год, был случай - воры в доме срезали все провода и унесли всю коммуникалку из дома!!! В таком случае никакой второй канал не поможет. А Yota отлично справилась! Да и по путешествиям по совещаниям - незаменима.

Prsh
6wings:

как это нет?? Всё есть:

Значит у меня старый Лингво - там нет. Но заметьте, и ваш дает 2 варианта. И я не спорю, согласен что по всякой логике должно быть рутер, поэтому видя как вы написали, и спросил, как у вас обычно говорят. Я просто констатирую: что то что я слышу вокруг - это “раутер”.
А вобщем - и хрен с ним))

boroda_de
Пашеч:

давеча выкачивал - 90-100Мбит.

После 250-300 на йоту перепрыгивать не каждый захочет. К хорошему быстро привыкаешь…
У моей тёщи до 400 через кабель…

Пашеч
boroda_de:

После 250-300 на йоту перепрыгивать не каждый захочет. К хорошему быстро привыкаешь…
У моей тёщи до 400 через кабель…

Ух ты!!!
Это у какого провайдера в Москве выход не в лакалку, а в интернет 400!!!
Сам такого жутко хочу!!!

boroda_de

Тоже хочу, но в нашем регионе пока за вменяемые деньги нету. У тёщи WD Box трудится с автоматическим подгрузом заданий.

Пашеч
boroda_de:

Тоже хочу, но в нашем регионе пока за вменяемые деньги нету. У тёщи WD Box трудится с автоматическим подгрузом заданий.

Канал то у неё какой?

boroda_de

Кабельное телевидение. Там свои протоколы вплоть до рутера. Kabel BW

6wings

В Москве МГТС по оптоволокну 200 Мб даёт, мой новый пров NLINE тоже готов оптоволокно в квартиру протащить и целый гигабит всего за 970 руб/мес обеспечивать.
На вопрос “зачем это надо?” - отвечу: “каждому своё”. Мне, например, надо.

Пашеч
boroda_de:

Кабельное телевидение. Там свои протоколы вплоть до рутера. Kabel BW

Juri, вы же сами знаете, что это профанация.
И спецом задал вопрос о доступе в лакалку и в интернет. То, что вы указали - это доступ к провайдеру. А сколько у самого провайдера на выход? Видимо те же 400… На всех.