Настройка VyOS

VyOS это програмный маршрутизатор с открытым исходным кодом и множеством возможностей.
Установка VyOS описывается в статье Установка VyOS.

В этой статье описывается базовая настройка VyOS.

Для настройки будем считать что:
eth0 — внешний интерфейс.
eth1 — внутренний интерфейс.
1.1.1.2 — внешний IP адрес;
255.255.255.0 (/24) — маска внешней сети;
1.1.1.1IP адрес маршрутизатора;
8.8.8.8DNS сервер.
192.168.123.1 — внутренний IP адрес;
255.255.255.0 (/24) — маска внутренней сети.

Переходим в режим конфигурации:

Базовые настройки

Перед настройкой сети, сделаем базовые настройки маршрутизатора. Все команды можно заканчивать с помощью клавиши Tab, а так же смотреть краткую справку.

Установим имя хоста:

Установим временную зону:

Установим NTP сервер:

Включим доступ через SSH:

Настройка сети

Настроим внешний интерфейс (eth0):

Описание команд:

Указываем IP адрес и маску сети.

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

Аналогично, настроим внутренний IP адрес:

Установим адрес шлюза (Gateway):

но если планируется использовать несколько шлюзов и несколько провайдеров, то лучше прописать маршруты, а не устанавливать system gateway:

Установим DNS сервер для маршрутизатора.

Настройка NAT для внутренней сети

Теперь включим NAT для того, чтобы устройства из внутренней сети могли общаться с внешним миром:

Описание команд:

Создаем правило NAT для внешнего интерфейса eth0.

Правило для адресов из подсети 192.168.123.0/24.

Использовать NAT трансляцию, чтобы хосты могли общаться с внешним миром.

Проброс портов (он же PAT, он же Port Forwarding) 1-к-1 (внутренний и внешний порты равны).
Проброс производится на внутренний адрес 192.168.123.100 с порта 80 на порт 80:

Описание команд:

Создаем правило NAT номер 10 с комментарием: Port Forward: HTTP to 192.168.123.100 (port 80->80).

Указываем внешний порт (80-й), с которого будут перенаправляться пакеты.

Указываем , что пробрасываемый порт должен быть на внешнем интерфейсе eth0.

Перенаправляться будет только TCP трафик.

Трафик будет перенаправляться на внутренний адрес 192.168.123.100.

Если требуется пробросить на другой порт (22 внутренний порт пробрасываем на внешний 20022 порт):

Описание команд:

Описание аналогично предыдущему, за исключением того, что пробрасывается TCP и UDP трафик (protocol tcp_udp), а так же появляется дополнительная команда:

Указываем на какой порт будет перенаправляться трафик (22-й), приходящий на порт 20022.

DHCP сервер

Теперь создадим DHCP сервер для внутренней сети:

Описание команд:

Создаем DHCP сервер для внутренней сети (LAN — просто название. Может быть любым).

Указываем подсеть, для которой будет работать DHCP сервер (192.168.123.0/24), а так же диапазон адресов, который будет выдавать DHCP сервер (192.168.123.128-254).

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

Маршрутизатор по умолчанию (192.168.123.1).

DNS сервер (192.168.123.1).

Имя локального домена(internal.blackdiver.net).

Время аренды адреса (3600 секунд).

Статическое назначение IP адресов для DHCP сервера

Для статического назначения IP адресов в DHCP используется стандартный алгоритм привязки MAC адреса к IP адресу. В примере мы сервер (SERVER-NAME — имя сервера. Может быть любым) с MAC адресом ab:cd:ef:01:23:45 статически привяжем к IP адресу 192.168.123.100:

DNS forwarder

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

Настройка DNS forwarding:

Описание команд:

Указываем адреса DNS серверов, у которых VyOS будет запрашивать информацию (8.8.8.8 и 8.8.4.4) или можно использовать системные DNS сервера, тогда вместо ручного перечисления серверов указываем:

Теперь будут использоваться DNS сервера указанные в разделе Настройка сети.

Указываем количество кэшируемых DNS запросов, которые будут храниться в памяти нашего маршрутизатора. В данном случае 0. DNS запросы не будут кешироваться, а будут каждый раз запрашиваться.

Указываем интерфейс, на котором будет работать DNS forwarding (eth1).

Статические DNS записи

Для создания статических записей используется команда:

В ней мы указываем, что для DNS записи blackdiver.net всегда отвечать адресом 192.168.123.100. Для таких записей не запрашивается информация у других DNS серверов, а сразу отдается заранее определенный ответ.

Настройка L2TP/IPsec сервера

Теперь перейдем к настройке L2TP/IPsec сервера, чтобы пользователи могли подключаться к нашей сети по VPN.

Для начала настроим IPsec:

Описание команд:

Указываем на каком интерфейсе будет работать IPsec (eth0).

Включаем NAT Traversal, чтобы корректно работать с клиентами у которых NAT.

Указываем откуда могут подключаться клиенты (0.0.0.0/0 — без ограничений).

Теперь переходим к настройке L2TP:

Описание команд:

Указываем внешний адрес, на который будут подключаться клиенты.

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

Для подключения будет использоваться PSK ключ.

Задаем PSK ключ (MySecretKey).

Указываем DNS сервер, который будет передаваться подключившимся пользователям (в примере используется ранее настроенный DNS forwarder в VyOS), но лучше использовать внешний сервер (почему внешний лучше — рассказвается в конце статьи).

Для аутентификации пользователей будет использоваться собственная база.

Создаем пользователя с именем user1 и паролем MySecretPassword.

Если пользователю требуется дать статический адрес при подключении через VPN, то для этого используем команду:

Теперь пользователи могут подключаться по L2TP к маршрутизатору, а так же имеют доступ к внутренней сети 192.168.123.0/24.

Для того, чтобы пользователи могли выходить через VPN соединение в интернет — нужно добавить правила NAT для адресов 192.168.124.1-255:

Создание правил NAT для L2TP полностью аналогично настройке NAT для внутренней сети.

Если для VPN клиентов используется DNS forwarder, то нужно для каждого соединения L2TP опубликовать сервис DNS forwarder’а. Почему-то его нельзя опубликовать сразу для всех интерфейсов l2tp, и более того, нельзя его опубликовать на несуществующие интерфейсы. Поэтому нужно подключить одновлеременно множество пользователей и после этого добавлять интерфейсы в DNS forwarding.

Когда много клиентов это не очень удобно. Поэтому рекомендую использовать внешний DNS сервер для VPN клиентов.

Базовая настройка VyOS на этом завершна. Остается только применить настройки и сохранить конфигурацию:

После этих команд конфигурация будет записана и можно проверять работоспособность всех компонентов.

Заказать создание и поддержку безопасной IT-инфраструктуры любой сложности

Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.