Вторник, 19.05.2026 07:27

Настройка виртуального маршрутизатора на базе OpenWrt в гипервизоре для виртуальной сети

Настройка виртуального маршрутизатора на базе OpenWrt в гипервизоре для виртуальной сети

Для нормального функционирования виртуальной сети, в которой мы будем тестировать установку домена на базе РЕД АДМ, нужен пограничный маршрутизатор, который предоставит нам доступ к серверам внутри виртуальной сети, а для внутренних серверов предоставит доступ к сети Интернет и внешней сети.

В предыдущих статьях мы установили OpenWrt в виртуальной машине (Hyper-V или QEMU/KVM). 

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

Обратите внимание! В данной статье описана базовая настройка маршрутизатора. В реальной сети требуется дополнительно настроить межсетевой для предотвращения несанкционированного доступа к серверам и самому OpenWrt !

Базовая конфигурация сети

Наша конфигурация сети:

192.168.1.0/24 – внутренняя виртуальная сеть

192.168.1.1/24 – адрес маршрутизатора OpenWrt в виртуальной сети

192.168.0.1/24 – внешняя физическая сеть

192.168.0.1/24 – адрес маршрутизатора OpenWrt во внешней физической сети

192.168.0.254 – адрес маршрутизатора в сторону провайдера

192.168.0.254  - адрес DNS-сервера

192.168.1.6 – контролер домена РЕД АДМ

Схема сети выглядит вот так:

Изображение удалено.

Базовые операции при редактировании в vim

В OpenWrt по умолчанию доступна урезанная версия редактора vim.

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

В отличии от прочих редакторов vim работает в нескольких режимах. Сразу после открытия он находится в режиме «навигации». В этом режиме вы можете перемещаться по документу и использовать следующие базовые операции:

- Для перемещения по файлу используйте стрелки клавиатуре;

- Для удаления строки быстро два раза нажмите – d;

- Для копирования строки быстро два раза нажмите – y;

- Для вставки строки нажмите – p;

На самом деле их больше, но для редактирования файлов вам хватит и этих.

Так же существуют операции редактирования:

- Для правки строки вы можете нажать – i;

- Для вставки строки и перехода в режим редактирования нажмите – o;

После входа в режим редактирования вы можете перемещаться вправо-влево с помощью стрелок курсора и производить ввод символов или удаление их с помощью del и backspace.

После окончания редактирования нажмите Esc для возврата в режим «навигации».

Чтобы сохранить файл из режима «навигации» введите:

:wq

Нажмите Enter:

Чтобы выйти без сохранения:

Введите:

:q!

Нажмите Enter

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

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

Откроем файл конфигурации сети:

vim /etc/config/network

Приведем файл к виду:

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        list ipaddr '127.0.0.1/8'

config interface 'lan'
        option device 'eth0'
        option proto 'static'
        list ipaddr '192.168.1.1/24'
        option ipv6 '0'

config interface 'wan'
        option device 'eth1'
        option proto 'static'
        list ipaddr '192.168.0.1/24'
        option ipv6 '0'
        option dns '192.168.0.254'

Обратите внимание мы прописали DNS провайдера в настройках интерфейса WAN:

        option dns '192.168.0.254'

Лучше использовать внешний ДНС, чтобы сократить время настройки OpenWrt.

Так же строка:

        option ipv6 '0'

Отключает IPv6 на интерфейсе, что тоже очень важно!

Маршрут по умолчанию

Чтобы обеспечить доступ к сети Интернет нам нужно прописать маршрут по умолчанию:

config route
        option interface 'wan'
        option target '0.0.0.0'
        option netmask '0.0.0.0'
        option gateway '192.168.0.254'

В качестве DNS мы так же указываем маршрутизатор провайдера сети Интернет!

Сохраним файл.

Перезапустим сеть

/etc/init.d/network restart

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

Проверим настройки сети:

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:15:5d:82:01:4c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:15:5d:82:01:4e brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global eth1
       valid_lft forever preferred_lft forever

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

ping 192.168.1.6
PING 192.168.1.6 (192.168.1.6): 56 data bytes
64 bytes from 192.168.1.6: seq=0 ttl=64 time=0.590 ms
64 bytes from 192.168.1.6: seq=1 ttl=64 time=0.674 ms
64 bytes from 192.168.1.6: seq=2 ttl=64 time=0.663 ms
ping 192.168.0.254
PING 192.168.0.254 (192.168.0.254): 56 data bytes
64 bytes from 192.168.0.254: seq=0 ttl=64 time=0.778 ms
64 bytes from 192.168.0.254: seq=1 ttl=64 time=0.585 ms
64 bytes from 192.168.0.254: seq=2 ttl=64 time=0.545 ms

Проверим доступность сети Internet

ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=107 time=139.836 ms
64 bytes from 8.8.8.8: seq=1 ttl=107 time=139.775 ms
64 bytes from 8.8.8.8: seq=2 ttl=107 time=139.778 ms

Если сеть недоступна, то проверьте правильность написания IP-адресов. Так же можно просто поменять местами настройки виртуальных интерфейсов!

