Tag Archives: netns

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

Advertisements

Примеры применения 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