Настройка виртуального маршрутизатора на базе 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 a1: 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.6PING 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 msping 192.168.0.254PING 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.8PING 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.1PING 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.254PING 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.ruPING 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.
Добавить комментарий