Динамическая маршрутизация
Здравствуйте.
Есть несколько офисов (читай локальных сетей /24), подключенных к различным провайдерам. У некоторых из офисов есть несколько каналов в интернет. В качестве шлюза везде используется Ubuntu Server. Между центральным офисом и филиалами настроены VPN каналы с настроенной статической маршрутизацией, т.е. при подключении клиента на сервере прописывается маршрут в клиентскую сеть. Рассмотрим пример из трёх филиалов: Центральный офис 192.168.0.0/24 Первый филиал 192.168.3.0/24 Второй филиал 192.168.4.0/24 У центрального офиса есть два канала в интернет; у оставшихся по одному. Клиентские шлюзы (192.168.3.1, 192.168.4.1) подключаются к VPN серверу (VPN сеть 192.168.2.0/24), а именно к одному внешнему интерфейсу шлюза центрального офиса (192.168.0.10). Т.о. пакеты свободно попадают из сети 192.168.0.0/24 в сети 192.168.3.0/24 и 192.168.4.0/24, и из клиентских сетей в сеть центрального офиса. Но вот между клиентскими сетями (192.168.3.0/24 и 192.168.4.0/24) пакеты путешествовать не могут ибо не знают куда податься :). Что бы решить проблему в этом примере можно в одной из клиентских сетей поднять VPN сервер и подключаться к нему из другой клиентской подсети. Получится эдакий треугольник. Можно завернуть трафик через центральный офис, но каналы не безграничны и гонять трафик просто так не хочется. Возникает, как мне кажется, нормальный вопрос: как организовать маршрутизацию между несколькими локальными сетями (реально их 5), подключенными к различным провайдерам, не создавая в сети центральной точки маршрутизации трафика? |
начнём с того, что реализация Site-to-Site VPN (LAN-to-LAN) через клиенское подключение и прописываение маршрутов руками неверно.
нужно делать Site-to-Site. далее у вас появлется адекватная таблица маршрутизации, в которой всем понятко куда и откуда нужно бегать. соотно в вашей схеме я вижу 3 Site-to-Site туннеля: 192.168.0.0/24 <->192.168.4.0/24 192.168.0.0/24 <->192.168.3.0/24 192.168.3.0/24 <->192.168.4.0/24 тогда, конечно же, не придётся гонять траффик через основной офис (192.168.0.0/24) а по вопросу динамической маршрутизации - я бы выбрала либо несколько шлюзов с разными метриками, либо аналоги IP-SLA(cisco)/ip-monitoing(juniper), когда делаются два туннеля и в определённых условиях (нет пинга, к примеру) в таблицу маршрутизации заносятся изменения. Можно, так же, рассмотреть OSPF или BGP. |
Цитата:
|
Цитата:
обычно это и называется Site-to-Site, тогда не нужно писать много слов, а технология становится ясной. |
cameron, всегда пытаюсь рассказать как можно подробнее.
Ваше сообщение, меня натолкнуло на мысль поднятия туннеля. Т.е. сейчас есть сервер, есть клиент, логины пароли и процедура авторизации. И при падении клиент должен заново инициализировать соединение. Когда-то я настраивал GRE туннель между двумя Linux системами. В системе он определялся просто как интерфейс tun0. В настройках интерфейса указывались внешние адреса двух взаимодействующих серверов. И, как я понимаю, пакетам просто добавлялся заголовок и пакет передавался на внешний интерфейс второго сервера. Сервер приняв такой пакет снимал заголовок и маршрутизировал дальше. Меня не обрадовало отсутствие шифрования. Если есть мысли по этому вопросу - прошу озвучить ;) По идее мне бы сначала найти вариант передачи трафика между сетями с минимальными количеством настроек на точках, а уже потом развивать идею динамической маршрутизации между этими точками (возможно у какого-то из провайдеров будут проблемы с одним направлением и выгоднее будет пустить трафик через транзитный офис) |
Цитата:
Цитата:
Цитата:
вот пример http://clauseriksen.net/2011/02/02/i...-debianubuntu/ |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
p.s.: русскоязычная статья про opens\wan |
exo, спасибо.
Нашёл ещё одну статью. Но в любом случае придётся на каждом из пяти шлюзов настроить четыре интерфейса смотрящих в соседние шлюзы. |
Цитата:
я сейчас параллельно буду на виртуалке пробовать настраивать. ещё статья на IBM ) |
Удалось поднять ipsec-туннель между шлюзами. Трафик от клиента одной сети до клиента другой сети ходит нормально.
Смущает то, что в системе не создаются тунельные интерфейсы.... если прослушивать трафик на внешнем интерфейсе, то видно что пакет идёт из одной локальной сети в другую локальную сеть... и не понятно шифруется ли трафик... странно это всё... ковыряюсь дальше. Код:
# ifconfig |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Tonny_Bennet, а по какой доке настраивали?
веб-сервер просто для проверки, вместо банального ping |
Цитата:
там в конце стати автор дампит пакеты на интерфейсе ipsec0, который у меня не появляется Цитата:
|
я в документациях видел, что этот интерфейс создаётся вручную...
|
Я сейчас увидел что на каждом шлюзе вывод ipsec showhostkey --left не отличается от ipsec showhostkey --right. А из контекста кажется что "правая" и "левая" часть ключа должны быть разными.
|
Сделал всё описанное при помощи tinc.
Русскоязычная статья http://www.samag.ru/archive/article/423 Официальный сайт проекта В итоге сейчас связаны пять сетей /24 на каждом шлюзе по одному интерфейсу. |
Цитата:
кстати, tinc есть в PFSense |
|
Время: 06:57. |
Время: 06:57.
© OSzone.net 2001-