Pull to refresh

Устранение ассиметричной маршрутизации в Juniper SRX

Reading time 2 min
Views 12K
     В данной статье я опишу, как с помощью родных средств Juniper SRX можно действительно легко и изящно разрулить некоторые раздражающие схемы маршрутизации. Речь пойдет об использовании виртуального маршрутизатора, а точнее, в терминах Джуниперов, routing-instance virtual-router.
     Кратко проблему можно сформулировать так: есть два или больше внешних Интернет-канала (ISP1 и ISP2) и есть веб-сервер внутри сети. На шлюзе поднят source NAT, который отдает страничку обоим внешним интерфейсам. Надо чтобы клиенты обоих провайдеров видели веб-страницу. Проблема в том, что, если, допустим, основным шлюзом у нас является ISP1, то веб-запросы из сети ISP2 приходят к нам на сервер и уходят через основной шлюз в сеть к ISP1, который это дело, понятное дело, блочит.



     Проблема, в общем-то, стара как мир и есть много способов ее решения. Я опишу, на мой взгляд, самый простой и наименее время- и ресурсоемкий. Сразу скажу, это не я такой мозг, что вычитал и допер – мне просто сказали, как это сделать проще всего. Сам бы я обязательно изобрел что-нибудь ужасное!
     Пусть основным шлюзом ISP1 у нас будет 1.2.3.1, а шлюзом ISP2 будет 5.6.7.1. Создаем routing-instance:
root@srx# set routing-instances ISP2_route instance-type virtual-router
root@srx# set routing-instances ISP2_route interface ge-0/0/2
root@srx# set routing-instances ISP2_route routing-options static route 0/0 next-hop 5.6.7.1

     Теперь импортируем маршруты в таблицу маршрутизации в сеть ISP2.
root@srx# set routing-options interface-routes rib-group inet ISP2
root@srx# set routing-options rib-groups ISP2 import-rib ISP2_route.inet.0
root@srx# set routing-options rib-groups ISP2 import-rib inet.0
     Вот собственно и все! Применив эту конфигу, пакеты придя с сети, ISP2 будут уходить обратно уже в сеть ISP2.
     Что мы сделали? И что вообще такое этот virtual-router? По сути, виртуальный роутер – это практически полноценный маршрутизатор со своей таблицей маршрутизации и своими интерфейсами. Первой серией команд мы создали его, указали, что интерфейс ge-0/0/2 теперь является его интерфейсом, а также указали, что его основным шлюзом является шлюз ISP2. На данном этапе была создана новая таблица маршрутизации ISP2_route.inet.0 всего с одной записью (основной шлюз)
     Вторая серия команд позволила импортировать в новую таблицу маршрутизации, так называемые, интерфейс-роуты, т.е. локальные маршруты до интерфейсов Джунипера. Без них виртуальный роутер не смог бы увидеть веб-сервер. Интерфейс-роуты были взяты из дефолтной таблицы маршрутизации, которая в Джуниперах имеет название inet.0.
     Вот и все!

P.S. Не шарю в веб-дизайне. Кто-нибудь, скажите, как картинку по центру поставить?
Tags:
Hubs:
+4
Comments 25
Comments Comments 25

Articles