Vyatta — сетевая операционная система, основанная на Debian GNU/Linux. Работает на оборудовании x86 и x64 и позволяет использовать обычный персональный компьютер или сервер в качестве маршрутизатора, межсетевого экрана или VPN-концентратора. Vyatta также может работать в виртуальной машине, предоставляя традиционные сетевые сервисы для виртуальной инфраструктуры (официально поддерживаются VMware ESX Server и Citrix XenServer, теоретически может работать в любом гипервизоре).
Vyatta Inc. также предоставляет услуги по технической поддержке своих продуктов, консультации по их настройке и продаёт аппаратное обеспечение с предустановленной Vyatta.
По заявлению разработчиков, название продукта происходит от санскритского слова «открытый».[2]
Производитель сетевого оборудования компания Ubiquiti использует Vyatta (доработанную в плане веб-интерфейса администратора и названную EdgeOS) в своих маршрутизаторах серии EdgeRouter.
В 2017 г. Brocade продала Vyatta Software Technology компании AT&T.
В 2021 г. компания Ciena объявила о приобретении у AT&T активов и разработок Vyatta.
В настоящее время существуют две версии: Vyatta Core, содержащая только открытые компоненты и распространяющаяся бесплатно, и Vyatta Subscription/Vyatta Plus, содержащая дополнительные (в том числе проприетарные) компоненты и доступная только платным подписчикам.
Среди дополнительных возможностей Vyatta Subscription:
Поддержка интерфейсных карт 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.
Все настройки хранятся в одном файле и имеют иерархическую структуру. Уровни вложенности отмечаются фигурными скобками. Пример:
Команды для изменения настроек включают в себя название операции (например 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.