Гид по технологиям

Установка и настройка vyOS на KVM

• 8 min read • Сеть • Обновлено 25 Nov 2025
vyOS на KVM: установка и настройка
vyOS на KVM: установка и настройка

Введение

vyOS — это свободная и открытая платформа маршрутизатора и брандмауэра на базе Debian Linux. Она работает в виртуализации и облаках (KVM, VMware, Proxmox, Hyper-V, Xen и др.) и предоставляет маршрутизацию, брандмауэр, VPN и сетевые сервисы программно.

Кому полезно это руководство: сисадминам, инженерам по сетям, специалистам по виртуализации и тем, кто хочет создать виртуальный маршрутизатор в KVM-среде.

Ключевые термины:

  • vyOS — свободная сетевого программная платформа (маршрутизатор/фаервол).
  • KVM — гипервизор на Linux для аппаратной виртуализации.
  • NAT masquerade — способ исходящего преобразования адресов для доступа внутренней сети в интернет.

Что вы получите после выполнения руководства

  • Рабочая VM с vyOS на KVM.
  • Интерфейсы WAN и LAN, работающий исходящий NAT.
  • Локальный DNS-форвардер для клиентов.
  • Клиент Ubuntu с статическим IP, прошедший проверку доступа в интернет.

Important: перед началом убедитесь, что у вас есть ISO vyOS, права на создание виртуальных машин на хосте KVM и резервные точки восстановления для важных рабочих сред.

Требования

  • Linux-система с включённой виртуализацией KVM.
  • ISO-образ vyOS.
  • Клиентская Linux-машина (в примере — Ubuntu 20.04).
  • Учетная запись с правами администратора на хосте KVM.

Факты и числа (Fact box)

  • Минимум RAM для простого роутера: 512–1024 МБ.
  • Рекомендованное дисковое пространство: от 2 ГБ для базовой установки.
  • Типичная схема: 1 WAN-интерфейс + 1 LAN-интерфейс для лабораторных целей.

Создание виртуальной машины vyOS (virt-manager)

Следуйте шагам в интерфейсе virt-manager или эквивалентным командам CLI (virt-install). В этом руководстве используется GUI virt-manager.

  1. Откройте virt-manager и создайте новую виртуальную машину.
  2. Выберите установку из ISO-образа и нажмите “Forward” (Далее).

Выбор ISO образа для установки vyOS

  1. Укажите ISO vyOS и в качестве ОС выберите Debian 11 (совместимость), далее — “Forward”.

Выбор ISO и типа ОС Debian 11

  1. Укажите объём оперативной памяти и количество vCPU (например 1–2 vCPU, 1–2 ГБ ОЗУ для простых сценариев) и нажмите “Forward”.

Настройка ОЗУ и CPU для VM vyOS

  1. Укажите размер диска для установки (рекомендуется минимум 2 ГБ) и нажмите “Forward”.

Указание размера диска для установки vyOS

  1. Задайте имя виртуальной машины, например “vyos”, выберите сетевой источник по умолчанию (default NAT) и завершите создание.

Переименование VM и выбор сети NAT по умолчанию

Вы создали VM для vyOS.

Установка vyOS

  1. Запустите созданную виртуальную машину. В меню загрузки выберите Live (amd64-vyos) и нажмите Enter.

Экран загрузки vyOS в VM

  1. После загрузки выполните вход под пользователем vyos с пустым паролем (enter).

Вход под пользователем vyos по умолчанию

  1. Запустите установку образа на диск:
install image

При установке следуйте подсказкам:

  • Подтвердите клавишей Enter.
  • Для разметки диска используйте Auto (Enter).
  • Подтвердите установку на выбранный диск.

Процесс установки vyOS на диск

  1. При конфигурации установщика подтвердите уничтожение разделов (Yes), оставьте корневой раздел по умолчанию, имя образа по умолчанию, и установите пароль для пользователя vyos. Используйте надёжный пароль.

Настройка пароля и разметки при установке vyOS

  1. Установите загрузчик GRUB (установщик автоматически найдёт диск, например /dev/vda) и подтвердите Enter.

Установка GRUB на диск /dev/vda

  1. После завершения перезагрузите VM командой reboot.

Экран GRUB после установки vyOS

  1. Войдите уже на установленной системе под пользователем vyos и вашим паролем.

Успешный вход в установленный vyOS

Добавление дополнительного сетевого интерфейса в KVM

В примере мы добавляем внутреннюю изолированную сеть “internal” с диапазоном 192.168.50.0/24 и включённым DHCP для части диапазона.

  1. В настройках сети virt-manager создайте новую сеть:
    • Name: internal
    • Mode: Isolated
    • IPv4 Network: 192.168.50.0/24
    • DHCPv4 Start - End: 192.168.50.128 - 192.168.50.254

Создание изолированной сети internal в KVM

  1. Выключите VM vyOS, откройте свойства VM -> Add Hardware -> Network и добавьте интерфейс, выбрав Network source = internal: Isolated network.

