Vyatta — Linux-дистрибутив для роутеров::Журнал СА 6.2007
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 5400
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 6594
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 7877
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 8169
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 7165
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Vyatta — Linux-дистрибутив для роутеров

Архив номеров / 2007 / Выпуск №6 (55) / Vyatta — Linux-дистрибутив для роутеров

Рубрика: Администрирование /  Продукты и решения

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС

Vyatta – Linux-дистрибутив для роутеров

В конце февраля этого года компания Vyatta анонсировала вторую версию разрабатываемого ею дистрибутива, позволяющего превратить обычный ПК в маршрутизатор. Это решение позиционируется как конкурент продуктам нижнего уровня Cisco и Juniper. Что же такого особенного в Vyatta?

Сначала никакого дистрибутива не было. Одной из первых разработок Vyatta был программный пакет Open Flexible Router (OFR), превращающий обычный ПК в маршрутизатор. Причем отмечалось, что производительность работы и уровень безопасности соответствовал коммерческим продуктам. С самого начала курс взят на открытость, так как, по мнению разработчиков, это значительно ускоряет устранение возможных недостатков и способствует быстрому развитию продукта и адаптации для всех возможных условий. Кстати, Vyatta – это санскритское слово, обозначающее «открытый». Компания видит свой продукт сетевым эквивалентом решений вроде Linux или Firefox, правда, который противопоставляется продуктам не от Microsoft, а от Cisco Systems.

Особености Vyatta

