Xejn fis-socket ma jiftakar liema interface ġarrbet it-talba, għalhekk rotta default tal-VPN b’tunnel sħiħ tista’ taqbad tweġiba li tappartjeni lill-WAN. Is-servizz mhuwiex qed jinjora l-interface tad-dħul; Linux jirrotta tweġiba ġġenerata lokalment skont id-destinazzjoni u l-politika tas-sors. Regola bbażata fuq is-sors tista’ minflok tibgħat biss it-tweġibiet tas-servizz permezz ta’ tabella WAN sħiħa, u tħalli l-ħruġ ordinarju fuq it-tunnel. Il-port jibqa’ miftuħ waqt li t-tweġiba toħroġ mill-passa ħażina, u għalhekk is-sintomu jidher unilaterali.

Il-fehma ħażina: it-tweġibiet isegwu l-interface li waslu fuqha

Jidher loġiku li pakkett li jasl fuq eth0 għandu joħroġ fuq eth0. Filtri tal-pakketti mingħajr stat jistgħu jinkitbu hekk, u tcpdump fuq in-naħa tad-dħul juri t-talba eżattament fejn wieħed jistenna. Ir-routing ma jaħdimx hekk għat-traffiku li l-host innifsu joħloq.

Malli s-servizz jaċċetta l-konnessjoni, it-tweġiba tiegħu hija pakkett ġdid iġġenerat lokalment. Il-kernel jikkonsulta r-regoli tar-routing għad-destinazzjoni u s-sors tat-tweġiba, u r-rotta default tal-VPN hija tweġiba valida għal kollox. Xejn fis-socket ma jiftakar liema interface ġarrbet it-talba.

Għalhekk is-sintomu jidher unilaterali: it-talbiet jaslu, it-tweġibiet jisparixxu. Għalhekk ukoll żżid regola tal-firewall għall-port tad-dħul ma tbiddel xejn. Il-pakkett mhuwiex imblukkat fit-triq ’il ġewwa; qed jiġi rrotdat x’imkien ieħor fit-triq ’il barra. Segwi t-tweġiba b’tfittxija kkwalifikata mis-sors u d-dawra ssir viżibbli.

X’jirrotta l-kernel tassew: l-indirizz tas-sors

Il-pum li għandek bżonn huwa l-indirizz lokali li s-servizz juża għat-tweġibiet. Fuq host bl-indirizz eth0 illustrattiv 192.0.2.10/24 u l-gateway 192.0.2.1, dak l-indirizz huwa preżenti fuq l-interface. Fuq VM fil-cloud l-indirizz pubbliku jista’ jiġi tradott ’il fuq u jkun nieqes mill-mistieden, għalhekk uża l-indirizz li l-host tassew għandu.

Spezzjona l-istat attwali qabel tirriżerva numru tat-tabella jew prijorità tar-regola. Regoli tal-politika li jeżistu jistgħu jgħattu waħda ġdida, u tabella qadima bl-istess numru tista’ diġà ġġorr rotot mhux relatati:

ip -4 addr show dev eth0
ip -4 rule show
ip -4 route show table all

Imbagħad agħżel tabella skont is-sors. Ir-regola taqbel ma’ tweġibiet li diġà jġorru 192.0.2.10, eżattament it-traffiku mitmum lokalment li trid teħles minnu. It-traffiku mgħoddi ’l quddiem u l-pakketti minn indirizzi lokali oħra ma jaqblux.

Ibni tabella tar-ritorn sħiħa, mhux nofs rotta default

Tabella biss b’rotta default mhijiex biżżejjed. Il-kernel xorta jrid isolvi l-gateway, u dik is-soluzzjoni teħtieġ il-prefiss imqabbad fl-istess tabella. Tabella li fiha jonqos dak il-prefiss tfalli fis-soluzzjoni tal-gateway anke meta r-rotta default tagħha tidher korretta. Żid it-tnejn, imbagħad indika r-regola tas-sors lejn it-tabella:

