Politikas noteikums sūta atzīmētās paketes uz atsevišķu tabulu, un parastā gaidīšana ir tāda, ka VPN maršruta zaudēšana tās bloķēs. Taču mehānisms dara ko citu. Kad tabulā nav atbilstoša maršruta, meklēšana turpinās pie nākamā noteikuma nevis apstājas, un tabula main joprojām satur parasto noklusējuma maršrutu uplinkam. Rezultāts ir konfigurācija, kas izskatās kā fail-closed, bet uzvedas kā fail-open.

Nekas nav salūzis; šādi tiek definēta uz politiku balstīta maršrutēšana.

Meklēšana turpinās, kad tabulā nekas nav

100:   from all fwmark 0x36 lookup 42
110:   from all fwmark 0x36 lookup default
32766: from all lookup main

Ņemiet šo noteikumu kopu: atzīmētā meklēšana dodas uz tabulu 42, un vēlāks noteikums sūta to pašu atzīmi uz tabulu ar nosaukumu default. Kamēr tabulā 42 ir lietojams noklusējuma maršruts, pirmā meklēšana nodrošina ceļu. Kad šis maršruts pazūd un tabulā 42 nekas cits neatbilst, meklēšana nekļūst par atmešanu; apstrāde pāriet pie nākamā noteikuma, un, kad arī tas neko neatrod, tā sasniedz tabulu main. Nekas šajā secībā neziņo, kurš noteikums sniedza galīgo atbildi, tāpēc strādājošs savienojums izskatās kā strādājoša politika.

Tabula 253, ko parasti sauc par default, ir parasta maršrutēšanas tabula, un tā parasti ir tukša. Tās nosaukums nav norādījums izmest paketes, un tas nav tas pats, kas noklusējuma galamērķa maršruts tabulas iekšienē.

Terminālās darbības beidz meklēšanu

100:   from all fwmark 0x36 lookup 42
110:   from all fwmark 0x36 prohibit
32766: from all lookup main

Termināls noteikums var sekot VPN meklēšanai tukšas tabulas meklēšanas vietā. Ar to pašu atzīmi darbība prohibit, kas ievietota pēc tabulas 42 noteikuma, beidz meklēšanu, kad šī tabula neko nedod, un atgriež administratīvu noraidījumu, nevis dod tabulai main vēl vienu iespēju. Unreachable un blackhole arī ir termināli, ar atšķirīgu kļūdas uzvedību sūtītājam.

throw tipa maršruts ir citāds: šajā tabulā tas uzvedas tā, it kā nekas neatbilstu, tāpēc vēlākie noteikumi tomēr saņem savu kārtu. Tas padara throw noderīgu apzinātai atkāpei un nepareizu kā galīgu bloķēšanu.

Pārbaudiet ar īsto atzīmi un saskarni

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

Izpētiet īstos noteikumus un tabulu, nevis diagrammu, un pēc tam vaicājiet plūsmu ar avota, atzīmes un ieejas kontekstu, kāds tai patiešām ir. Tikai lasīšanai paredzēta meklēšana uz galamērķi, kurai norādīta avota adrese, saskarne un atzīme, ziņo maršrutu, ko kodols izvēlētos, paketei neizejot. Atzīmes norādīšana vaicājumā nepierāda, ka ugunsmūris atzīmē reālu trafiku; tā ir atsevišķa atzīmēšanas noteikumu pārbaude. Apstipriniet vērtību ar skaitītāju vai žurnālu, pirms izdarāt secinājumus no vaicājuma.

Vietēji ģenerētiem pieprasījumiem ir vajadzīgs savs konteksts, jo to atzīmēšanas ceļš bieži atšķiras no pārsūtītā trafika ceļa. Pārbaudiet tos ar izvades saskarni, ko lietotne patiešām izmantotu.

Divi atteices stāvokļi, nevis viens

Viens atteices stāvoklis ir VPN maršruta pazušana un trafika nokrišana uz uplinku. Miris tunelis, kura maršruts paliek instalēts, ir cits: paketes paliek vērstas neizmantojamā ceļā, nevis nokrīt, un simptoms ir kluss zudums, nevis redzams tiešs savienojums. Pārbaudiet abus, kā arī uzvedību startēšanas, atkārtotas savienošanas un pakalpojuma apturēšanas laikā.

Šāds noteikums palīdz tikai tik ilgi, kamēr tas pastāv un kamēr paketes joprojām nes atzīmi, kas to izvēlas. Izslēgšanas skripts, kas dzēš noteikumu, vai ceļš, kas noņem atzīmi, atjauno atvērto uzvedību. Šīs pārejas ir vērts izmēģināt.

Piemērojiet politiku IPv6 atsevišķi un turiet apstiprinātos galapunktu izņēmumus skaidrus, nevis netiešus.

Saistītie raksti