SmartEdge Inter-context how to

Ericsson SmartEdge межконтекстная маршрутизация.
 

Одним из самых удобных функционалов в SmartEdge являются виртуальные маршрутизаторы или контексты (context). Допустим мы имеем контекст для dynamic CLIPS абонентов, для pppoe, для static CLIPS и static CLIPS для юридических лиц. Таким образом 4 независимых контекста, никак не связанных по умолчанию между собой. В такой ситуации нам пришлось бы на каждый контекст выделять физический порт или vlan для аплинка, что явно неразумно.

Статическая маршрутизация.
Первый инструмент. Статическая маршрутизация между контекстами, не local.
Включается в глобальной конфигурации:
[local]Redback(config)#service inter-context routing
В каждом контексте прописываются статические маршруты.
Пример:

[local]Redback(config)#service inter-context routing
[local]Redback(config)#context local
[local]Redback(config-ctx)#ip route 0.0.0.0/0 1.2.3.4/30
[local]Redback(config-ctx)#context sCLIPS
[local]Redback(config-ctx)#ip route 11.1.1.0/24 context yuCLIPS
[local]Redback(config-ctx)#ip route 12.2.0.0/16 context dCLIPS
[local]Redback(config-ctx)#ip route 12.6.0.0/16 context TUN
[local]Redback(config-ctx)#ip route 0.0.0.0/0 context local
[local]Redback(config-ctx)#context dCLIPS
[local]Redback(config-ctx)#ip route 11.1.1.0/24 context yuCLIPS
[local]Redback(config-ctx)#ip route 12.6.0.0/16 context TUN
[local]Redback(config-ctx)#ip route 11.10.0.0/16 context sCLIPS
[local]Redback(config-ctx)#ip route 0.0.0.0/0 context local
[local]Redback(config-ctx)#context TUN
[local]Redback(config-ctx)#ip route 11.1.1.0/24 context yuCLIPS
[local]Redback(config-ctx)#ip route 12.2.0.0/16 context dCLIPS
[local]Redback(config-ctx)#ip route 11.10.0.0/16 context sCLIPS
[local]Redback(config-ctx)#ip route 0.0.0.0/0 context local
[local]Redback(config-ctx)#context yuCLIPS
[local]Redback(config-ctx)#ip route 12.2.0.0/16 context dCLIPS
[local]Redback(config-ctx)#ip route 11.10.0.0/16 context sCLIPS
[local]Redback(config-ctx)#ip route 12.6.0.0/16 context TUN
[local]Redback(config-ctx)#ip route 0.0.0.0/0 context local
В данном примере мы замкнули межабонентский трафик внутри SE.

 

 

Маршрут на другой контекст будет действительным, только если в следующем контексте имеются маршруты для этого префикса.