Добавление второго сетевого интерфейса к VM vyOS

  1. Запустите VM для дальнейшей настройки внутри vyOS.

Первичная настройка vyOS

Войдите в систему под пользователем vyos и перейдите в режим конфигурации:

configure

Просмотрите доступные интерфейсы:

ip a

Ожидаемый пример: eth0 (WAN), eth1 (LAN).

Переход в режим редактирования и проверка интерфейсов

Выбор ролей интерфейсов: WAN и LAN

Определите, какой интерфейс будет внешним (EXTERNAL/WAN), а какой — внутренним (INTERNAL/LAN). В примере:

  • eth0 — EXTERNAL/WAN
  • eth1 — INTERNAL/LAN

Mermaid-диаграмма для принятия решения (какой интерфейс назначить):

flowchart TD
  A[Интерфейсы в системе] --> B{Есть внешний шлюз KVM host?}
  B -- Да --> C[Выбрать интерфейс, подключённый к NAT/внешней сети как WAN]
  B -- Нет --> D[Использовать NAT-сеть хоста как WAN или проброс портов]
  C --> E[Оставшийся интерфейс: LAN]
  D --> E

Настройка eth0 как WAN

Пример статической настройки для eth0 и установки статического маршрута по умолчанию к хосту KVM (192.168.100.1):

set interfaces ethernet eth0 address 192.168.100.15/24
set protocols static route 0.0.0.0/0 next-hop 192.168.100.1
commit
save

Настройка WAN и маршрут по умолчанию

После команды commit конфигурация применяется, save сохраняет её в конфигурационный файл для загрузки при старте.

Настройка eth1 как LAN

Настройка интерфейса eth1 для внутренней сети и добавление описания:

set interfaces ethernet eth1 address 192.168.50.10/24
set interfaces ethernet eth1 description LAN
commit
save

Настройка LAN интерфейса eth1

Настройка исходящего NAT (masquerade)

Чтобы машины в сети 192.168.50.0/24 имели доступ в интернет через eth0:

set nat source rule 100 source address 192.168.50.0/24
set nat source rule 100 outbound-interface eth0
set nat source rule 100 translation address masquerade
commit
save

Настройка NAT masquerade для LAN

Настройка DNS-форвардера

Настроим локальный DNS-форвардер на IP 192.168.50.10, который слушает запросы только от внутренней сети и пересылает их на публичные резолверы (Cloudflare и Google):

set service dns forwarding listen-address 192.168.50.10
set service dns forwarding allow-from 192.168.50.0/24
set service dns forwarding cache-size 0
commit
save

Настройка DNS-форвардера

Добавьте форвардеры:

set service dns forwarding name-server 1.1.1.1
set service dns forwarding name-server 8.8.8.8
commit
save

Добавление DNS форвардеров Cloudflare и Google

Установите системный DNS внутри vyOS на локальный форвардер:

set system name-server 192.168.50.10
commit
save

Указание локального DNS как системного

Проверка сетевой конфигурации

Проверка связи наружу из vyOS:

run ping youtube.com count 3

Если настройка правильная, вы увидите ответ от удаленного хоста.

Проверка ping из vyOS

Список интерфейсов и их состояния:

show interfaces

Просмотр детальной информации об интерфейсах

Просмотр правил NAT:

show nat source rules

Показ правил NAT

Проверка службы DNS:

configure
show service dns

Ожидаемый вывод: служба dns forwarding слушает 192.168.50.10 и использует 1.1.1.1 и 8.8.8.8 как форвардеры.

Проверка конфигурации DNS-сервиса

Настройка клиентской системы Ubuntu 20.04

На клиенте задайте статический IP и шлюз в сторону vyOS (192.168.50.10). В Ubuntu используются netplan-конфиги в /etc/netplan.

  1. Откройте файл конфигурации, например:
sudo nano /etc/netplan/01-netcfg.yaml
  1. Вставьте конфигурацию статического IP (пример):
network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses: [192.168.50.100/24]
      gateway4: 192.168.50.10
      nameservers:
        addresses: [192.168.50.10,1.1.1.1]

Пример netplan-конфигурации для статического IP

  1. Сохраните файл и примените изменения:
sudo netplan apply
  1. Проверьте адрес и таблицу маршрутизации:
ip a
route -n

Проверка IP и маршрутов на Ubuntu

  1. Проверьте связь с vyOS:
ping 192.168.50.10 -c3

Ping от клиента к vyOS

  1. Проверьте доступ в интернет:
ping 1.1.1.1 -c3
ping google.com -c3

Проверка выхода в интернет через vyOS

Если всё настроено верно, клиент сможет успешно пинговать внешние адреса.

Тесты, критерии приёмки и тест-кейсы

Критерии приёмки:

  • VM vyOS загружается и принимает логин vyos.
  • eth0 имеет IP 192.168.100.15/24 и маршрут по умолчанию с next-hop 192.168.100.1.
  • eth1 имеет IP 192.168.50.10/24.
  • NAT правило 100 присутствует и для исходящего трафика выполняется masquerade на eth0.
  • Служба DNS-форвардинга слушает на 192.168.50.10 и использует указанные форвардеры.
  • Клиент с IP 192.168.50.100 имеет шлюз 192.168.50.10 и может выходить в интернет.

