Klienti LAN ignorují VPN routeru, dokud se nezapne směrování podle politik
Pravidla pro přesměrování pakety propouštějí, ale nikdy nevybírají rozhraní. Oddělená tabulka politik a pravidlo rozhodují, kteří klienti LAN používají VPN routeru.
Router se dostane na internet tunelem, zatímco notebook za ním stále hlásí adresu ISP. Přidání pravidel pro přijetí nepomáhá a toto selhání je poučné: filtrování odpovídá na to, zda paket smí projít, ne kam jde. Volbu rozhraní už provedl dotaz na trasu, který o vašem seznamu klientů nic neví. Opravte dotaz a firewall přestane být podezřelým.
Filtrovací pravidlo nemůže vybrat rozhraní
Tok paketů na Linux routeru nejprve provede rozhodnutí o trase a potom háček forward. Když pravidlo odpovídá odchozímu tunelovému zařízení, jádro už rozhodlo, že tunelem se vychází. Pokud hlavní tabulka stále preferuje výchozí trasu přes WAN, paket míří k ISP a pravidlo pro přijetí, které jste právě napsali, ho nikdy neuvidí. Tento jediný fakt o pořadí vysvětluje, proč stránka nových pravidel firewallu nic nezmění.
Níže uvedený příklad používá LAN 192.168.8.0/24 na br-lan, tunelové zařízení tun0 a jeden set-top box na 192.168.8.23, který má jít tunelem.
Přečtěte si dotaz dřív, než budete upravovat pravidla
Požádejte jádro, aby za tohoto klienta vyřešilo trasu. Odpověď obsahuje odchozí zařízení a zdrojovou adresu, která by byla vybrána, a to je vše, co potřebujete k potvrzení diagnózy. Pokud odpověď uvádí zařízení WAN, paket neměl nikdy šanci dojít k vašemu pravidlu.
ip -4 route get 198.51.100.7 from 192.168.8.23
Dotaz zopakujte pro klienta, který má zůstat na běžné cestě. Když obě odpovědi uvádějí stejné zařízení, žádná politika podle zdroje zatím neplatí a oprava patří do směrování, ne do filtrování.
Připojte tabulku ke klientům, které chcete pokrýt
Směrování podle politik vkládá dotaz na pravidla před hlavní tabulku. Vytvořte tabulku, jejíž výchozí trasou je tunel, a pak ji připojte k selektoru: vstupní rozhraní, zdrojová adresa nebo značka firewallu. Priority určují pořadí a hlavní tabulka je hluboko v seznamu na 32766, takže pravidlo s nízkým číslem se prohlíží první. Selektory rozhraní pokrývají každého klienta na mostu; selektory adresy pokrývají jeden stroj.
ip -4 route add default dev tun0 table 200
ip -4 rule add iif br-lan lookup 200 priority 200
Rozhraní firmwaru obvykle nabízejí stejné objekty jako stránka směrování podle politik nebo zásad VPN. Seznam zařízení je tam snazší udržovat než ručně psaná pravidla a obvykle přežije aktualizace, které mění syntaxi pravidel.
Vyberte selektor záměrně. Pravidlo rozhraní je krátké a odolné do budoucna, ale zachytí i vlastní správní provoz routeru přicházející na tento most. Pravidlo zdroje je přesné a vyžaduje úpravu vždy, když se změní seznam zařízení. Volbu si zapište, protože ji bude potřebovat další člověk, který se zeptá, proč se jedno zařízení chová jinak.
Nechte místní cíle mimo tunel
Nová tabulka zná jen trasy, které do ní vložíte. Předpona LAN chybí, takže provoz tiskárny a NAS by šel výchozí trasou tunelu a zmizel. Trasa throw ukončí dotaz v této tabulce a vrátí rozhodnutí hlavní tabulce.
ip -4 route add throw 192.168.8.0/24 table 200
Bez této trasy se místní sdílení rozbije a vlastní správní relace routeru může zmizet, pokud je selektor širší, než bylo zamýšleno. Pak vyřešte otázku zdroje: tunelové pakety, které stále nesou adresy LAN, potřebují, aby druhá strana znala zpětnou cestu, zatímco maskování na tunelu tento požadavek odstraňuje a zároveň odstraňuje identitu klienta, kterou by druhá strana viděla.
Pravidla a trasy přidané za běhu zmizí po restartu nebo aktualizaci firmwaru. Přidejte je do spouštěcího mechanismu routeru, jednou restartujte a znovu otestujte z klienta: jeho veřejnou adresu, druhého klienta, který má zůstat na WAN, a čítače tunelu při novém připojení.