ip -4 route add table 100 192.0.2.0/24 dev eth0 src 192.0.2.10
ip -4 route add table 100 default via 192.0.2.1 dev eth0
ip -4 rule add priority 1000 from 192.0.2.10/32 lookup 100

Uża l-prefiss u l-gateway veri minflok ma tikkopja l-eżempju. Interface tal-cloud konfigurata bħala /32 b’gateway on-link teħtieġ rotta mqabbda differenti, u tabella mibnija mill-prefiss ħażin tfalli fl-ewwel qabża. L-attribut src jiddikjara s-sors preferut għal dik ir-rotta; ma jissostitwixxix ir-regola tas-sors.

L-ordni wkoll timporta. Regola wiesgħa b’numru ta’ prijorità aktar baxx tiġi evalwata l-ewwel, għalhekk ir-regola tas-sors trid tintlaħaq qabel kwalunkwe regola li tibgħat dan it-traffiku lura lejn it-tabella prinċipali. Iċċekkja l-prijoritajiet b’ip rule show wara li żżidha, mhux biss fil-boot.

Ivverifika b’tfittxija kkwalifikata mis-sors

Itlob lill-kernel jirrotta destinazzjoni tat-test mill-indirizz tas-servizz. It-tweġiba għandha ssemmi eth0 u l-gateway tal-WAN, mhux it-tunnel:

ip -4 route get 198.51.100.25 from 192.0.2.10

Imbagħad stabbilixxi konnessjoni awtorizzata ġdida u osserva ż-żewġ direzzjonijiet. Tfittxija li tagħżel it-tabella t-tajba filwaqt li l-konnessjoni ħajja għadha tfalli tindika filtri tal-passa inversa jew regola tal-firewall, mhux it-tabella. Iċċekkja dawk il-kontrolli qabel tiddiżattiva xi ħaġa globalment.

Qiegħed ir-rotot finali u r-regola taħt il-maniġer tan-netwerk li jippossjedi l-interface. Il-bidliet fl-indirizz, it-tiġdid tad-DHCP u r-rikonnessjonijiet tal-VPN kollha jerġgħu jiktbu l-istat tal-kernel, u regola miżjuda bl-idejn tisparixxi jew tindika gateway skadut wara l-avveniment li jmiss.

Fejn tieqaf din l-eċċezzjoni

Ir-regola teżenta traffiku mitmum lokalment minn indirizz tas-sors wieħed. Ma tkoprix il-portijiet ippubblikati mid-Docker, id-DNAT jew servizzi mgħoddija mill-host, għax dawk il-pakketti jiġu rrotdati bħala traffiku mgħoddi ’l quddiem u qatt ma jġorru s-sors lokali tal-host bl-istess mod. Tali disinni normalment jeħtieġu marka mqiegħda fid-dħul u regola li taqbel mal-marka.

Lanqas ma tagħmel l-indirizz pubbliku tal-host jidher fuq l-interface. Meta NAT ’il fuq jippossjedi dak l-indirizz, it-tweġiba xorta trid toħroġ mill-passa li dik in-NAT tistenna, u għalhekk it-tabella tal-WAN trid tirrifletti l-gateway u l-prefiss oriġinali minflok firxa pubblika mbassra.

Żomm l-eċċezzjoni dokumentata bin-numru tat-tabella, il-prijorità tar-regola u l-indirizz tas-sors eżatt. Il-bidla li jmiss fil-VPN jew fl-interface tista’ tkissirha bil-kwiet, u nota li ssemmi t-tliet valuri hija aktar malajr tiġi ċċekkjata milli terġa’ tiskopri s-sintomu minn rapport tal-klijent.

Jekk is-servizz għadu jwieġeb fuq il-passa ħażina wara li tgħaddi t-tfittxija kkwalifikata mis-sors, qabbel l-indirizz tas-sors tas-socket ħaj ma’ dak fir-regola. Servizz marbut ma’ indirizz wildcard jista’ jagħżel sors differenti mill-indirizz li ttestjajt, u dak in-nuqqas ta’ qbil huwa l-vojt li jifdal.

Artikli relatati