Vyatta

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Vyatta
Vyatta trans 200.png
Разработчик Vyatta inc.
Семейство ОС Linux
Основана на Debian GNU/Linux
Первый выпуск 2005
Последняя версия 6.6 (5 февраля 2013)
Поддерживаемые языки Английский
Тип ядра Модульное
Интерфейс Интерфейс командной строки, веб-интерфейс
Лицензия Платный (60 дней триал)
Состояние Актуальное
Веб-сайт www.vyatta.com
www.vyatta.org

Vyatta — сетевая операционная система, основанная на Debian GNU/Linux. Работает на оборудовании x86 и x64 и позволяет использовать обычный персональный компьютер или сервер в качестве маршрутизатора, межсетевого экрана или VPN-концентратора. Vyatta также может работать в виртуальной машине, предоставляя традиционные сетевые сервисы для виртуальной инфраструктуры (официально поддерживаются VMware ESX Server и Citrix XenServer, теоретически может работать в любом гипервизоре).

Разработчиком является компания Vyatta Inc., расположенная в городе Белмонт, Калифорния. Она позиционирует Vyatta как конкурента продуктам Cisco уровня ISR 1800 — VXR 7200.[1]

Vyatta Inc. также предоставляет услуги по технической поддержке своих продуктов, консультации по их настройке и продаёт аппаратное обеспечение с предустановленной Vyatta.

По заявлению разработчиков, название продукта происходит от санскритского слова «открытый».[2]


В 2012 г. компании Vyatta Inc. была поглощена другой американской компанией Brocade Communications Systems

Соответственно система Vyatta послужила основой для исключительно коммерческого продукта Brocade Vyatta Network OS

http://www.brocade.com/en/products-services/software-networking/network-functions-virtualization/vyatta-network-os.html

Производитель сетевого оборудования компания 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.

Интерфейс[править | править код]

Пример сессии настроек в командной строке
Веб-интерфейс Vyatta

Настройка и управление системой производятся через единый интерфейс командной строки, напоминающий интерфейс 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.

Примечания[править | править код]

Ссылки[править | править код]