Tag Archives: vrf

Виртуальные CPE с помощью Cisco IOS, VRF, DHCP и NAT

vCPE-scheme

В последнее время не редко можно встретить упоминание концепции vCPE – виртуальной CPE на стороне оператора, технически это означает L2 до оператора (т.е оператор терминирует все абонентские устройства). Причины такого подхода могут быть разные – от персонифицированного родительского контроля до нежелания/неспособности абонента настраивать свою CPE (пробрасывать порты, вешать ACL-и т.п). В этой заметке рассматривается следующий сценарий: каждому абоненту выделяется статический внешний IP, локальная сеть пробрасывается отдельным вланом до устройства vCPEs, в локальной сети используется адресация 192.168.1.0/24 (по желанию абонента может быть изменена), абоненту предоставляются сервисы DHCP, source NAT и NAT port forwarding. В примере используется оборудование Cisco 7200 с ПО “c7200-advipservicesk9-mz.152-4.S5.bin”, но аналогичная конфигурация может быть применена и на современном оборудовании Cisco с ПО IOS или IOS-XE.
Continue reading

Advertisements

Клиентские L3VPN и обход VTY ACL на оборудовании Huawei

Суть проблемы довольно простая – telnet/ssh (далее, для простоты изложения речь пойдёт про telnet) работают во всех vpn-instance, таким образом, L3VPN-подключение является потенциальной угрозой для обхода VTY ACL, поскольку, в общем случае, абонент сам планирует своё адресное пространство. Типичные схемы подключения (PE-CE) – /30, /30+static route(часто, default в центральной точке), /30+bgp. Если в сторону клиента есть static route или bgp без (жёсткого) согласования префиксов (например, только с лимитом на их количество), то абонент может пытаться зайти телнетом на ip-адрес транспортной сети(/30) на стороне провайдера.
Continue reading

Linux Network Namespaces: Examples of Usage

Linux core starting from the version 2.6.29 has quite interesting and useful function – network namespaces(netns), nevertheless people either don’t know about it, or don’t understand what to do with it. This post reviews several possible usage examples of this functionality:

  • L3VPN monitoring with ovelapped address space using zabbix and zabbix-proxy
  • Automated testing of network software (dhcp, pppoe-servers etc.)
  • Providing L3VPN service with additional services (NAT, DHCP and others) and CPE virtualization as a special case of this task
  • Isolation of server controls from other services

The function is similar to Cisco VRF, but even more does it remind about Juniper logical-system. Besides, the above-stated tasks can be solved by creating a set of conventional virtual machines or OpenVZ containers. Traditional virtualization is not exactly practical when dealing with pure network “isolation” tasks, and anyway it has its expenses (including expenses for maintenance). OpenVZ is nearly perfect, though it isn’t commited to the upstream and therefore limits you in the choice of the core version and chains you with dependancy. Continue reading

VRF (L3VPN) в Mikrotik RouterOS: defective by design

VRF(L3VPN) в Mikrotik RouterOS реализован с помощью таблиц маршрутизации Linux, однако такой способ построения VRF не является полноценным, это связано с тем, что таблицы policy based routing (ip rule), RT local, arp/nd, firewall остаются общими. Кроме того, 0-ое правило PBR (0: from all lookup local) в старых версиях ядра линукс(<2.6.33) нельзя было удалить, что ограничивало возможность реализовать VRF-ы на базе таблиц маршрутизаций Linux, аналогичные Cisco, Juniper и т.п.

Во что же выливаются все эти нюансы реализации и исторические справки? Если кратко, то VRF в Mikrotik не являются полноценными VRF, а именно не решают полностью проблему пересечения IP-адресов в разных адресных пространствах. В случае, когда IP-адрес принадлежит интерфейсу Mikrotik, то он доступен из всех VRF. Для демонстрации этой проблемы будет использоваться RouterOS x86 6.17 (от 18.07.2014). Схема сети следующая:

mikrotik-vrf-l3vpn
Continue reading

Примеры применения Linux network namespaces (netns)

В ядре Linux(начиная с версии 2.6.29) имеется весьма интересный и полезный функционал network namespaces(netns), однако про его существование, чаще всего, либо не знают, либо не понимают что с ним можно делать. В этой заметке рассматривается несколько примеров применения этого функционала:

  • Мониторинг L3VPN с пересекающимися адресными пространствами средствами zabbix и zabbix-proxy
  • Автоматизированное тестирование сетевого ПО(dhcp, pppoe-сервера и т.п.)
  • Предоставление услуги L3VPN с дополнительными сервисами(NAT, DHCP и другими) и виртуализация абонентской CPE как частный случай решения этой задачи
  • Изоляция управления сервером от остальных сервисов

Функционал похож на Cisco VRF, но ещё больше напоминает Juniper logical-system. Кроме того, описываемые задачи можно решать с помощью создания множества обычных виртуальных машин или контейнеров OpenVZ. Традиционная виртуализация не очень удобна для “чисто сетевых” задач “изоляции” и так или иначе, имеет накладные расходы(в том числе на обслуживание). OpenVZ почти всем хорош, кроме того, что не закоммичен в апстрим и как следствие ограничивает вас в выборе ядра, привязывает к себе(тянет себя как зависимость). Continue reading