Разрешаем доступ через SSH на всех интерфейсах

По умолчанию соединения со всех интерфейсов разрешены.

Вы можете разрешить / запретить доступ по SSH к OpenWrt с определенного интерфейса.

Откроем файл настроек:

vim /etc/config/dropbear

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

       option Interface 'lan'

Если нужно разрешить доступ со всех интерфейсов закоментируйте все подобные строки.

Сохраним файл.

Запустим:

/etc/init.d/dropbear restart

Разрешаем входящие соединения на интерфейсе WAN

Откроем файл конфигурации межсетевого экрана:

vim /etc/config/firewall

Найдем блок:

config zone
        option name             wan
        list  network          'wan'
        list  network          'wan6'
        option input            REJECT
        option output           ACCEPT
        option forward          DROP
        option masq             1
        option mtu_fix          1

Заменим строки

        option input            REJECT
        option forward          DROP

на

       option input            ACCEPT
        option forward          ACCEPT

Добавим в конец файла:

config forwarding
        option src 'lan'
        option dest 'wan'
config forwarding
        option src 'wan'
        option dest 'lan'

Таким образом мы разрешаем межсетевое взаимодействие между внешней и внутренней сетью!

Сохраним файл.

Перезапустим службу

/etc/init.d/firewall restart

Настройка NAT (masquerade) на интерфейсе WAN

Обратите внимание! Для интерфейса wan указана опция:

        option masq             1

Она означает что для eth1 будет автоматически настроен NAT (masquerade)!

Вход на маршрутизатор по SSH и смена пароля root

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

192.168.0.1
Используйте имя пользователя root

Обратите внимание на надпись:

=== WARNING! =====================================
 There is no root password defined on this device!
 Use the "passwd" command to set up a new password
 in order to prevent unauthorized SSH logins.
 --------------------------------------------------

Нам нужно сменить пароль администратора!

Введем:

passwd

Два раза введем новый пароль:

Changing password for root
New password:
Retype password:
passwd: password for root changed by root

Пароль администратора установлен!

Настройка шлюза по умолчанию в закрытой сети

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

Для этого вы заменим шлюз по умолчанию на:

192.168.1.1

Проверка доступности внешней сети с виртуального сервера

С сервера в закрытой проверим доступность маршрутизатора:

ping 192.168.1.1
PING 192.168.1.6 (192.168.1.6): 56 data bytes
64 bytes from 192.168.1.6: seq=0 ttl=64 time=0.590 ms
64 bytes from 192.168.1.6: seq=1 ttl=64 time=0.674 ms
64 bytes from 192.168.1.6: seq=2 ttl=64 time=0.663 ms

С сервера в закрытой проверим доступность маршрутизатора провайдера:

ping 192.168.0.254
PING 192.168.0.254 (192.168.0.254): 56 data bytes
64 bytes from 192.168.0.254: seq=0 ttl=64 time=0.778 ms
64 bytes from 192.168.0.254: seq=1 ttl=64 time=0.585 ms
64 bytes from 192.168.0.254: seq=2 ttl=64 time=0.545 ms

Проверим доступность сети Internet

ping ya.ru
PING ya.ru (77.88.55.242) 56(84) bytes of data.
64 bytes from ya.ru (77.88.55.242): icmp_seq=2 ttl=54 time=139 ms
64 bytes from ya.ru (77.88.55.242): icmp_seq=3 ttl=54 time=139 ms
64 bytes from ya.ru (77.88.55.242): icmp_seq=4 ttl=54 time=140 ms

Доступ к серверам в закрытой сети из внешней сети

Так же на ПК в физической сети, для доступа к машинам в закрытой сети, вы должны будете прописать маршрут, например, в Windows 10:

route add 192.168.1.0 mask 255.255.255.0 192.168.0.1

После этого вы сможете получить доступ к серверу 192.168.1.6 из сети 192.168.0.0/24.

Отключаем веб-панель администрирования LuCI

Для повышения безопасности лучше отключить веб интерфейс LuCI.

Запустим:

/etc/init.d/uhttpd disable
/etc/init.d/uhttpd stop

Теперь веб-панель не будет запускаться автоматически!

Заключение

Сегодня мы рассмотрели настройку OpenWrt как маршрутизатора для тестовой закрытой сети:

Рассмотрели базовые операции при редактировании в редакторе vim;

Настроили сетевые интерфейсы;

Прописали маршрут по умолчанию;

Проверили доступность всех сетей с маршрутизатора;

Разрешили подключения на интерфейсе WAN;

Рассмотрели настройку NAT на интерфейсе WAN;

Вошли на маршрутизатор по SSH;

Настроили шлюз по умолчанию на устройствах в закрытой сети;

Проверили доступность внешней сети с сервера установленного в виртуальной машине во внутренней сети;

Настроили маршрут на ПК во внешней сети для доступа к устройствам во внутренней сети;

Отключили веб-панель LuCI.

Категория Сеть
Теги OpenWRT

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

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 133