Klient VPN vymaže vami pridanú trasu? Použite tabuľku politík
Klient znova presadzuje trasy, ktoré vlastní, takže ručne pridaný záznam zmizne za sekundy. Umiestnite výnimku do tabuľky politík s prioritou pravidla, ktoré vyhrá.
Jedna /24 pre laboratórnu tlačiareň zmizne medzi dvoma volaniami ip route show a klientsky log len hovorí, že sa zmenila sieť. S príkazom, prefixom ani vašimi oprávneniami nebolo nič zle. Podnikový klient, ktorý vlastní model smerovania hostiteľa, tento model znova presadzuje vždy, keď ho niekto iný upraví, takže vami pridaný záznam sa odstráni ako votrelca. Bojovať s ním v tej istej tabuľke je prehratá pozícia. Riešením je úplne prestať súťažiť o tú tabuľku a umiestniť výnimku tam, kam sa monitor nikdy nepozerá.
Monitor vysvetľuje chýbajúcu trasu
Ukážte to, skôr než čokoľvek prepracujete: prečítajte tabuľku, pridajte prefix, počkajte niekoľko sekúnd, prečítajte znova. Ak záznam chýba a nič ste nezadali, aby ho odstránilo, niekto to sleduje. Nájdite proces, ktorý toto správanie vlastní, a prečítajte jeho log okolo okamihu, keď trasa zmizne, pretože tá istá služba zvyčajne spravuje tunel, paketové filtre a konfiguráciu resolvera. Zabiť ho, aby vám trasa zostala, je výmena, ktorú pri ďalšom pripojení oľutujete.
ip route show
ip route add 192.168.2.0/24 dev enp0s31f6
sleep 5; ip route showPrefix a rozhranie vyššie sú zástupné. Kopírovanie názvu rozhrania z funkčného príkladu na inom stroji je najčastejší dôvod, prečo táto demonštrácia nevydá vôbec nič.
Druhá tabuľka je pre monitor neviditeľná
Agent prestavuje iba tabuľku, ktorú vlastní. Dajte výnimke vlastnú tabuľku plus pravidlo, ktoré tam posiela zodpovedajúce ciele, a hlavná tabuľka sa nikdy nemení, takže agent nemá čo opravovať. To je celá myšlienka: jeden priestor názvov trás, ktorý spravuje niekto iný, a jeden, ktorého sa dotýkate len vy.
Výmenou je údržba. Dva objekty sa môžu rozísť a pozícia pravidla v zozname je rovnako dôležitá ako trasa v tabuľke, ktorú vyberá.
Postavte výnimku a potom ju nechajte vyhrať
Vytvorte tabuľku, nainštalujte trasu a pridajte pravidlo, ktoré pre tento cieľ vyberá tabuľku. Priorita rozhoduje, či sa vaše pravidlo skúma pred pravidlami vloženými klientom alebo po nich, a pravidlo zoradené neskôr sa nikdy nedosiahne, takže číslo je súčasťou návrhu, nie dekoráciou. Potom sa opýtajte jadra, čo by skutočne urobilo, čo je iná otázka než to, čo ste nakonfigurovali.
ip rule add to 192.168.2.0/24 table 110 pref 30010
ip route add 192.168.2.0/24 dev enp0s31f6 table 110
ip route get 192.168.2.50ip route get vyrieši trasu, ktorú by jadro použilo, vrátane zariadenia a zdrojovej adresy. Nevypisuje identifikátor tabuľky, takže ho spárujte s ip rule show, keď potrebujete potvrdiť, ktorá tabuľka vyhrala. Spolu odpovedajú na jedinú dôležitú otázku: opúšťa prevádzka na túto adresu miesto, ktoré ste zamýšľali?
Iné podoby tej istej myšlienky
Vzor sa zovšeobecní, len čo prestanete myslieť v cieľoch. Miestna podsiete môže zostať dostupná, kým tunel drží predvolenú trasu. Odpovede z SSH servera pripojeného k LAN môžu odchádzať rozhraním, ktorým prišli, namiesto toho, aby zmizli v tuneli. A pravidlo založené na rozhraní môže vtlačiť do tunela všetko, čo prichádza na bezdrôtové rozhranie, kým prevádzka, ktorú generuje samotný hostiteľ, zostáva na Ethernet:
ip rule add iif wlan0 table 10
ip route add default dev tun0 table 10Posledný prípad zodpovedá vstupnému rozhraniu, nie cieľu, čo je iný typ pravidla a iný mentálny model. Presmerovaná prevádzka tiež potrebuje zapnutý net.ipv4.ip_forward a vzdialená strana musí zdrojový rozsah smerovať späť alebo ho prekladať; pravidlo na jednom stroji nikdy nevytvorí druhú polovicu cesty.
Berte pravidlo ako jednorazové
Pravidlá a tabuľkové trasy žijú v pamäti. Po opätovnom pripojení môže byť zariadenie tunela premenované, priradená adresa sa môže posunúť a pravidlo so starou hodnotou ticho prestane zodpovedať. Znova použite celú zmenu z jedného skriptu, ktorý ju vlastní, a potom znova skontrolujte ip rule show, aktuálny názov zariadenia a čerstvý ip route get voči skutočnému cieľu, kým výnimke uveríte.
Dve hranice prežijú akúkoľvek starostlivosť. Klient stále ovláda svoje vlastné pravidlá filtrovania a konfiguráciu resolvera a smerovacia výnimka nenahrádza ani jedno. Ak klient vymaže aj vaše pravidlo politiky, podporované cesty sú jeho vlastná politika rozdeleného tunela alebo klient, ktorý vám umožňuje spravovať trasy, napríklad OpenConnect; záplatovanie binárky dodávateľa, aby ste stíšili jeho monitor, je záväzok údržby s priloženou kontrolou integrity.
Napíšte číslo tabuľky, prioritu a cieľ do poznámky vedľa skriptu. Inak ďalší človek nájde pravidlo, ktoré prekonáva tunel, a nemá ako zistiť prečo.