Интерконтекст интерфейсы.
Межконтекстные интерфейсы дают возможность обмена маршрутами между двумя или более контекстами посредством динамического протокола маршрутизации IS-IS, для статической маршрутизации, для мультикаста MDT по виланам, в пределах одного физического устройства(SmartEdge).
Могут быть двух видов point-to-point и point-to-multipoint (в конфиге называется LAN). Соединение типа точка-точка (point-to-point) служит для соединения двух интерконтекст интерфейсов двух разных контекстов. Заострю внимание, только два p2p интерконтекст интерфейса могут иметь одинаковый ID. Тип соединения LAN может иметь множество интерфейсов в множестве контекстов. Интерфейсы с одинаковым ID объединяются в группу соединенную друг с другом. Таким образом разбив LAN интерфейсы на несколько групп можно получить соответственное число групп независимой интерконтекстной маршрутизации. Где это можно применить? Например физически разделив клиентов физических и юридических лиц, вплоть до аплинков, полностью независимы сущности.
Конфигурация интерфейсов:
interface if-name intercontext if-type grp-num
if-name — имя интерфейса
if-type — тип интерфейса p2p/LAN
grp-num – ID интерфейса, от 1 до 1023 (должно совпадать с одним или более ID сопряженного интерфейса)
Интерконтекст интерфейсу нельзя присваивать маску сети 255.255.255.255.
Пример, мы создали две группы интерфейсов, одна группа (ID 1) клиентский трафик между контекстом local и соответствующими контекстами, вторая (ID 2) — трафик юр.лиц, по интерконтекст соединению point-to-point.
[local]Redback(config)#service inter-context routing
[local]Redback(config)#context local
[local]Redback(config-ctx)#interface linter1 intercontext lan 1
[local]Redback(config-ctx)#ip address 192.168.0.1/24
[local]Redback(config-ctx)#interface linter2 intercontext p2p 2
[local]Redback(config-ctx)#ip address 192.168.1.1/30
[local]Redback(config-ctx)#context sCLIPS ( 11.10.0.0/16)
[local]Redback(config-ctx)#interface sinter intercontext lan 1
[local]Redback(config-ctx)#ip address 192.168.0.2/24
[local]Redback(config-ctx)#context dCLIPS  ( 12.2.0.0/16)
[local]Redback(config-ctx)#interface dinter intercontext lan 1
[local]Redback(config-ctx)#ip address 192.168.0.3/24
[local]Redback(config-ctx)#context TUN ( 12.6.0.0/16)
[local]Redback(config-ctx)#interface tinter intercontext lan 1
[local]Redback(config-ctx)#ip address 192.168.0.4/24
[local]Redback(config-ctx)#context yuCLIPS   ( 11.1.1.0/24)
[local]Redback(config-ctx)#interface yinter intercontext p2p 2
[local]Redback(config-ctx)#ip address 192.168.1.2/30


Динамическая интерконтекст маршрутизация.
Динамическая интерконтекст маршрутизация базируется на протоколе IS-IS и intercontext интерфейсах. Так же поддерживается BGP протокол, но в силу его специфики isis предпочтительней. Настройка роутинга между контекстами, ничем не отличается от обычной, на физических интерфейсах.
Ниже показан пример на основе ранее описанных контекстов и интерфейсов, динамическая маршрутизация абонентского трафика между клиентскими контекстами.

[local]Redback(config)#service inter-context routing
[local]Redback(config)#context local
[local]Redback(config-ctx)#interface linter1 intercontext lan 1
[local]Redback(config-ctx)#ip address 192.168.0.1/24
[local]Redback(config-ctx)#router isis backbone
[local]Redback(config-isis)#net 47.0001.1111.2222.3333.00
[local]Redback(config-isis)#interface linter1
[local]Redback(config-isis)#redistribute static bgp

[local]Redback(config-ctx)#context sCLIPS ( 11.10.0.0/16)
[local]Redback(config-ctx)#interface sinter intercontext lan 1
[local]Redback(config-ctx)#ip address 192.168.0.2/24
[local]Redback(config-ctx)#router isis backbone
[local]Redback(config-isis)#net 47.0001.0001.0002.0003.00
[local]Redback(config-isis)#redistribute static subscriber connected
[local]Redback(config-isis)#interface sinter

[local]Redback(config-ctx)#context dCLIPS  ( 12.2.0.0/16)
[local]Redback(config-ctx)#interface dinter intercontext lan 1
[local]Redback(config-ctx)#ip address 192.168.0.3/24
[local]Redback(config-ctx)#router isis backbone
[local]Redback(config-isis)#net 47.0001.0001.0002.0004.00
[local]Redback(config-isis)#redistribute static subscriber connected nat
[local]Redback(config-isis)#interface dinter

[local]Redback(config-ctx)#context TUN ( 12.6.0.0/16)
[local]Redback(config-ctx)#interface tinter intercontext lan 1
[local]Redback(config-ctx)#ip address 192.168.0.4/24
[local]Redback(config-ctx)#router isis backbone
[local]Redback(config-isis)#net 47.0001.0001.0002.0005.00
[local]Redback(config-isis)#redistribute static subscriber connected
[local]Redback(config-isis)#interface tinter
 

Использование интерконтекстной маршрутизации позволяет использовать под каждую задачу (CLIPS/PPPoE/L2TP и т.п.) свой собственный контекст. Что в свою очередь позволяет упростить конфигурацию, получить более понятную и управляемую систему.