Myslím, že už vzniká zmatek, tak to zkusím shrnout a popsat celé znovu a pokud možno jednoduše.
Vy de facto nestavíte běžné VPN spojení (kdy se jeden klient spojí s VPN serverem, přes vzniklý tunel teče veškerý traffic z klienta a VPN server rozhodne, co kam půjde dále), ale
tunelové spojené dvou sítí.
1) Tunel se naváže mezi dvěma koncovými body, u vás to jsou router s OpenWRT a na druhé straně OpenVPN server.
Toto vám evidentně funguje, protože z OpenWRT pingnete na OpenVPN server.
2) Abyste se z počítače v LAN, která je za routerem s OpenWRT, dostal (třeba pomocí pingu) na OpenVPN server, nemusíte na tomto počítači nic nastavovat. Jeho žádná VPN nezajímá, protože pro něj je to běžný traffic někam mimo vlastní síť, o jehož směřování se stará default gateway. Takže aby to fungovalo, musíte na routeru s OpenWRT mít správně nastavenu routu do sítě s OpenVPN, ve vašem případě 10.8.0.0 přes rozhraní tunelu. Pokud tam bude, router pozná, že požadavky do sítě 10.8.0.0 má směřovat právě tudy a tak to udělá. V tom okamžiku se z počítače ve vaší LAN dostanete na OpenVPN server, ale už ne dále. Toto vám zřejmě také funguje, takže i routu v OpenWRT routeru máte nastavenu správně.
3) Abyste se dostal dále, tzn. na stroj, který je ve vzdálené LAN
za OpenVPN serverem - ať už z vašeho OpenWRT routeru nebo z počítačů v LAN za ním - musí váš OpenVPN server vědět, že má paktety, které k němu připutovaly přes tunel
ze sítě 192.168.80.0, posílat dále do své LAN. Pokud na něm toto nastavíte, začne to celé fungovat přesně tak, jak potřebujete. Bohužel vám neumím poradit, jak to udělat s čistými IPtables pravidly, protože desítky let pro jejich nastavování používám výhradně Shorewall.
Když si vypíšu svá IPtables pravidla, vztahující se k mému IPsec tunelu, mám tam něco takového (změnil jsem adresu své sítě na tu vaši):
# iptables -L | grep vpn
vpn_frwd all -- 192.168.80.0/24 anywhere [goto] policy match dir in pol ipsec
vpn2fw all -- 192.168.80.0/24 anywhere policy match dir in pol ipsec
fw2vpn all -- anywhere 192.168.80.0/24 policy match dir out pol ipsec
Chain fw2vpn (1 references)
Chain loc2vpn (1 references)
loc2vpn all -- anywhere 192.168.80.0/24 policy match dir out pol ipsec
Chain net2vpn (1 references)
net2vpn all -- anywhere 192.168.80.0/24 policy match dir out pol ipsec
Chain vpn2fw (1 references)
Chain vpn2loc (1 references)
Chain vpn2net (1 references)
Chain vpn_frwd (1 references)
vpn2loc all -- anywhere anywhere policy match dir out pol none
vpn2net all -- anywhere anywhere policy match dir out pol none
vpn je zóna mého IPsec tunelu, fw je zóna serveru, loc je zóna lokální sítě za VPN serverem a net je zóna vnějšího Internetu. Samozřejmě tam místo adresy vzdálené LAN můžete mít i anywhere, pokud by router s OpenWRT sloužil jako gateway pro více sítí, to už záleží na vaší konfiguraci.
Když to celé shrnu:
- nemusíte nastavovat nic na počítači ve vaší LAN za OpenWRT, protože ten to vůbec nezajímá
- na OpenWRT routeru taky nemusíte nic zvláštního kromě VPN spojení nastavovat, jen obyčejnou routu tak, aby pakety do cílové sítě tekly přes tunel a ne do Internetu
- na OpenVPN serveru musíte
správně nastavit předávání paketů z tunelu dál do LAN za serveremSnad to je dostatečně srozumitelné.