Prazna tabela VPN sama po sebi ničesar ne blokira
Tabela pravil brez ustrezne poti paketov ne zavrže; iskanje se nadaljuje. Dodajte terminalno dejanje in nato preizkusite oba stanja okvare.
Pravilo politike pošilja označene pakete v namensko tabelo, običajno pričakovanje pa je, da jih izguba poti VPN blokira. Mehanizem naredi nekaj drugega. Ko tabela ne vsebuje ustrezne poti, se iskanje nadaljuje na naslednje pravilo namesto da bi se ustavilo, tabela main pa še vedno vsebuje običajno privzeto pot za uplink. Rezultat je konfiguracija, ki je videti kot fail-closed, a se obnaša kot fail-open.
Nič ni pokvarjeno; tako je določeno usmerjanje na podlagi pravil.
Iskanje se nadaljuje, ko tabela nima ničesar
100: from all fwmark 0x36 lookup 42 110: from all fwmark 0x36 lookup default 32766: from all lookup main
Vzemite ta nabor pravil: označeno iskanje gre v tabelo 42, poznejše pravilo pa pošlje isto oznako v tabelo z imenom default. Dokler tabela 42 vsebuje uporabno privzeto pot, prvo iskanje zagotovi pot. Ko ta pot izgine in nič drugega v tabeli 42 ne ustreza, iskanje ne postane zavrženje; obdelava preide na naslednje pravilo, in ko tudi to ne najde ničesar, doseže tabelo main. Nič v tem zaporedju ne sporoča, katero pravilo je dalo končni odgovor, zato je delujoča povezava videti kot delujoča politika.
Tabela 253, ki se običajno imenuje default, je običajna usmerjevalna tabela in je običajno prazna. Njeno ime ni navodilo za zavrženje paketov in ni isto kot privzeta ciljna pot znotraj tabele.
Terminalna dejanja končajo iskanje
100: from all fwmark 0x36 lookup 42 110: from all fwmark 0x36 prohibit 32766: from all lookup main
Terminalno pravilo lahko sledi iskanju VPN namesto iskanja v prazni tabeli. Z isto oznako dejanje prohibit, nameščeno za pravilom tabele 42, konča iskanje, ko ta tabela ne da ničesar, in vrne upravno zavrnitev, namesto da bi tabeli main dalo še eno priložnost. Unreachable in blackhole sta prav tako terminalna, z drugačnim vedenjem napake za pošiljatelja.
Pot vrste throw je drugačna: znotraj te tabele se obnaša, kot da ni nič ustrezalo, zato poznejša pravila vseeno dobijo svojo vrsto. To naredi throw uporaben za namerno vračanje nazaj in napačen kot končni blok.
Preverite z resnično oznako in vmesnikom
ip -4 rule show ip -4 route show table 42 ip -4 route get 198.51.100.20 from 10.44.0.2 iif lan0 mark 0x36
Preglejte resnična pravila in tabelo, ne diagrama, nato povprašajte tok s kontekstom vira, oznake in vhoda, ki ga resnično ima. Iskanje samo za branje, usmerjeno na cilj, ki mu je podan izvorni naslov, vmesnik in oznaka, poroča o poti, ki bi jo jedro izbralo, ne da bi paket zapustil sistem. Navajanje oznake v poizvedbi ne dokazuje, da požarni zid označuje resničen promet; to je ločeno preverjanje pravil označevanja. Potrdite vrednost s števcem ali dnevnikom, preden iz poizvedbe potegnete sklepe.
Lokalno ustvarjene zahteve potrebujejo lasten kontekst, ker se njihova pot označevanja pogosto razlikuje od poti posredovanega prometa. Preverite jih z izhodnim vmesnikom, ki bi ga aplikacija resnično uporabila.
Dve stanji okvare, ne eno
Eno stanje okvare je izginotje poti VPN in padec prometa na uplink. Mrtev tunel, katerega pot ostane nameščena, je drugo: paketi ostanejo usmerjeni v neuporabno pot, namesto da bi padli, simptom pa je tiha izguba, ne vidna neposredna povezava. Preizkusite oboje, pa tudi vedenje ob zagonu, ponovni povezavi in ustavitvi storitve.
Takšno pravilo pomaga le, dokler obstaja in dokler paketi še nosijo oznako, ki ga izbere. Skript za zaustavitev, ki izbriše pravilo, ali pot, ki odstrani oznako, obnovi odprto vedenje. Te prehode je vredno vaditi.
Politiko uporabite na IPv6 ločeno in ohranite odobrene izjeme končnih točk izrecne, ne implicitne.