VyOS

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:50, 11 декабря 2015.
VyOS
Разработчик {{#property:p112}}
Написанный на {{#property:p277}}
Лицензия {{#property:p275}}
Официальный веб-сайт {{#property:P856}}

VyOS - это основанный на дистрибутиве Debian межсетевой экран, представляющий собой основанную на дистрибутиве Debian операционную систему. Является ветвью Vyatta Core с расширенным функционалом межсетевого экранирования. VyOS предоставляет бесплатную и открытую платформу для межсетевой маршрутизации и экранирования, которая составляет конкуренцию коммерческим решениям от других компаний. Так как VyOS может быть запущен на стандартных x86 платформах, он может быть использован как маршрутизатор и межсетевой экран в сетях облачных вычислений.[1]

История версий

VyOS версии 1.0.0 (Hydrogen (англ. Водород)) был представлен 22 декабря 2013.[2][3] 9-го октября 2014 года была выпущена версия 1.1.0 (Helium (англ. Гелий)).[4] Все на текущий момент выпущенные версии основаны на дистрибутиве Debian версии 6.0 (Squeeze), и доступны как 32-разрядные и 64-разрядные образы как для физических, так и для виртуальных аппаратных платформ.[3]

Если текущая тенденция именования версий сохранится, то следующая версия будет называться Lithium (англ. Литий).

Имя релиза Версия Дата
Hydrogen 1.0.0 22 декабря 2013
1.0.1 17 января 2014
1.0.2 3 февраля 2014
1.0.3 9 мая 2014
1.0.4 16 июня 2014
1.0.5 26 сентября 2014
Helium 1.1.0 9 октября 2014
1.1.1 8 декабря 2014
1.1.3 28 января 2015
1.1.4 9 марта 2015
1.1.5 25 марта 2015
1.1.6 17 августа 2015

Возможности VyOS

VyOS предоставляет довольно широкие возможности по межсетевому экранированию. Ниже перечислены основные из них:

  • межсетевой экран для IPv4 и IPv6, включая фильтрацию p2p-трафика;
  • трансляция сетевых адресов (NAT);
  • DHCP-сервер для IPv4 и IPv6;
  • система обнаружения вторжений;
  • балансировка нагрузки и резервирование канала;
  • резервирование маршрутизаторов с синхронизацией таблицы состояний соединений;
  • виртуальные частные сети (IPsec, L2TP/IPsec, PPTP, OpenVPN);
  • учёт трафика (Netflow и sFlow);
  • веб-прокси и фильтрация URL.

Инструкция по установке

Последнюю версию можно скачать на официальном сайте. Рекомендуемые системные требования: 512 МБ оперативной памяти и 2 ГБ на жёстком диске. Дистрибутив представляет собой Live-CD, с помощью которого производится установка. Необходимо записать образ на носитель и подключить к системе или смонтировать (в случае установки на виртуальную машину).

Дальнейшие инструкции по установке доступны на английском языке в инструкции пользователя или в видео ниже:

Настройка VyOS

Здесь и далее предполагается, что в системе имеется три сетевых интерфейса:

  1. eth0 - подключение к Internet;
  2. eth1 - подключение к локальной сети;
  3. eth2 - подключение к DMZ.

Для входа в режим настройки необходимо ввести команду:

vyos@vyos:~$ configure

Далее можно приступать к настройке того или иного функционала.

После завершения настройки для применения и сохранения изменений вводятся команды

vyos@vyos:~$ commit
vyos@vyos:~$ save

Для выхода используется команда

vyos@vyos:~$ exit

Для выхода без сохранения изменений

vyos@vyos:~$ exit discard

Настройка сетевых интерфейсов

set int ethernet eth0 address dhcp
set int ethernet eth0 description NAT
set int ethernet eth1 address 10.0.0.1/24
set int ethernet eth1 description LOCAL
set int ethernet eth2 address 10.0.1.1/24
set int ethernet eth2 description DMZ
commit
save

Теперь установим каждому интерфейсу соответствующую зону

set zone-policy zone NAT interface eth0
set zone-policy zone LOCAL interface eth1
set zone-policy zone DMZ interface eth2

После чего остаётся только задать имена потокам трафика между различными зонами

set zone-policy zone NAT from LOCAL firewall name LOCAL-NAT
set zone-policy zone NAT from DMZ firewall name DMZ-NAT
set zone-policy zone LOCAL from DMZ firewall name DMZ-LOCAL
set zone-policy zone LOCAL from NAT firewall name NAT-LOCAL
set zone-policy zone DMZ from NAT firewall name NAT-DMZ
set zone-policy zone DMZ from LOCAL firewall name LOCAL-DMZ

Настройка DHCP в локальной сети

Здесь и далее будем в качестве имени DHCP-сервера использовать "MyDHCP". Для включения самого DHCP сервера необходимо ввести команду:

set service dhcp-server shared-network-name MyDHCP authoritative enable 
  • Настройка подсети, в которой будет работать DHCP.
set service dhcp-server shared-network-name MyDHCP subnet '10.0.0.1/24' 
  • Установка диапазона адресов.
set service dhcp-server shared-network-name MyDHCP subnet '10.0.0.1/24' start '10.0.0.5' stop '10.0.0.253' 
  • Исключение конкретного адреса из диапазона.
set service dhcp-server shared-network-name MyDHCP subnet '10.0.0.1/24' exclude '10.0.0.253' 
  • Установка шлюза
set service dhcp-server shared-network-name MyDHCP subnet '10.0.0.1/24' default-router '10.0.0.1' 

Конфигурация DMZ

Для примера заблокируем любой трафик в DMZ, кроме приходящего через порты 80 и 22.

set firewall name LOCAL-DMZ rule 9999 action drop
set firewall name LOCAL-DMZ rule 9999 log enable
set firewall name NAT-DMZ rule 9999 action drop
set firewall name NAT-DMZ rule 9999 log enable

Данные правила блокируют весь трафик в DMZ, кроме правил с меньшим номером.

Теперь разрешим трафик с портов 80 и 22.

set firewall name LOCAL-DMZ rule 100 action accept
set firewall name LOCAL-DMZ rule 100 destination port 80,22
set firewall name LOCAL-DMZ rule 100 log enable
set firewall name NAT-DMZ rule 100 action accept
set firewall name NAT-DMZ rule 100 destination port 80,22
set firewall name NAT-DMZ rule 100 log enable

Конфигурация завершена осталось её применить и сохранить:

commit
save

Настройка DNS сервера для локальной сети

Для настройки DNS требуется ввести команду:

set service dhcp-server shared-network-name MyDHCP subnet '10.0.0.1/24' dns-server '8.8.8.8' 

MultiWAN

Штатная поддержка отсутствует.

Snort

Штатная поддержка отсутствует.

Отслеживание SSH, HTTP, HTTPS и DNS запросов

Штатного способа отслеживания по названию протокола нет, можно лишь включить логирование для трафика по стандартным портам (22 для SSH, 80 для HTTP и так далее). Например для логирования всех запросов по протоколу ssh необходимо для каждого потока трафика ввести следующие команды:

set firewall name NAT-DMZ rule 50 action accept
set firewall name NAT-DMZ rule 50 destination port 80
set firewall name NAT-DMZ rule 50 log enable

Блокировка доступа из локальной сети к конкретному URL

Блокировка осуществляется посредством настройки прокси сервера:

set service webproxy listen-address 10.0.0.1
set service webproxy url-filtering squidguard local-block mail.ru

Для логирования таких запросов можно выполнить команду:

set service webproxy url-filtering squidguard log local-block

Ссылки

  1. VyOS on DistroWatch.com
  2. http://vyos.net/wiki/Hydrogen
  3. 3,0 3,1 VyOS - 1.0.0 release
  4. VyOS - 1.1.0 release