Tak přesně tohle by SNATem nevyřešil. Toto bude zase dlouhý příběh, protože se do sítí montují lidi, kteří jim nerozumí a další podobní těm ubožákům ještě radí. Pokud neexistuje routing pravidlo (a default GW je taky routing pravidlo), ale adresa spadá do rozsahuj IP/netmask nějakého rozhraní, vygeneruje se ARP dotaz. Pokud na ten dotaz něco odpoví, zavede se ARP pravidlo, pokud ne, prohlásí se cíl za nedostupný (ARP nekompletní).
Tady je otázka, PROČ některé stroje nemají nastavenu default GW, nebo obecně routing pro VPN na daném přístupovém bodě. Připadá mi to jako opravdu velká hloupost.
Řešení pochopitelně existuje. Na stroji, na kterém běží VPN, se udělá ARP proxy pro rozsah na druhé straně té VPN, protože VPN podrozsah spadá do rozsahu v přídělu těch zařízení bez GW (nebo se to tak dá alespoň zařídit), tak to takhle půjde, protože ty stroje bez DG vyprodukují ARP request, na který dostanou reply z ARP proxy, čímž se ten packet na eth vrstvě nasměruje na VPN.. Nicméně řešení je to opravdu zvláště špatné, je to takříkajíc jak posrat se v kině. Bohužel každý protějšek pro takové zařízení vyprodukuje zápis v ARP tabulce, která tím pádem velice rychle dojde, neb adresní prostor "za vpn" může být dost velký, tudíž těch ARP requestů bude v síti lítat jak Pačínkovejch (ARP tabulka odhazuje nejdéle nepoužité záznamy). A na ARP request reaguje každá mašina ve stejném okruhu (lépe řečeno, reaguje jen ta VPN, ale zpracovává ten packet každá mašina), což u LAN může být opravdu velký výkonový problém pokud je tam těch zařízení bez GW opravdu hodně, alternativně komunikují se spoustou protějšků a mají opravdu malou ARP tabulku.
Tato věc je v IPv4 udělaná opravdu hodně špatně. V IPv6 by stačilo, aby ta VPN brána poslala RA a bylo by zkonfigurováno. Default GW to v IPv4 řeší pouze v situaci, kdy ta VPN běží na stroji, který zároveň zprostředkovává přístup do Internetu. Ve všech ostatních případech se pak na každé mašině musí konfigurovat routing (strašná věc), nebo se použije proxyARP (ještě horší), nebo se vytvoří separátní LAN pro VPN, nejspíše pomocí 802.1q, což je už opravdu hodně velká divočina.(I v IPv4 se zkonfigurovanou DG existuje způsob, jak z GW učit zařízení routing pro určité cíle, ale do toho tu nemínim zabíhat)
Takže zásadní otázka. PROČ jsou v síti mašiny, který nemají default GW?? Jaký to má důvod? Nejspíš se to musí řešit na dost jiném místě. Totiž default GW používají i zařízení s úplně nejprimitivnějším TCP/IP stackem. Pokud se totiž zadá její MAC namísto IP, nemusíte implementovat ARP. A to na systému s pár kB paměti opravdu znamená hodně. Čili nedovedu si představit krám, který by to neuměl. Cosi mi říká, že to dělá proto, aby ta zařízení takzvaně "nemohla na net", ale mohla do lokální sítě a teď je najednou potřeba, aby to prošlo do VPN...přičemž mezi normálními lidmi se takový provoz odfiltruje na gatewayi a normálně se tomu DG nastaví, že. A pak se to řeší, ano, jedním jednoduchým pravidlem v iptables...namísto takovýho porodu ježka bodlinama napřed... Prostě za tou komplikovanou situací cítím nějaký nesmyslnou implementaci acl.