GRE over IPSEC

Про настройку GRE туннелей ранее я уже писал, теперь стоит упомянуть о настройке IPSEC поверх GRE. Делается это для того, чтобы получить возможность использовать динамическую маршрутизацию. При обычном IPSec сделать мы этого не можем, постольку поскольку IPSec не поддерживает multicast и broadcast.

greoveripsec

Для начала настроим GRE туннель и динамическую маршрутизацию между R7 и R8.

Continue reading GRE over IPSEC

OSPF Sham-Link

При выборе маршрута OSPF иногда принимает не совсем те решения, которые бы хотелось.

У нас есть MPLS VPN. R9,R8 — CE, R7, R5 — PE. R9 получает маршрутную информацию от R8 в конечном итогу в виде inter-area маршрутов в независимости от того, что area у нас настроена одна и та же. PE выступает здесь в качестве ABR.

Continue reading OSPF Sham-Link

MPLS L3 VPN

MPLS VPN позволяет оператору связи строить туннели для разных клиентов, объединяя локальные сети клиентов в одну.

При разговоре о MPLS L3 VPN следует сначала упомянуть о технологии VRF.
VRF (Virtual Routing and Forwarding) — технология, позволяющая на одном физическом маршрутизаторе создать несколько логических маршрутизаторов. У каждого из этих маршрутизаторов будет своя RIB и FIB, которая будет независимой от других RIB и FIB на этом устройстве и также независима от глобальной таблицы.

В контексте MPLS VPN маршрутизаторы клиента называются CE (Client Edge), маршрутизаторы провайдера PE (Provider Edge) (те, к которым подключены CE) и P (находятся в облаке MPLS).
MPLS_VRF

Continue reading MPLS L3 VPN

Регулярные выражения: полезные примеры

Для начала самые частые простые пример:

/\A[a-zA-Z]\z/ — слово начинается с любой буквы и содержит в себе все буквы английского алфавита. \A — соответствует началу строки, \z — конец строки

/\w.*?o.*?r.*?d.*?\z/ — найти подстроку в строке, где есть w-o-r-d внутри, т.е. например «qweouirfgdfgld» или просто «word». Начало строки — \A — мы тут не указываем, потому как хотим, чтобы «слово» было найдено внутри строки. w.*? — означает, что после w может идти сколько угодно символов.

/(?<=w)[a-z]{1,}\z/  так называемый lookbehind (есть также lookahead). Смотрит есть ли указанный символ перед (после в случае lookahead) строки. В данном случае совпадет с whello, но не с qhello, например.

продолжение следует…