Żewġ pools ta' klijenti, gateway wieħed, u l-pjan jidher trivjali: regola waħda tibgħat l-ewwel pool mill-uplink mgħaġġel, oħra tibgħat it-tieni pool minn tunnel ta' sieħeb. Imbagħad ir-regoli jkunu fil-post u t-tieni pool xorta joħroġ mir-rotta default. Ir-regola mhix miksura. Is-sors tal-pakkett mhuwiex dak li l-awtur stenna fil-mument tat-tfittxija, għax it-traduzzjoni u t-tfittxija jsiru f'punti differenti fil-vjaġġ tal-istess pakkett, u l-ordni hija l-oppost tad-dijagramma mentali li jpinġu l-biċċa l-kbira.

It-tfittxija ssir qabel ma s-sors jerġa' jinkiteb

Għal pakkett li jiġi mgħoddi minn klijent VPN, il-kernel iwettaq sekwenza fissa. Jasal fuq l-interface tat-tunnel, jgħaddi minn prerouting fejn jgħixu conntrack u DNAT, imbagħad tittieħed id-deċiżjoni tar-routing, imbagħad il-forwarding, imbagħad postrouting fejn SNAT jiġi applikat l-aħħar. Regola tal-forma from tiġi kkonsultata waqt dik id-deċiżjoni tar-routing, jiġifieri tara l-indirizz oriġinali tal-klijent, mhux dak tradott.

Għalhekk iż-żieda ta' regola masquerade ma tbiddilx liema politika taqbel mal-fluss ħiereġ. Li jinbidel huwa dak li jara t-tarf imbiegħed, u għalhekk liema triq tar-ritorn teżisti. Dawn huma żewġ konsegwenzi differenti, u r-reviżjonijiet tal-bidliet kontinwament jaħbtu bejniethom. Aqsamhom u d-disinn normalment isir ċar fi żmien minuta.

Fid-direzzjoni tat-tweġiba jidher l-indirizz tradott fir-regoli. Pakkett li jerġa' lura lejn il-gateway ikun indirizzat lejn l-indirizz tradott, u jekk għandek regoli tal-politika bbażati fuq id-destinazzjoni jew fuq l-interface li daħal minnha, dak huwa l-valur li se tqabbel. L-istess konnessjoni, sors differenti tal-verità f'kull direzzjoni.

StageSource the kernel seesWhat it means for your rule
PreroutingClient address, 172.31.7.42Where marks and DNAT are applied
Routing decisionStill 172.31.7.42This is where from rules match
PostroutingBecomes 198.51.100.9What the far end and its return route see

Għalhekk żewġ pools b'sorsi differenti tassew jeħtieġu tabelli differenti, u d-disinn huwa sod. Li t-tabella ta' fuq teskludi huwa l-qasira li tiddenubja billi tara x'irċieva s-sit imbiegħed u tiddeduċi r-regola minn hemm.

Test mill-gateway mhuwiex test tal-pool

It-traffiku li l-gateway innifsu jiġġenera qatt ma jgħaddi minn prerouting, għax ma wasalx fuq interface. Jiġi routed fil-passaġġ tal-output, bl-indirizz tal-gateway innifsu bħala sors, u regola from ibbażata fuq firxa ta' klijenti ma taqbilx. Kull ticket f'dan il-qasam li jgħid li jaħdem mill-kaxxa imma mhux mill-klijent huwa l-istess fatt ripetut.

Issimula l-klijent minflok tqarrbu b'approssimazzjoni. It-tfittxija tar-routing tista' tiġi mistoqsija direttament, b'sors u interface tad-dħul mogħtija:

ip route get 198.51.100.9 from 172.31.7.42 iif tun0
ip route get 198.51.100.9 from 172.31.8.42 iif tun0
ip route show table 201

Mexxiha darba għal kull pool. Jekk iż-żewġ kmandi jirritornaw l-istess interface, ir-regoli mhumiex jifirdu l-pools, u r-raġuni hija jew regola neqsin jew regola b'prijorità ogħla li taqbel ma' tnejn. Jekk jirritornaw interfaces differenti imma l-klijent xorta jonqos, il-ħsara tinsab wara t-tfittxija u tista' tieqaf tħares lejn ir-regoli.

