Не работает роутинг Wireguard туннелей в внутреннюю сеть.

RIP, OSFP, BGP, MPLS/VPLS
dogmaod
Сообщения: 16
Зарегистрирован: 06 ноя 2023, 12:23

Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение dogmaod »

Есть Linux router 192.168.10.1 с выходом в интернет.
Настроен проброс порта на микроик для поднятия Wireguard туннелей.

На Linux router прописан статик роут 192.168.20.0/24 gw 192.168.10.10

Внутри локальной сети установлен микротик 192.168.10.10 c default gw 192.168.10.1


На микротике поднят Wireguard 192.168.20.0/24

На Микроитие Wireguard peers настроено Allowed 192.168.10.0/24, 192.168.20.0/24

Когда клиент подымает туннель Wireguard и получает адрес 192.168.20.2/32

то с клиенты сети 192.168.10.0/24 пингуют 192.168.20.2 все нормально.

А вот 192.168.20.2 пингует только 192.168.20.1 Wireguard Интерфейс, собственно микротик
192.168.10.10 и шлюз 192.168.10.1, а вот клиентов 192.168.10.0/24 не пингует
Трассировка маршрута заканчивается 192.168.20.1 а потом звездочки.


Вопрос как настроить роутинг, и почему не работает ?

add action=masquerade chain=srcnat disabled=yes out-interface=ether1 src-address=192.168.20.0/24
Если конечно включаю NAT на микротике, то все работает и все выходят в локалку через IP 192.168.10.10

Как включить роутинг между интерфейсами Wireguard и Ether1 ?

Как заставить чтобы Сеть WireGuard 192.168.20.0/24 роутилась в 192.168.10.0/24 ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Chupaka
Сообщения: 4165
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение Chupaka »

А на Linux-сервере ничего не мешает? Там маскарада какого-нибудь нет? А на самом PC2? Если там винда - то по умолчанию Брандмауэр разрешает доступ только из своей подсети.
dogmaod
Сообщения: 16
Зарегистрирован: 06 ноя 2023, 12:23

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение dogmaod »

Проверю отпишусь.

PC2 Windows. Хорошо допустим. А как Организовать доступ клиентов VPN Wireguard 192.168.20.0/24 в сеть 192.168.10.0/24, что на всех компьютерах отключать Брандмауэр ?. Или просто на Mikrotike сделать NAT 192.168.20.0/24 <--->192.168.10.10.
Тогда будет работать. Но будет непонятно кто из VPN Wireguard куда подключался..
dogmaod
Сообщения: 16
Зарегистрирован: 06 ноя 2023, 12:23

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение dogmaod »

traceroute c хоста 192.168.20.2:

C:\Users\ads12\Desktop>tracert 192.168.10.13

Трассировка маршрута к 192.168.0.13 с максимальным числом прыжков 30

1 34 ms 36 ms 37 ms 192.168.20.1
2 * * * Превышен интервал ожидания для запроса.
3 * * * Превышен интервал ожидания для запроса.
.....

Маршрут доходит только до Mikrotik, дальше не уходит.

Mikrotik route print:

route/print
Flags: D - DYNAMIC; I - INACTIVE, A - ACTIVE; c - CONNECT, s - STATIC
Columns: DST-ADDRESS, GATEWAY, ROUTING-TABLE, DISTANCE
# DST-ADDRESS GATEWAY ROUTING-TABLE DISTANCE
0 As 0.0.0.0/0 192.168.10.1 main 1
DAc 192.168.10.0/24 ether1 main 0
1 Is 192.168.10.0/24 192.168.20.1 main 1
DAc 192.168.20.0/24 wireguard1 main 0

-----------------------------------

traceroute c хоста с 192.168.10.20

C:\Users\sa>tracert 192.168.20.2

Трассировка маршрута к 192.168.20.2 с максимальным числом прыжков 30

1 1 ms <1 мс <1 мс control [192.168.10.1]
2 3 ms 6 ms 5 ms 192.168.10.10
3 37 ms 33 ms 33 ms 192.168.20.2