Проект Vyatta возник не на пустом месте. Основой OFR является eXtensible Open Router Platform (XORP), платформа маршрутизации с открытым кодом, работающая в укрепленном варианте UNIX. Его разработкой занимается группа в International Computer Science Institute (ICSI) Беркли под руководством Atanu Ghosh, финансируют проект такие гиганты, как Intel и Microsoft, а также National Science Foundation и Vyatta. В настоящее время код XORP содержит 670,000 строк на языке C++, может быть скомпилирован на Linux, OpenBSD, FreeBSD, DragonFlyBSD, NetBSD, Mac OS X и Windows Server 2003 и распространяется под BSD-подобной лицензией. Поддерживаются протоколы Border Gateway Protocol (BGP, с некоторыми расширеними под IPv6), Routing Information Protocol (RIP v2 для IPv4 и RIPng для IPv6), Protocol-Independent Multicast Sparse Mode (PIM-SM), Internet Group Management Protocol (OSPFv2 (RFC2328) и OSPFv3 (RFC2740), Multicast Listener Discovery (MLD), OSPF (Open Shortest Path First), IGMP и SNMP. Проект XORP предоставляет готовый LiveCD‑дистрибутив, который можно использовать для тестирования. Хотя, наверное, спешить не стоит, так как Vyatta обладает большими возможностями. Так, Vyatta поддерживает протокол Virtual Router Redundancy Protocol (VRRP), что позволяет применять маршрутизатор как резервный, мгновенно берущий на себя обработку в случае сбоя основного. Кроме этого, в Vyatta включены разработки более чем 60 различных Open Source-проектов и свой код. Распространяется дистрибутив под BSD-подобной или GPLлицензией. Но наряду с этим решением предлагается подписка на коммерческие редакции. Компания использует бизнес-модель, применяемую Red Hat, то есть производитель планирует предложить платные услуги и поддержку для пользователей маршрутизаторов Vyatta, в то же время само программное обеспечение доступно совершенно бесплатно.

Компанию основал в 2005 году Аллан Лайнванд (Allan Leinwand), который работал в Cisco еще в те времена, когда штат компании насчитывал около сотни сотрудников. Одним из управляющих Vyatta является Келли Харрелл (Kelly Harrell), бывший вице-президент по маркетингу в компании MontaVista, специализирующейся на решениях со встраиваемыми версиями Linux. Вероятно, поэтому одними из первых продуктов Vyatta были сетевые приставки-маршрутизаторы, работающие под управлением Linux и установленные на серверы Dell PowerEdge 850, оснащенные двумя портами Gigabit Ethernet. Последняя версия Vyatta Community Edition 2 представляет собой дистрибутив GNU/Linux на базе Debian, что прибавило ему дополнительной гибкости и возможностей, а также большую поддержку оборудования, в том числе и мультипортовых T1/E1 и T3-карт.

Работа с Vyatta CE2

Для примера настройки соединим сеть с провайдером, то есть к порту eth0 будет подключен Интернет, а eth1 будет «смотреть» в локальную сеть. На сайте проекта можно скачать ISO-образ LiveCD-дистрибутива, который будет работать без установки на жесткий диск, конфигурационные файлы при этом можно сохранять на флоппи-диск или использовать TFTP-сервер. Но при необходимости его можно установить на жесткий диск, а также Flash или USB-устройство. Также можно скачать готовый образ для виртуальной машины VMware.

После загрузки с образа регистрируемся как пользователь root или vyatta, пароль в обоих случаях vyatta. Во втором случае попадаем сразу в оболочку маршрутизатора. Если для входа использован root, дополнительно следует ввести команду xorpsh:

# xorpsh

Welcome to Vyatta on vyatta

root@vyatta>

Теперь можно приступать к настройкам. Чтобы просмотреть доступные команды, достаточно ввести знак вопроса «?». Сейчас нас интересует команда configure, набрав которую и попадаем в заветный режим настройки. Если нужно опять вернуться назад, достаточно набрать «exit». Причем если нужно сохранить все внесенные изменения, то вначале следует ввести «commit». Чтобы выйти без сохранения настроек, используйте «exit discard». Вначале следует ознакомиться с настройками по умолчанию, вводим «show», для перемещения вперед/назад используем клавиши <Пробел/b>.

В Vyatta (точнее XORP) используется Cisco-подобный командный интерфейс к настройкам. Для доступа к редактируемым настройкам необходимо использовать команду edit, установка нового значения производится с помощью set, а удаление – delete. Поддерживается традиционное автодополнение с использованием табуляции, поэтому полностью вводить команду не обязательно. Настраиваем первый сетевой интерфейс:

# edit interfaces ethernet eth0

[edit interfaces/ethernet/eth0]

# set description "WAN"

[edit interfaces/ethernet/eth0]

# set address 192.168.1.58 prefix-length 24

[edit interfaces/ethernet/eth0]

Смотрим:

# show

>      description: "WAN"

hw-id: 00:0C:29:9C:B8:75

>       address 192.168.1.58 {

>       prefix-length: 24

>       }

Если все нормально, записываем:

# commit

[edit interfaces/ethernet/eth0]

OK

Если теперь снова использовать команду show, то в выводе уже не будут содержаться значки «>». Это означает, что это значение уже записано. Обратите внимание на подсказку [edit interfaces/ethernet/eth0], которая помогает не заблудиться в дереве настроек, что бывает весьма полезным при глубокой вложенности. При входе в режим настройки сразу попадаем в корень, то есть подсказка будет выглядеть как [edit]. Перемещаться по дереву можно командой «up» либо для выхода в корень «exit», или «top». Например:

# up

[edit interfaces/ethernet]

Попробуем удалить описание:

# delete description

Deleting:

description: "WAN"

OK

[edit interfaces ethernet eth0]

Просмотрев настройки с помощью show, можно увидеть, что перед строкой description появился знак минус, говорящий о том, что планируется удаление этого параметра. Аналогично настраиваем и остальные интерфейсы:

# set interfaces ethernet eth1 address 10.10.10.10 prefix-length 24

# set interfaces loopback lo address 10.10.10.10 prefix-length 32

# commit

Просмотреть настройки интерфейсов можно, введя «show interfaces» (см. рис. 1).

Рисунок 1. Просмотр настроек интерфейсов

Рисунок 1. Просмотр настроек интерфейсов

Далее необходимо указать имя узла и домена, к которому он принадлежит.

# set system host-name router

[edit]

# set system domain-name domain.com

[edit]

root@vyatta# commit

OK

Об успехе будет свидетельствовать и изменение имени системы в приглашении командной строки. И не забываем о шлюзе по умолчанию:

# set protocols static route 0.0.0.0/0 next-hop 192.168.1.1

Задаем DNS-сервер:

# set system name-server 192.168.1.1

В состав Vyatta входит сервер SSH, включив его, в дальнейшем все настройки можно производить удаленно:

# set service ssh

Нажав табуляцию, можно просмотреть список доступных сервисов:

# set service

Possible completions:

<[Enter]>          Execute this command

dhcp            dhcp settings

dhcp-server      DHCP configuration

http            Enable/disable HTTP protocol

nat                  NAT configuration

ssh                  Enable/disable SSH protocol

telnet            Enable/disable telnet protocol

{                  Enter text on multiple lines

Как видите, есть еще веб-сервер, telnet и dhcp.

Включение NAT и создание правил firewall

Включим NAT и разрешим исходящий трафик из сети, подключенной к eth1:

# create service nat rule 1

# edit service nat rule 1

# set type source

# set translation-type masquerade

# set outbound-interface eth0

# set protocols all

# set source network 10.10.10.0/24

# set destination network 0.0.0.0/0

# top

Если во внутренней сети находится веб-сервер, разрешаем к нему доступ извне:

# create service nat rule 2

# edit service nat rule 2

# set type destination

# set translation-type static

# set inbound-interface eth0

# set protocols tcp

# set source network 0.0.0.0/0

# set destination address 192.168.1.58

# set destination port-name http

# set inside-address address 10.10.10.30

# top

Чтобы просмотреть настройки, используем команду:

# show service nat

И не забываем подтверждать изменения командой commit.

Если при конфигурировании допущены ошибки, commit не сможет сохранить изменения, поэтому лучше сохранять изменения после каждой завершенной серии команд, чтобы потом долго не разбираться с проблемой.

Настройка фильтрации пакетов

Для примера разрешим доступ к сети с адреса 170.20.0.45:

# set firewall name FW-1 rule 1 action accept

# set firewall name FW-1 rule 1 source address 170.20.0.45

И привязываем к интерфейсу:

# set interfaces ethernet eth0 firewall in name FW-1

# commit

OK

Смотрим правило:

# show firewall name FW-1

rule 1 {

action: accept

source {

address: 170.20.0.45

}

}

Если требуется уточнить протокол и порт, добавляем следующие конструкции:

# set firewall name FW-1 rule 1 protocol tcp

# set firewall name FW-1 rule 1 destination port-name http

Веб-интерфейс

В дополнение к настройке с помощью командной строки Vyatta имеет и веб-интерфейс (см. рис. 2), чтобы его активировать, достаточно ввести:

# set service http

После этого в браузере набираем IP-адрес роутера, принимаем сертификат и регистрируемся как пользователь vyatta (root система не пустит).

Рисунок 2. Веб-интерфейс Vyatta

Рисунок 2. Веб-интерфейс Vyatta

Используя веб-интерфейс, можно просмотреть системную информацию, произвести большую часть настроек, доступных в консоли.

Все они находятся во вкладке «Configure». Правда, выигрывая в наглядности, проигрываем в удобстве, так как здесь нет никаких подсказок и автодополнения, поэтому все параметры придется помнить наизусть. Для сохранения изменений необходимо нажать кнопку «Commit All Changes», расположенную в верхней части меню.

Во вкладках «Operations» и «Tools» можно найти некоторые утилиты, с помощью которых можно проверить доступность узлов, установить дату, смонтировать дискету, просмотреть статистику сервисов и прочее.

Сохранение настроек и установка на диск

При работе в LiveCD сохранить конфигурацию на дискету очень просто, если при загрузке вставить дискету в дисковод, она будет смонтирована автоматически, и с нее будет считана конфигурация. Для сохранения настроек вводим команду:

# save /mnt/floppy/config/config.boot

Если диск вставлен позже, можно смонтировать его обычным образом с помощью mount или использовать команду init-floppy.

Но использовать LiveCD-вариант в работе неудобно, в рабочей системе лучше его установить на жесткий диск. Для установки потребуется диск размером всего 512 Мб и 10 Мб для сохранения настроек. Далее регистрируемся как root и запускаем установочный скрипт:

# install-system

Далее будет произведена проверка подключенных устройств и предложен вариант создания разделов:

Partition (Auto/Parted/Skip) [Auto]:

В самом простом случае достаточно выбрать вариант, предложенный по умолчанию. По окончании будет установлен загрузчик GRUB. Чтобы вручную сохранить настройки в этом варианте, достаточно ввести команду save без аргументов. Конфигурационный файл будет записан в /opt/vyatta/etc/config/config.boot.

В статье расмотрен самый простой случай настройки маршрутизатора, достаточный для понимания принципа работы в Vyatta. Следует отметить хорошую документацию проекта, в которой можно найти как описание основных параметров, так и некоторые примеры конфигурирования Vyatta.

  1. Сайт проекта XORP – http://www.xorp.org.
  2. Сайт проекта Vyatta – http://vyatta.com.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru