Vyatta
Vyatta — сетевая операционная система, основанная на Debian GNU/Linux. Работает на оборудовании x86 и x64 и позволяет использовать обычный персональный компьютер или сервер в качестве маршрутизатора, межсетевого экрана или VPN-концентратора. Vyatta также может работать в виртуальной машине, предоставляя традиционные сетевые сервисы для виртуальной инфраструктуры (официально поддерживаются VMware ESX Server и Citrix XenServer, теоретически может работать в любом гипервизоре).
Vyatta | |
---|---|
| |
Разработчик | Vyatta inc. |
Семейство ОС | Linux |
Основана на | Debian |
Первый выпуск | 2005 |
Последняя версия | 6.6 (5 февраля 2013) |
Поддерживаемые языки | Английский |
Тип ядра | Модульное |
Интерфейс | Интерфейс командной строки, веб-интерфейс |
Лицензия | Платный (60 дней триал) |
Состояние | Актуальное |
Веб-сайт |
www.vyatta.com www.vyatta.org |
Разработчиком является компания Vyatta Inc., расположенная в городе Белмонт, Калифорния. Она позиционирует Vyatta как конкурента продуктам Cisco уровня ISR 1800 — VXR 7200.[1]
Vyatta Inc. также предоставляет услуги по технической поддержке своих продуктов, консультации по их настройке и продаёт аппаратное обеспечение с предустановленной Vyatta.
По заявлению разработчиков, название продукта происходит от санскритского слова «открытый».[2]
В 2012 г. компании Vyatta Inc. была поглощена другой американской компанией Brocade Communications Systems
Соответственно система Vyatta послужила основой для исключительно коммерческого продукта Brocade Vyatta Network OS
Производитель сетевого оборудования компания Ubiquiti использует Vyatta (доработанную в плане веб-интерфейса администратора и названную EdgeOS) в своих маршрутизаторах серии EdgeRouter.
Ключевые возможности
- Статическая и динамическая маршрутизация для IPv4 и IPv6 (RIP, OSPF, BGP, RIPng — используется пакет quagga);
- Межсетевое экранирование для IPv4 и IPv6, включая фильтрацию p2p-трафика;
- Трансляция сетевых адресов;
- DHCP-сервер для IPv4 и IPv6;
- Система предотвращения вторжений;
- Балансировка нагрузки (interface bonding) и резервирование канала;
- VLAN (в классическом виде адаптеров с именами вида eth0.20)
- pseudo-Ethernet (то есть второй виртуальный сетевой интерфейс на том же разъеме, использующий свой собственный MAC-адрес)
- Поддержка программного — и, на соответствующем оборудовании, аппаратного bridge/switch
- Резервирование маршрутизаторов с синхронизацией таблицы состояний соединений;
- Виртуальные частные сети (IPsec, L2TP/IPsec, PPTP, OpenVPN);
- Учёт трафика (Netflow и sFlow);
- Веб-прокси и фильтрация URL.
Версии продукта
В настоящее время существуют две версии: Vyatta Core, содержащая только открытые компоненты и распространяющаяся бесплатно, и Vyatta Subscription/Vyatta Plus, содержащая дополнительные (в том числе проприетарные) компоненты и доступная только платным подписчикам.
Среди дополнительных возможностей Vyatta Subscription:
- Синхронизация настроек между маршрутизаторами;
- REST API для удаленного управления;
- Поддержка интерфейсных карт PDH (E1, T1/T3) и V.35;
- Коммерческий расширенный набор правил для фильтрации URL и IPS.
До версии 6.0 Core и Subscription были независимыми периодически синхронизируемыми ветками кода, после этой версии они были объединены, и Subscription представляет собой строгое надмножество Core[3].
Vyatta Core доступна для бесплатной загрузки с сайте разработчиков[4] в виде LiveCD (с возможностью установки на жесткий диск), LiveCD для виртуальных машин (содержит ядро для Xen), а также готовых образов виртуальных машин VMware и XenServer и облачного сервиса Riverbed.
Интерфейс
Настройка и управление системой производятся через единый интерфейс командной строки, напоминающий интерфейс Juniper JUNOS, также сходный с командной строкой оборудования Cisco и D-Link. Также доступен веб-интерфейс (начиная с релиза 6.3 доступен только в платной редакции), который по умолчанию отключён. Веб-интерфейс строится вокруг понятия «дерево настроек».
Интерфейс командной строки поддерживает автодополнение команд по нажатию клавиши Tab и вывод справки по нажатию клавиши «?».
Интерфейс имеет два режима: режим операций (для просмотра параметров и обслуживания системы) и режим настроек. Переход в режим настроек осуществляется командой configure.
Все настройки хранятся в одном файле и имеют иерархическую структуру. Уровни вложенности отмечаются фигурными скобками. Пример:
policy { prefix-list RFC1918 { rule 10 { action permit le 32 prefix 10.0.0.0/8 } rule 15 { action permit le 32 prefix 172.16.0.0/12 } rule 20 { action permit le 32 prefix 192.168.0.0/16 } } }
Команды для изменения настроек включают в себя название операции (например set или delete), путь к нужному узлу конфигурации и значение опции. Например, указать подсеть для последнего правила приведенного выше списка можно командой:
set policy prefix-list RFC1918 rule 20 prefix 192.168.0.0/16
Также можно перейти на нужный уровень вложенности командой edit (например, «edit policy prefix-list RFC1918») и использовать относительные пути («set rule 20 prefix 192.168.0.0/16»). В этом режиме можно переименовывать или копировать узлы настроек с помощью команд rename и copy (например, «rename rule 20 to rule 30»).
Настройки не применяются сразу после ввода команд (в отличие от, например, Cisco IOS). Чтобы они вошли в силу, нужно выполнить команду commit. Это позволяет проверить внесённые изменения и уменьшить вероятность ошибки. Отказаться от внесённых изменений можно командой discard.
Полезные возможности
- даже после команды commit настройки, хотя и вступают в силу, не сохраняются и теряются при перезагрузке. Для сохранения настроек нужно выполнить команду save.
- есть команда confirm-commit <число минут>. Она применяет измененные настройки, не сохраняя их, и далее требует, чтобы в течение указанного временного интервала была выполнена команда confirm. Если этого не сделать, то ОС перезагружается, теряя изменения настроек. Это решает частую у неопытных и спешащих администраторов проблему «отрезал себя новыми настройками от устройства».
- все настройки находятся в одном файле, и ведется история изменений этого файла с комментариями, похожая на историю изменений в SVN или git.
- доступны все возможности Debian соответствующей версии (кроме разве что перестроения ядра, да и это ограничение скорее принадлежит Ubiquiti EdgeOS, нежели самой Vyatta). Непосредственно в командной строке роутера можно писать как команды Vyatta, так и команды самого по себе Linux. Для получения полных прав root нужно (по крайней мере в EdgeOS) исполнить команду «sudo -i».
- возможна установка любых пакетов (подходящих по версии Debian и по типу процессора) из репозиториев Debian.
- возможно даже построение пакетов из исходников (если нужного бинарного пакета под, например, mips не нашлось) непосредственно на роутере.
- в систему входит Python, что позволяет разработку достаточно сложных скриптов отработки реакции на сетевые события.
Ограничения
- Поскольку Vyatta хранит настройки не в классическом каталоге /etc, а в своем формате в каталоге /config (возможно, что /etc строится автоматически на основе /config), то все изменения в системе, сделанные на уровне «голого» Debian Linux, не сохраняются при обновлениях Vyatta на устройстве.
- В частности, это касается дополнительно установленных пакетов Debian и их настроек, а также паролей пользователей в том случае, если они были заданы средствами Linux. Для задания паролей необходимо пользоваться средствами Vyatta.
Примечания
- Cisco Replacement Guide Архивировано 2 января 2011 года.
- About Vyatta Архивировано 19 августа 2010 года.
- Vyatta Version 6.0 Release Features Enterprise and Cloud Networking Enhancements Архивировано 19 августа 2010 года.
- Download Open Source Vyatta Core Releases Архивировано 29 апреля 2011 года.
Ссылки
- Сайт проекта (англ.)
- Сайт Vyatta Inc. (англ.)
- Vyatta 3500 network appliances (англ.)
- Vyatta Routing Software Certified for IPv6 (англ.)
- Vyatta blows out Cisco routers with study (англ.)
- A hands-on look at Vyatta Community Edition 4 networking software (англ.)
- Vyatta: Linux-дистрибутив для роутеров (рус.)