Трассировка завершена.
dogmaod
Сообщения: 16
Зарегистрирован: 06 ноя 2023, 12:23

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение dogmaod »

Вот полная конфигурация mikrotik:

/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
/interface wireguard
add listen-port=1323 mtu=1420 name=wireguard1
/interface list
add name=WAN
add name=LAN
/interface list member
add interface=ether1 list=WAN
add interface=lo list=LAN
add interface=wireguard1 list=WAN

/interface wireguard peers
add allowed-address=192.168.20.2/32,192.168.10.0/24 client-address=192.168.20.2/32 comment="test" interface=wireguard1 name=peer3 private-key="*************************************" public-key=\
"*************************************"
.......

/ip address
add address=192.168.10.10/24 interface=ether1 network=192.168.10.0
add address=192.168.20.1/24 interface=wireguard1 network=192.168.20.0

/ip dhcp-client
add disabled=yes interface=ether1
/ip dns
set servers=8.8.8.8,0.0.0.0

/ip firewall filter
add action=accept chain=input dst-port=1323 in-interface=ether1 protocol=udp src-address-list=""
add action=accept chain=forward disabled=yes dst-address=192.168.10.0/24 src-address=192.168.20.0/24
add action=accept chain=forward disabled=yes dst-address=192.168.20.0/24 src-address=192.168.10.0/24
add action=accept chain=input dst-address=0.0.0.0 src-address=192.168.20.0/24
add action=accept chain=output dst-address=0.0.0.0 src-address=192.168.20.0/24
add action=accept chain=forward dst-address=192.168.10.0/24 src-address=192.168.20.0/24
add action=accept chain=forward dst-address=192.168.20.0/24 src-address=192.168.10.0/24

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.20.0/24

/ip route
add disabled=no distance=1 dst-address=192.168.10.0/24 gateway=192.168.20.1 routing-table=main suppress-hw-offload=no
/tool sniffer
set filter-interface=ether1 filter-port=1323 filter-src-ip-address=192.168.20.0/24


Flags: D - DYNAMIC; I - INACTIVE, A - ACTIVE; c - CONNECT, s - STATIC
Columns: DST-ADDRESS, GATEWAY, ROUTING-TABLE, DISTANCE
# DST-ADDRESS GATEWAY ROUTING-TABLE DISTANCE
0 As 0.0.0.0/0 192.168.0.1 main 1
DAc 192.168.0.0/24 ether1 main 0
1 Is 192.168.0.0/24 192.168.101.1 main 1
DAc 192.168.101.0/24 wireguard1 main 0
[admin@MikroTik] /ip/route>

NAT выключен.

Где ошибка в конфиге и почему трафик с 192.168.20.1/24 interface=wireguard1 не идет дальше ?



Маршрут заканчивается микротиком:

1 34 ms 36 ms 37 ms 192.168.20.1
2 * * * Превышен интервал ожидания для запроса.
3 * * * Превышен интервал ожидания для запроса.

Можете прокомментировать
dogmaod
Сообщения: 16
Зарегистрирован: 06 ноя 2023, 12:23

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение dogmaod »

ping c 192.168.20.2 на 192.168.10.1 проходит и подключается по ssh.


А вот клиенты 192.168.10.2 не подключается и ping не проходит.
Аватара пользователя
Chupaka
Сообщения: 4165
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение Chupaka »

dogmaod писал(а): 15 июл 2025, 09:39 что на всех компьютерах отключать Брандмауэр ?
Не отключать, а настроить. Разрешить доступ из нужной подсети.
dogmaod
Сообщения: 16
Зарегистрирован: 06 ноя 2023, 12:23

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение dogmaod »

Немного разобрался. Микротик посылает пакеты на сеть 192.168.10.0/24 через интерфейс ether1., мимо шлюза, так как один броадкаст домен., а хосты не 192.168.10. не знают куда отвечать на сеть 192.168.20.хх
Если на хостах 192.168.10.хх прописать роут сети 192.168.20.хх через 192.168.10.10, то все работает.
Как заставить микротик чтобы с wireguard интерфейса все шло через шлюз 192.168.10.1, а не на прямую к хостам ?
Аватара пользователя
Chupaka
Сообщения: 4165
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение Chupaka »

dogmaod писал(а): 22 июл 2025, 20:41 Немного разобрался. Микротик посылает пакеты на сеть 192.168.10.0/24 через интерфейс ether1., мимо шлюза, так как один броадкаст домен., а хосты не 192.168.10. не знают куда отвечать на сеть 192.168.20.хх
А у хостов нет шлюза по умолчанию (192.168.10.1)? Почему?
dogmaod писал(а): 22 июл 2025, 20:41 Если на хостах 192.168.10.хх прописать роут сети 192.168.20.хх через 192.168.10.10, то все работает.
А если через 192.168.10.1?
dogmaod писал(а): 22 июл 2025, 20:41 Как заставить микротик чтобы с wireguard интерфейса все шло через шлюз 192.168.10.1, а не на прямую к хостам ?
Что это должно поменять? На 10.1 маскарадинг всего трафика? Это костыль. Но для реализации этого варианта - используйте Policy Routing, отмаркируйте роутинг (action=mark-routing new-routing-mark=XXX) нужных пакетов в Mangle Prerouting, затем создайте маршрут по умоланию через 10.1 в таблице XXX
dogmaod
Сообщения: 16
Зарегистрирован: 06 ноя 2023, 12:23

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение dogmaod »

Продолжение.
Если пингануть с PC2 192.168.10.2 PC1 192.168.20.2.
После пинга и в обратною строну маршрут работает и связность есть.

192.168.20.2 видит хост 192.168.10.2 (двухсторонний обмен пакетами), Но по истечении 5 минут маршрут пропадает.
ARP не проходит что-ли ?

Может на интерфейсе Linux_GW включить proxy-arp ?
Аватара пользователя
Chupaka
Сообщения: 4165
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение Chupaka »

ARP и не должен проходить.

А после "волшебного пинга" трассировка с PC1 на PC2 и в обратную сторону как выглядит?
dogmaod
Сообщения: 16
Зарегистрирован: 06 ноя 2023, 12:23

Re: Не работает роутинг Wireguard туннелей в внутреннюю сеть.

Сообщение dogmaod »

1. Трассировка маршрута к 192.168.10.13 с максимальным числом прыжков 30

1 39 ms 36 ms 35 ms 192.168.20.1
2 37 ms 35 ms 37 ms 192.168.10.13
Трассировка завершена.


PC2 это linux proxmox.

2. PC2---> PC1

PC2:
root@proxmoxve:/# ip ro g 192.168.20.2
192.168.20.2 via 192.168.10.1 dev vmbr0 src 192.168.10.13 uid 0
cache

root@proxmoxve:/# ping 192.168.20.2
PING 192.168.20.2 (192.168.20.2) 56(84) bytes of data.
From 192.168.10.1: icmp_seq=1 Redirect Host(New nexthop: 192.168.10.10)
64 bytes from 192.168.20.2: icmp_seq=1 ttl=127 time=36.3 ms
64 bytes from 192.168.20.2: icmp_seq=2 ttl=127 time=34.5 ms
64 bytes from 192.168.20.2: icmp_seq=3 ttl=127 time=35.6 ms
64 bytes from 192.168.20.2: icmp_seq=4 ttl=127 time=35.4 ms
64 bytes from 192.168.20.2: icmp_seq=5 ttl=127 time=34.4 ms
^C
--- 192.168.20.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 34.442/35.243/36.306/0.701 ms
root@proxmoxve:/# ip ro g 192.168.20.2
192.168.20.2 via 192.168.10.10 dev vmbr0 src 192.168.10.10 uid 0
cache <redirected> expires 178sec


P.S. 192.168.10.1 - Kerio Control 9.4.4
Такое впечатление при входящих пакетах редирект не работает.