Сегодня поговорим, что после того как развернули виртуальную машину с осью OpenWRT
на связке Debian 10 + Proxmox 6.4-13
опираясь на заметки
"Как установить OpenWRT on Proxmox 6.4-13"
затем расширили диск по заметке "Resize disk on OpenWRT в Proxmox 6.4-13"
сейчас на очереди какие последующие действия нужно проделать, к примеру, настроить OpenWRT
как шлюз для локальной сети.
Для чего это? Хочу настроить WireGuard
клиент на OpenWRT
дабы уйти от использования Mikrotik CHR
, т.к. я использую бесплатный ключ на 60
дней и обычно, когда что-то нужно протестировать ключ то истек и все делать заново, а тут все бесплатно.
Вот так сразу особо и не понятно, как на OpenWRT
развернуть шлюз для локальной сети, поэтому нужно все задокумментировать, покуда буду расписывать что-то да прояснится.
Шаг №1:
Сейчас виртуальная машина VM ID: 700 (srv-openwrt)
выключена, но может быть и включена, я делаю акцент, что выключена.
Шаг №2:
Добавляю в контейнер виртуальной машины еще одну сетевую карту:
https://IP&DNS:8006 - user&pass&pam - (Server View) Datacenter - srv-proxmox - VM ID: 700 - Hardware - Add - Network Device
Bridge: vmbr1
VLAN Tag: ничего не указываю
Model: VirtIO (paravirtualized)
MAC address: auto
Firewall: галочку не снимаю
и нажимаю Add
ниже скриншот настроек Hardware
для виртуальной машины VM ID: 700
Шаг №3:
Запускаю виртуальную машину VM ID:700 (srv-openwrt):
https://IP&DNS:8006 - user&pass&pam - (Server View) Datacenter - srv-proxmox - VM ID: 700 - Start
Шаг №4:
Т.к. у меня активирована возможность работы с консолью виртуальной машины через xterm.js
, то открываю ее:
https://IP&DNS:8006 - user&pass&pam - (Server View) Datacenter - srv-proxmox - VM ID: 700 >_ Console - xterm.js
Шаг №5:
Открываю Web
–интерфейс OpenWRT
и смотрю появилась ли добавленная сетевая карта:
http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Network - Interfaces
– вкладка Devices
и вижу
Device: eth1
Type: Network device
MAC Address: 2C:D3:18:75:0C:8C
Шаг №6:
Теперь нужно создать интерфейс на основе добавленной сетевой карты (eth1):
http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Network - Interfaces
– вкладка Interfaces
– нажимаю Add new interface…
Name: lan90
Protocol: Static address
Device: Ethernet Adapter: "eth1"
и нажимаю Create Interface
После открываются настройки добавленного интерфейса и привожу настройки интерфейса к виду:
вкладка "General Settings"
Protocol: Static address
Device: eth1
Bring up on boot: отмечаю галочкой
IPv4 address: 10.90.90.2
IPv4 netmask: 255.255.255.0
IPv4 gateway: 10.90.90.1
IPv4 broadcast: 10.90.90.255
IPv6 address: ничего не указываю
IPv6 gateway: ничего не указываю
IPv6 routed prefix: ничего не указываю
вкладка "Advanced Settings"
Force link: Отмечаю галочкой
Use default gateway: галочкой не отмечаю
Use custom DNS servers: ничего не указываю
DNS search domains: ничего не указываю
DNS weight: 0
Use gateway metric: 0
Override IPv4 routing table: указываю main(254)
override IPv6 routing table: оставляю, как есть "unspecified"
Delegate IPv6 prefixes: ничего не указываю
IPv6 assignment length: disabled
IPv6 prefix filter: ничего не указываю
IPv6 suffix: ::1
IPv6 preference: 0
и нажимаю Save
На заметку: IP
адрес 10.90.90.1
обозначен на самом хосте Proxmox
root@srv-proxmox:~# cat /etc/network/interfaces auto vmbr1 iface vmbr1 inet static address 10.90.90.1/24 bridge-ports none bridge-stp off bridge-fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A POSTROUTING -s '10.90.90.0/24' -o vmbr0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '10.90.90.0/24' -o vmbr0 -j MASQUERADE
Шаг №7:
Создаю правило в Firewall
для интерфейса lan90:
http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Network - Firewall
– вкладка "General Settings" - Add
– вкладка "General Settings"
Name: ZoneLAN90
Input: accept
Output: accept
Forward: accept
Masquerading: не отмечаю галочкой
MSS clamping: не отмечаю галочкой
Covered networks: выбираю интерфейс lan90
и нажимаю Save
получается так:
Шаг №8:
Проверяю что для интерфейса lan90
во вкладке "Firewall Settings"
привязана зона ZoneLAN90:
http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Network - Interfaces
– вкладка Interfaces
– в интерфейсе lan90
нажимаем Edit -
вкладка "Firewall Settings"
все есть, нажимаю Save
Шаг №9:
Создаю/Прописываю маршрут для сети, которую обслуживает интерфейс lan90:
http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Network - Routing
– вкладка "Static IPv4 Routes" - Add
– вкладка "General Settings"
Interface: lan90
Route type: unicast
Target: 0.0.0.0/0
Gateway: 10.90.90.1
и нажимаю Save
Шаг №10:
Поднимаю на созданном интерфейсе lan90 DHCP
–сервис:
http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Network - Interfaces
– вкладка Interfaces
– в интерфейсе lan90
нажимаю Edit -
вкладка "DHCP Server"
– нажимаю на "Set up DHCP Server"
открываю дополнительные настройки сервиса DHCP
для этого интерфейса:
вкладка "General Setup"
Ignore interface: снимаю галочку
Start: 100
Limit: 150
Lease time: 12h
вкладка "DHCP Server"
– вкладка "Advanced Settings"
Dynamic DHCP: отмечаю галочкой
Force: отмечаю галочкой
IPv4-Netmask: 255.255.255.0
DHCP-Options: 6,8.8.8.8
и нажимаю Save
На заметку: Опции DHCP-Options
можно уточнить из справки, к примеру вывод первый 10
из большого списка.
root@OpenWrt:~# dnsmasq --help dhcp | head -n 10 Known DHCP options: 1 netmask 2 time-offset 3 router 6 dns-server 7 log-server 9 lpr-server 13 boot-file-size 15 domain-name 16 swap-server root@OpenWrt:~#
Шаг №11:
Чтобы изменения применились нужно нажать Save & Apply.
http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Network - Interfaces
и нажимаю Save & Apply.
Шаг №12:
Создаю виртуальную машину в Proxmox
, к примеру, srv-w10x64a
с осью Windows 10 Pro
и проверяю, что при назначенном сетевом интерфейсе Bridge: vmbr1
ipconfig /all
Если обратить внимание на вывод ipconfig /all
, то видно что DNS
-суффикс подключения равен lan
, изменить его можно в http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Network - DHCP and DNS
– вкладка "General Settings"
параметр
Local domain: lan
Вообще советую разобрать как настраивается dnsmasq
применительно в OpenWrt
, это DNS
сервис.
Отлично, Windows 10 Pro
получила сетевой адрес и шлюзом является 10.90.90.2
– это как раз система OpenWRT
проверяю, что из Windows 10 Pro
вижу интернет:
Шаг №13:
Проверяю, что видится в интерфейсе OpenWRT
на предмет работы DHCP
сервиса на интерфейсе lan90:
http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Network - DHCP and DNS
– вкладка "Static Leases"
Шаг №14:
Чтобы у устройства, которое получило сетевой адрес от DHCP
сервиса на интерфейсе vmbr1
, т.е. lan90
нужно:
http://<OpenWRT> (http://172.33.33.139) - Login:Pass (Login: root Pass: 712mbddr@) - Status - Overview
– прокручиваю бегунок страницы вниз и вижу:
(Active DHCP Leases)
выданный IP
адрес для моей Windows 10 Pro
системе и справа от него кнопку, нажимаю Set Static
Появляется окно где обозначены команды чтобы настроить не динамическое получение IP
адреса для хоста в локальной сети, а прописать исключительно статику, т.е. за хостом закрепить IP
-адрес:
# /etc/config/dhcp uci add dhcp host # =cfg06fe63 uci set dhcp.@host[-1].name='EKZORCH-11LKRD2' uci set dhcp.@host[-1].ip='10.90.90.128' uci set dhcp.@host[-1].mac='12:42:32:0F:8A:2F'
и нажимаю Save & Apply
Шаг №15:
Итого мои настройки для DHCP
сервиса:
root@OpenWrt:~# cat /etc/config/dhcp config dnsmasq option domainneeded '1' option boguspriv '1' option filterwin2k '0' option localise_queries '1' option rebind_protection '1' option rebind_localhost '1' option local '/lan/' option domain 'lan' option expandhosts '1' option nonegcache '0' option cachesize '1000' option authoritative '1' option readethers '1' option leasefile '/tmp/dhcp.leases' option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto' option nonwildcard '1' option localservice '1' option ednspacket_max '1232' option filter_aaaa '0' option filter_a '0' config dhcp 'lan' option interface 'lan' option start '100' option limit '150' option leasetime '12h' option dhcpv4 'server' option dhcpv6 'server' option ra 'server' option ra_slaac '1' list ra_flags 'managed-config' list ra_flags 'other-config' config dhcp 'wan' option interface 'wan' option ignore '1' config odhcpd 'odhcpd' option maindhcp '0' option leasefile '/tmp/hosts/odhcpd' option leasetrigger '/usr/sbin/odhcpd-update' option loglevel '4' config dhcp 'lan90' option interface 'lan90' option start '100' option limit '150' option leasetime '12h' option force '1' option netmask '255.255.255.0' list dhcp_option '6,8.8.8.8' config host option name 'EKZORCH-11LKRD2' option ip '10.90.90.128' option mac '12:42:32:0F:8A:2F'
На заметку: Нужно все что я сделал выше через Web
-интерфейс сделать через командную строку с применением утилиты uci
, но об этом чуть позже.
Итого у меня получилось разобрать порядок действий что в Web
-интерфейсе OpenWRT
нужно проделать дабы поднять систему как шлюз для локальной сети, если система OpenWRT
создана как виртуальная машина и последующие за ней. Мне это нужно дабы оттестировать различный функционал что мне хотелось бы иметь возможность сделать, т.е. я охочусь за навыками настройки.
Итого я подготовил себе небольшую шпаргалку, правда не претендую на 100%
правильность действия, но как отправная точка изучения данная заметка имеет место быть.
На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.