Blisko coraz bliżej...
Spełniłem założenie tj. testy robię na ubuntu serwer 20.04 jako serwer wierguard i dwa routery z gargoyle jako klienty wireguard. Wszystkie hosty (tj. obydwu podsieci gargoyle) się widzą przy następującej konfiguracji:
Serwer config:
[Interface]
Address = 10.64.0.1/24
SaveConfig = true
PostUp = ufw route allow in on wg0 out on ens160
PostUp = iptables -t nat -I POSTROUTING -o ens160 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on ens160
PreDown = iptables -t nat -D POSTROUTING -o ens160 -j MASQUERADE
ListenPort = 51820
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.64.0.2/32, 192.168.5.0/24
Endpoint = xxx.xxx.xxx.xxx:54303
[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.64.0.3/32, 192.168.4.0/24
Endpoint = XXX.XXX.XXX.XXX:51820
Client1 config
config interface 'wg0'
option proto 'wireguard'
option listen_port '51820'
list addresses '10.64.0.2/32'
option private_key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
config wireguard_wg0 'wgserver'
option route_allowed_ips '1'
option endpoint_port '51820'
list allowed_ips '0.0.0.0/0'
option public_key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
option endpoint_host 'vDOMENA.PL'
(config drugiega klienta wireguard gargoyle analogicznie)
Przy takiej konfiguracji hosty wychodzą z IP serwera wireguard, ale jak zdejmę maskaradę z serwera to potem nie ma komunikacji pomiędzy hostami...
Druga sprawa to jeżeli zmienię cokolwiek w sekcji
list allowed_ips '0.0.0.0/0'
tj. zdefiniuje konkretne sieci, aby tylko one były dostępne dla klientów wireguard to również tracę komunikację.
Dla przykładu powyższemu klientowi definiuję:
list allowed_ips '10.64.0.0/32'
list allowed_ips '192.168.4.0/0'
i zaraz tracę komunikację pomiędzy sieciami i również serwerem wireguard.
Co zrobić aby:
1. Hosty routerów klientów wireguard nie wychodziły z IP serwera wireguard?
2. Udało się zdefiniować konkretne sieci, które mają być dostępne dla routerów klientów wireguard zamiast 0.0.0.0/0 ???