NSG - Примеры конфигурации: Маршрутизация на основе установленных правил (политик)
Оборудование для сетей передачи данных
+7 (495) 727-1959

Маршрутизация на основе установленных правил или политик
Множественные таблицы маршрутизации

Имеется локальная сеть офиса, подключённая к двум поставщикам услуг. Основную часть исходящего трафика следует отправлять через маршрутизатор 123.45.67.89, за исключением следующего правила: трафик от локального хоста 192.168.1.23 следует маршрутизировать через шлюз 98.76.54.29 другого поставщика.

Используется устройство NSG–1800. Маршрутизация на основе установленных правил (политик) реализована в Linux посредством множественных таблиц маршрутизации, поддерживаемых в ядре. Помимо основных таблиц, существующих всегда по умолчанию, в данном примере создаётся дополнительная таблица номер 2. Для её настройки используется механизм dynamic-routing, включающий в себя, в частности, псевдо-протокол static для настройки сложных случаев статической маршрутизации, каковой и имеет место в данном примере. Поскольку требуется только одна дополнительная таблица, то в этом качестве можно использовать основную (master) таблицу "динамической" маршрутизации. Эта таблица формируется средствами узла dynamic-routing и связывается с таблицей номер 2 ядра, которая фактически и осуществляет маршрутизацию. Далее, создаётся правило отбора пакетов, подлежащих маршрутизации по этой таблице.

Курсивом выделены существенные элементы конфигурации, установленные по умолчанию.

Маршрутизация на основе установленных правил (политик)
ip                     
: route                   
: : 1                     
: : : network             = "0.0.0.0/0"
: : : gateway             = "123.45.67.89"
: dynamic-routing         
: : enable                = true
: : kernel                
: : : 1                   
: : : : export            = "all"
: : : : import            = "none"
: : : : kernel-table      = 2
: : : : table             = "master"
: : static                
: : : 1                   
: : : : route             
: : : : : 0.0.0.0/0       
: : : : : : action        = "via-gateway"
: : : : : : gateway       = "98.76.54.29"
: : : : table             = "master"
: nat                    
: : POSTROUTING           
: : : 1                  
: : : : out-interface    = "eth2"
: : : : target           = "SNAT"
: : : : source-ip        = "123.45.67.90"
: : : 2                  
: : : : out-interface    = "eth0"
: : : : target           = "SNAT"
: : : : source-ip        = "98.76.54.30"
: rule                    
: : 10                     
: : : from                = "192.168.1.23/32"
: : : table               = 2
port
: eth0
: : ifAddress
: : : prefix              = "98.76.54.30/30"
: eth1
: : ifAddress
: : : prefix              = "192.168.1.1/24"
: eth2
: : ifAddress
: : : prefix              = "123.45.67.90/30"

Дополнительные замечания:

Таблица master в данном примере используется для простоты, поскольку альтернативная таблица маршрутизации требуется только одна. В противном случае потребовалось бы создать в узле dynamic-routing ещё одну или несколько таблиц и связать каждую из них со своей таблицей ядра Linux.

Правило маршрутизации в данном случае — работает по критерию IP-адреса источника. При необходимости критериями могут быть любые поля и флаги 3 (IP) и 4 (TCP/UDP/etc.) уровней, их сочетания, а также другие критерии, доступные в механизме фильтрации пакетов.

Обязательно задание пароля для доступа к устройству.

В целях безопасности настоятельно рекомендуется также:

  • Отключить Telnet и использовать для удалённого управления только SSH
  • Заблокировать HTTP с помощью фильтров и использовать для удалённого управления только HTTPS