Tqb
@Tqb

Как настроить маршрутизацию через локальную точку OPENWRT с VPN Wireguard, которая не является default gateway?

Имеется сеть 10.0.0.0/24 шлюз 10.0.0.10 (OPNSENSE)
На данном шлюзе поднят VPN WG 10.100.0.0/24 IP пира 10.100.0.1

К нему подключается WG из OPENWRT c IP пира 10.100.0.2

На OPENWRT нет WAN, его локальный IP 192.168.10.254 (маска:24, гейт: 192.168.10.1 -- RT ростелеком роутер).

Задача сделать маршрут для пакетов из 192.168.10.0/24 в 10.0.0.0/24. (то бишь просто соединить две локальные сети, шлюз RT в бридж ставить не хочу, так как это всё будет у мамы и мне требуется конфигурация, которая продолжит работать, если сломается OPENWRT)

В данный момент на RT 192.168.10.1 прописан маршрут: 10.0.0.0/24 via 192.168.10.254 и он работает, что подтверждается tracert.
Все хосты в 10.0.0.0/24 отлично пингуются, НО ВНЕЗАПНО, на них нет доступа, через раз загружает пол страницы и отваливается, хотя пинг стабильный. Я так понимаю это из-за асимметричной маршрутизации на OPENWRT проблема, т.к если тот же самый пир от WG поднять просто на винде в сети 192.168.10.0/24 , то с него всё отлично доступно.

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

6593357a8ffd2584758856.png

Конфиги:
network:
config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd75:64ec:12f7::/48'
	option packet_steering '1'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'wan'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.10.254'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option gateway '192.168.10.1'
	list dns '192.168.10.1'

config interface 'WG'
	option proto 'wireguard'
	option private_key 'somekey'
	list addresses '10.100.0.2/24'
	list dns '10.0.0.10'

config wireguard_WG
	option description 'Imported peer configuration'
	option public_key 'somekey='
	option endpoint_host 'host'
	option endpoint_port '51840'
	option route_allowed_ips '1'
	list allowed_ips '10.100.0.0/24'
	list allowed_ips '10.0.0.0/24'
	list allowed_ips '192.168.1.0/24'

config route
	option interface 'lan'
	option type 'local'
	option target '0.0.0.0/0'
	option gateway '192.168.10.1'
	option disabled '1'


firewall:
config defaults
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'

config zone
	option name 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'
	list network 'lan'
	option masq '1'

config zone
	option name 'wan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'
	option masq '1'
	option mtu_fix '1'
	list network 'WG'

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

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

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


p.s.

Если отключить маскарадинг, то
Трейс запинается на роутере по непонятной причине:
6594412f5a983848517651.png
Зато с самого роутера всё отлично пингуется
65944136e849e860314536.png
  • Вопрос задан
  • 398 просмотров
Пригласить эксперта
Ответы на вопрос 1
hint000
@hint000
у админа три руки
Я так понимаю это из-за асимметричной маршрутизации на OPENWRT проблема
Нет, по двум причинам. (1) в случае такой проблемы и полстраницы бы не прогружалось, и пинга бы не было; (2) на схеме просто нет места для асимметричной маршрутизации, т.к. всё в одну линию вытягивается, альтернативного маршрута нет.

через раз загружает пол страницы и отваливается, хотя пинг стабильный
Главное подозрение на MTU. Читайте по любой ссылке из первого десятка в поиске:
https://www.google.com/search?q=windows+изменить+MTU
В двух словах и "на пальцах": не пролазят только пакеты большого размера; пингуете маленькими пакетами, они пролазят; некоторые пакеты при загрузке страницы тоже маленькие, они пролазят, а на первом же большом пакете затык. Параметр MTU говорит: не посылай пакеты больше указанного размера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы