Dve Omnie - propojeni siti pomoci Wireguardu

Provozuji dvě Omnie jako hraniční zařízení dvou domácích sítí. Rád bych tyto dvě sítě propojil pomocí Wireguardu. Schéma vypadá zhruba takto:

------------------     ---------------           ----------------     ------------------ 
|     DMZ 1      |     | Omnia 1 WG  |           | Omnia 2 WG   |     |    DMZ 2       | 
| 10.112.26.0/24 | <-->| 10.112.27.1 | <-------> | 10.112.27.7  | <-->| 10.112.28.0/24 |
------------------     ---------------           ----------------     ------------------
  \-----------v----------/              Internet       \-----------v----------/
           Omnia 1                                              Omnia 2

Každý z obdélníků výše je jedno “rozhraní”, zároveň i “zóna” ve firewallu. V rámci každé Omnie je nastaven forwarding mezi zónami.

Wireguard mám myslím nastaven správně, ping z 10.112.27.1 na 10.112.27.7 (a naopak) funguje správně.

Na každé Omnii jsem přidal do konfigurace následující route:

//na Omnii 1
config route
    option target '10.112.28.0'
    option netmask '255.255.255.0'
    option interface 'wg0'
    option gateway '10.112.27.1'

//na Omnii 2
config route
    option target '10.112.26.0'
    option gateway '10.112.27.7'
    option netmask '255.255.255.0'
    option interface 'wg0'

Bohužel se mi ale nedaří nastavit vše tak, aby mi procházela data z DMZ 1 do DMZ 2. Vlastně se mi nedaří ani pingnout z Omnie 1 na stroj v síti DMZ 2.

//na Omnii 1 - ping na WG funguje:
root@omnia:~# ping 10.112.27.7
PING 10.112.27.7 (10.112.27.7) 56(84) bytes of data.
64 bytes from 10.112.27.7: icmp_req=1 ttl=64 time=74.1 ms
64 bytes from 10.112.27.7: icmp_req=2 ttl=64 time=68.4 ms
64 bytes from 10.112.27.7: icmp_req=3 ttl=64 time=68.2 ms

root@omnia:~# ping 10.112.28.1
PING 10.112.28.1 (10.112.28.1) 56(84) bytes of data.
From 10.112.27.1 icmp_seq=1 Destination Host Unreachable
From 10.112.27.1 icmp_seq=1 Destination Host Unreachable
From 10.112.27.1 icmp_seq=1 Destination Host Unreachable
// tato zprava se opakuje ve velmi rychlem sledu mnohokrat

Nastaveni route na Omnii 1:

root@omnia:~# ip -4 route
default via xx.yyy.zz.xx dev eth2 proto static
10.112.27.0/24 dev wg0 proto static scope link
10.112.28.0/24 via 10.112.27.1 dev wg0 proto static

Na co jsem zapomněl?

Edit 1

První věc, na kterou jsem zapomněl, byly Allowed IPs v rámci konfigurace wireguardu. Přidal jsem na první Omnii

 list allowed_ips '10.112.28.0/24'

A nyní už projde ping na interface DMZ 2:

root@omnia:~# ping 10.112.28.1
PING 10.112.28.1 (10.112.28.1) 56(84) bytes of data.
64 bytes from 10.112.28.1: icmp_req=1 ttl=64 time=51.1 ms
64 bytes from 10.112.28.1: icmp_req=2 ttl=64 time=17.7 ms

Nicméně na jiné stroje na daném rozhraní stále nic:

root@omnia:~# ping 10.112.28.101
PING 10.112.28.101 (10.112.28.101) 56(84) bytes of data.
^C
--- 10.112.28.101 ping statistics ---
10 packets transmitted, 0 received, 100% packet loss, time 9402ms

Když dám tcpdump na Omnii 2

root@omnia-2:~# tcpdump -i wg0 "icmp"
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on home_link, link-type RAW (Raw IP), capture size 262144 bytes
18:03:06.742475 IP 10.112.27.1 > 10.112.28.101: ICMP echo request, id 12186, seq 1, length 64
18:03:07.758270 IP 10.112.27.1 > 10.112.28.101: ICMP echo request, id 12186, seq 2, length 64
18:03:08.795133 IP 10.112.27.1 > 10.112.28.101: ICMP echo request, id 12186, seq 3, length 64

Na toto si sa pozeral?

https://wiki.turris.cz/doc/en/public/wireguard

Forward allowed ips by som skontroloval a firewall nastavenie.

Omlouvam se za zneuziti prostoru. Jak jsem psal v editu vyse, mel jsem spatne nastavene Allowed IPs na obou stranach. Po pridani spravnych rozsahu vse zacalo fungovat.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.