Această întrebare este despre configurarea unui releu WireGuard care direcționează tot traficul peer-ului său către un alt server WireGuard, dar releul în sine nu folosește acel server WireGuard ca gateway implicit.
Fac niște chestii de self-hosting. În prezent, rețeaua mea conține trei noduri, un gateway, un server ownCloud și telefonul meu mobil.
Aceste noduri conectate în plasă. Gateway-ul este găzduit pe un VPS, iar mobilul îl va folosi pentru a accesa Internetul.
Totul merge. Dar problema vine atunci când adaug un nod Windows la această rețea deoarece funcția kill-switch a clientului WireGuard Windows necesită ca configurația să aibă exact un peer și IP-ul permis este 0.0.0.0/0.
Din motive de securitate, nu vreau ca VPS-ul să se afle între nodul Windows și serverul ownCloud, așa că ruta ar trebui să fie:
Nod Windows -> server ownCloud -> Gateway -> Internet
Mai mult decât atât, serverul ownCloud va rula backup restic orar. Nu vreau ca acest trafic să fie direcționat către gateway din cauza vitezei.
Am încercat rutarea bazată pe politici de aproximativ câteva ore, dar tot nu o pot face să funcționeze. Poate cineva să ajute? Mulțumiri. Mai jos sunt configurațiile de rulare.
Poarta de acces
wg0
[Interfață]
Adresa = 10.0.0.1/32
ListenPort = 51820
[Peer]
PublicKey = (cheia publică a serverului ownCloud)
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = (cheia publică a mobilului)
AllowedIPs = 10.0.0.3/32
nftables
postrouting în lanț {
tip nat hook postrouting priority srcnat;
ip saddr 10.0.0.0/24 oif eth0 masquerade
}
lanț înainte {
tip filtru cârlig înainte filtru prioritar; scăderea politicii;
ct stat stabilit, înrudit accepta
ip saddr 10.0.0.0/24 accept
}
server ownCloud
[Interfață]
Adresa = 10.0.0.2/32
ListenPort = 51820
[Peer]
PublicKey = (cheia publică a porții)
Punct final = $gateway_ip_address:51820
AllowedIPs = 10.0.0.1/32
PersistentKeepalive = 25
[Peer]
PublicKey = (cheia publică a mobilului)
AllowedIPs = 10.0.0.3/32
PersistentKeepalive = 25
Mobil
[Interfață]
Adresa = 10.0.0.3/32
ListenPort = 51820
DNS = 10.0.0.2
[Peer]
PublicKey = (cheia publică a porții)
Punct final = $gateway_ip_address:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
[Peer]
PublicKey = (cheia publică a serverului ownCloud)
Endpoint = (numele de domeniu al serverului ownCloud):51820
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25