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

в 16:55, , рубрики: juniper, juniper srx, маршрутизация, Сетевое оборудование, Сетевые технологии, системное администрирование, метки: , ,

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

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

     Проблема, в общем-то, стара как мир и есть много способов ее решения. Я опишу, на мой взгляд, самый простой и наименее время- и ресурсоемкий. Сразу скажу, это не я такой мозг, что вычитал и допер – мне просто сказали, как это сделать проще всего. Сам бы я обязательно изобрел что-нибудь ужасное!
     Пусть основным шлюзом 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. Не шарю в веб-дизайне. Кто-нибудь, скажите, как картинку по центру поставить?

Автор: celebrate

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js