Prijorità, mhux pożizzjoni fil-fajl

Ir-regoli jiġu evalwati bl-ordni axxendenti tal-prijorità, u n-numru huwa dak li jgħodd, mhux l-ordni li ttajpjajthom biha. It-tabella local tinsab fuq prijorità 0, it-tabella main fuq 32766 u r-regola default fuq 32767, għalhekk regola miżjuda bil-prijorità default tinżel qrib it-tmiem tal-lista u titlef kontra kważi kollox.

ip rule show
ip rule add from 172.31.8.0/24 lookup 201 priority 1000
ip -4 route show table 201

Prijorità espliċita tagħmel l-ordni maħsub viżibbli fil-fajl u fir-reviżjoni. Hija wkoll tipprevjeni li żieda aktar tard taqbeż bil-kwiet quddiem regola eżistenti, li hija l-aktar kawża komuni li politika li taħdem tieqaf taħdem wara bidla mhux relatata.

Regola li taqbel u tindika tabella mhux kompleta hija n-nassa l-oħra. Jekk it-tabella 201 fiha rotta default imma l-ebda rotta lejn id-destinazzjoni, il-pakkett jintefa' jew jintbagħat post żbaljat, u r-regola tidher perfettament korretta waħedha. Aqra t-tabella, mhux biss ir-regola. Regola hija pointer, u tabella vojta hija pointer għal xejn.

It-triq tar-ritorn xorta trid teżisti

Il-politika tas-sors tagħżel ħruġ. Ma toħloqx triq tar-ritorn. Jekk it-tieni pool joħroġ minn tunnel ta' sieħeb, is-sieħeb irid ikun jaf kif jasal għal 172.31.8.0/24, jew b'rotta lura lejn il-gateway jew billi jirċievi indirizzi tradotti li diġà jaf.

L-għażla bejn it-tnejn hija deċiżjoni tad-disinn b'konsegwenzi viżibbli. L-irouting tal-firxa tal-klijenti lura jżomm l-identità ta' kull klijent għand is-sieħeb u jeħtieġ li jaċċetta l-prefiss tiegħek. It-traduzzjoni taħbi l-pool wara indirizz wieħed u teħtieġ li s-sieħeb jaċċetta biss dak l-indirizz, bl-ispiża li l-logs tiegħek u tiegħu ma jibqgħux jaqblu dwar min ikkonnetta.

X'ikun li tagħżel, iktibha ħdejn id-definizzjoni tal-pool. Triq tar-ritorn li teżisti biss fil-memorja ta' xi ħadd hija eżatt it-tip ta' ħaġa li tibqa' ħajja sakemm is-sieħeb ibiddel firewall, u mbagħad tieħu jum biex terġa' tinbena.

Taqbadx it-tunnel tal-gateway innifsu fil-politika

Ir-regoli li tikteb għall-klijenti japplikaw ukoll għat-traffiku li jiġġenera l-gateway, sakemm ma teskludihx. Regola wiesgħa bbażata fuq marka jew fuq l-interface tal-output tista' taqbad il-konnessjoni tal-gateway innifsu mas-sieħeb, u mbagħad it-tunnel li jġorr il-politika jiġi routed mill-politika. Dan jipproduċi loop jew qtugħ li jidher bħal ħsara tal-fornitur.

Illimita kull regola kemm jista' jippermetti d-disinn: prefiss tas-sors, interface tad-dħul u, fejn appoġġjat, marka li jġorru biss pakketti tal-klijenti. Imbagħad ittestja l-konnettività tal-gateway innifsu wara kull bidla fir-regoli, għax il-ħsara hija awtoreferenzjali u ma tidhirx f'test mill-klijent.

Il-paġna tal-manwal ta' ip-rule tiddokumenta s-semantika tas-selettur u tal-prijorità. Għaqqadha ma' test tat-tfittxija għal kull pool u d-disinn isir verifikabbli, u din hija d-differenza bejn routing tal-politika li jiflaħ sena u ieħor li kulħadd jibża' jmessu.

Artikli relatati