Zdravec, jak by se na routeru vnitřní sítě správně řešil routing , aby odchozí pakety nechodily na hlavní rozhraní do internetu ale, přes TUN? Příchozí spojení pěkně dorazí do zařízení, ale odchozí má tendenci odcházet špatným rozhraním.
Stručně: je to dím, že nemám v iptables žádné pravidlo FW/CONN/MARK nebo prohibit nebo supressprefix_length? Obousměrně funkční spojení je funkční pouze na ip adresu routeru (10.0.0.1) na rozhraní tun. Není funkční na ip rozsah vnitření sítě(ani routeru 192.168.0.222)
Potřebuji zachovat IP adresy remote hostů(takže nejde použít kombo PREROUTING DNAT 80->192.168.1.9:8080 + POSTROUTING SNAT --to-source 10.0.0.2, takže router na vnitřní síti uvidí traffic z vpn rozsahu)
(Rozvedu, toto byl jen stručný úvod)
Na domácím routeru je TUN obsluhované ssh -w 1:2 Vzdálený bod je VPS (IP 1.2.3.4), kde jsou forwardované porty ( iptables -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.9:8080
)
/etc/iproute2/rt_tables : mám "10 vpn"
ip rule: 32765: from 10.0.0.0/24 lookup vpn
ip route show table vpn
default via 10.0.0.2 dev tun8 (ip samotná je 10.0.0.1)
192.168.1.0/24 via 192.168.1.222 dev eth0
ip link:eth0 =lokální síť, tun =tunel, wan= rozhraní do internetu
Pozorování: Pakety dovnitř krásně dojdou (5.4.3.2 je nějaká remote host)
5.4.3.2:54321 -> 1.2.3.4:80 (in: vps-eth0)
5.4.3.2:54321 -> 192.168.1.9:8080 (vps forward out: tun-x, pravidlo -j DNAT)
----
tunel
----
5.4.3.2:54321 -> 192.168.1.9:8080 (router forward in: tun-y)
paket do zařízení v lokální síti
zařízení odpoví 192.168.1.9:8080 -> 5.4.3.2:54321
192.168.1.9:8080 -> 5.4.3.2:54321 (router forward in eth0)
192.168.1.9:8080 -> 5.4.3.2:54321 (router
out : wan) - neaplikuje se ani ip rule from 10.0.0.0/24
Jak routeru říct že tento paket má jít do tun-x a ne do wan Logicky tam musí být nějaký conntrack, a poznamenat si že flow z port 54321 přišel z tun a ne z WAN. Samotné zařízení v síti pak nemá ponětí, že pakety pochazí z WAN
Nebo druhé řešení nějaký prapodivný nat že bych (na VPS) místo -jDNAT 192.168.1.6 dával -j DNAT 10.99.0.6 a v routeru by se to pak muselo podruhé z natovat pravidlem 10.99.0.Q na 192.168.1.Q?
Co vychází lepe, ten extra-nat nebo nějaký MARK?
(Chci to právě zprovznit na holém tun, tedy ne wireguard). -jMARK jsem nikdy nepoužíval...
četl jsem toto
Policy-based routing v Linuxu: směrování provozu pod kontrolou---ta funkce " Mezitím vypršelo sezení. Odešlete příspěvek znovu. Tento formulář jste již odeslali je kvzteku. Už se to stalo zase stalo." Reload zobrazí samou stránku bez dialogu prohlížeče odeslání POST Dat jelikož je přesměrován na GET. Tlačítko zpět ho sice zobrazí ale zobrazí se pak čištá formulář