Примеры тест-кейсов:

  • TC1: Проверить ping к 192.168.50.10 с клиента — ожидается ответ.
  • TC2: Проверить ping к 1.1.1.1 и google.com с клиента — ожидается ответ.
  • TC3: Выполнить tcpdump на eth0 и убедиться, что исходящие пакеты имеют source NAT.

Отладка и частые ошибки

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

  1. ip a на vyOS — интерфейсы в нужных подсетях.
  2. show nat source rules — правило NAT присутствует.
  3. run ping 8.8.8.8 с vyOS — проверка доступа WAN от самого роутера.
  4. На хосте KVM проверьте, что сеть NAT или bridge правильно настроены и что указанный next-hop (192.168.100.1) отвечает.
  5. Используйте tcpdump на eth0 и eth1, чтобы отследить пакеты: sudo tcpdump -i eth0 icmp или port 53 для DNS.

Проблема: DNS не резолвится у клиента. Проверки:

  1. show service dns — убедиться, что слушающий адрес и allow-from корректны.
  2. Запустить dig/host через vyOS и клиента.
  3. Проверить, что форвардеры доступны (ping 1.1.1.1 с vyOS).

Резервное копирование и восстановление конфигурации

Сохранение конфигурации текущего vyOS:

configure
save /config/config.boot.backup
exit

Чтобы восстановить конфигурацию, замените /config/config.boot и перезагрузите систему. Всегда сохраняйте копию перед изменениями.

Безопасность и рекомендации по хардэннингу

  • Измените пароль пользователя vyos сразу после установки и используйте ключи SSH для доступа, если включаете SSH.
  • Ограничьте доступ к консоли и API по ACL.
  • Регулярно обновляйте гипервизор и планы резервного копирования.
  • Для публичной среды используйте дополнительные правила firewall (stateful) и limit-rate для SSH.
  • Разделяйте управление и пользовательский трафик на отдельные интерфейсы (out-of-band management).

Альтернативные подходы

  • CLI-only установка с помощью virt-install и cloud-init (при автоматизации).
  • Использование Proxmox/VMware вместо KVM при наличии соответствующей инфраструктуры.
  • Настройка DHCP на vyOS вместо DHCP хоста KVM, если требуется централизованное управление адресами.

Роль-ориентированные чеклисты

Администратор виртуальной инфраструктуры (KVM host):

  • Проверить доступность ISO.
  • Создать сеть “internal” и проверить DHCP-пулы.
  • Настроить правильные привилегии для virt-manager.

Сетевой инженер (vyOS):

  • Установить IP адреса WAN/LAN.
  • Настроить NAT и маршруты.
  • Настроить DNS-форвардирование и проверить резолвинг.

Оператор (клиент):

  • Настроить статический IP и DNS.
  • Выполнить тестовые пинги и трассировки.

Чек-лист на финальную сдачу

  • vyOS установлена и загружается.
  • WAN и LAN интерфейсы настроены.
  • NAT работает для исходящего трафика.
  • DNS-форвардер работает и резолвит домены.
  • Клиент с правильной конфигурацией выходит в интернет.
  • Резервная копия конфигурации создана.

Команды-справочник (cheat sheet)

Просмотр конфигурации:

show configuration

Применение изменений:

configure

commit
save
exit

Просмотр интерфейсов и NAT:

show interfaces
show nat source rules

Диагностика сети:

run ping 
run traceroute 

Короткая галерея крайних случаев

  • Если WAN доступен по DHCP — используйте set interfaces ethernet eth0 address dhcp.
  • Если нужно пробросить порт из внешней сети — используйте set nat destination rule.
  • Для IPSec/VPN используйте встроенные пакеты и шаблоны конфигурации vyOS.

Сопроводительная заметка по миграции

При переносе конфигурации между версиями vyOS: сравните синтаксис команд, используйте export конфигурации и тестируйте в тестовой среде. При миграции VM между хостами убедитесь, что имена интерфейсов не поменялись (этого можно избежать, привязав MAC-адреса).

Словарь — 1 строка

vyOS — open-source маршрутизатор на базе Debian; NAT masquerade — исходящая трансляция адресов; KVM — гипервизор Linux.

Заключение

Поздравляем — вы успешно установили и настроили vyOS в KVM: создали VM, настроили WAN/LAN, NAT и локальный DNS-форвардер, а также проверили подключение клиентской машины Ubuntu. Дальше можно расширять конфигурацию: добавить VPN, более детальные правила firewall, мониторинг и резервирование.

Краткий итог:

  • vyOS устанавливается и управляется через CLI “configure/commit/save”.
  • Для лабораторного роутинга достаточно 2 интерфейсов: eth0 (WAN) и eth1 (LAN).
  • NAT masquerade и DNS-форвардер обеспечивают быстрый выход в интернет для внутренних ВМ.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро