Traffiku f'direzzjoni waħda wara li jintefa s-SNAT tas-subnet ta' Tailscale
Itfi s-SNAT fuq router tas-subnet ta' Tailscale u r-risposti jieqfu jaslu. L-indirizz tas-sors reali jibqa', għalhekk il-LAN jeħtieġ rotta lura lejn 100.64.0.0/10.
Itfi n-NAT tas-sors fuq router tas-subnet ta' Tailscale u t-tunnel jibqa' jaħdem waqt li l-konnessjonijiet minnu jieqfu. It-talbiet jaslu fid-destinazzjoni bl-indirizz overlay tal-klijent imbiegħed stess, li huwa eżattament l-iskop tal-bidla, u r-risposti issa jeħtieġu triq li l-LAN qatt ma kellha bżonn tkun taf biha. Mingħajr dik it-triq il-pakketti jinżlu, ir-risposti joħorġu mill-gateway tas-soltu, u l-ħsara tidher bħala problema ta' firewall li ebda regola tal-firewall ma tispjega. It-tunnel huwa b'saħħtu; is-sieq tar-ritorn hija nieqsa.
X'kien qed jaħbi s-SNAT
Bis-SNAT attivat, ir-router jerġa' jikteb l-indirizz tas-sors fl-indirizz LAN tiegħu stess qabel ma jgħaddi fis-subnet, għalhekk id-destinazzjoni twieġeb lil host li diġà taf kif tasal għalih u m'hemmx bżonn jiġi kkonfigurat xejn ieħor. L-ibbangar tiegħu jżomm is-sors oriġinali, u d-destinazzjoni mbagħad tara indirizz fil-firxa overlay minflok ġar fuq il-wajer tiegħu stess. Dak l-indirizz huwa reali u routabbli madwar it-tailnet, u mhuwiex aċċessibbli mil-LAN mill-gateway default. Is-switch iddokumentat huwa --snat-subnet-routes=false, applikat fuq ir-router tas-subnet Linux stess.
Din hija setting permanenti u mhux switch għal kull pakkett, għalhekk it-triq tar-ritorn trid tkun teżisti għal kull netwerk tad-destinazzjoni li jaqdi dak ir-router. Dan huwa dak li jagħmel il-bidla deċiżjoni ta' implimentazzjoni u mhux kaxxa tal-ikklerkjar. Kull ma jaqdi dak ir-router jiret il-ħtieġa fl-istess mument.
Fejn tista' tgħix it-triq tar-ritorn
Tliet tqegħid huma komuni, u huma differenti fl-ambitu, mhux fil-korrettezza. Rotta statika fuq il-host tad-destinazzjoni hija l-aktar diretta u l-inqas skalabbli, għax kull apparat jeħtieġ il-kopja tiegħu. Tabella tar-rotot fil-VPC jew fir-router tas-sit tkopri netwerk sħiħ f'daqqa, u għażla DHCP li ġġorr rotot statiki bla klassijiet tasal għall-klijenti awtomatikament iżda tfalli bil-kwiet fuq apparati li jinjorawha.
ip route add 100.64.0.0/10 via 192.168.1.10
ip route get 100.64.0.5
Liema tqegħid tagħżel, il-hop li jmiss huwa l-indirizz LAN tar-router u qatt mhu l-indirizz tailnet tiegħu. Host tal-LAN ma jistax jasal għall-overlay sakemm ikollu din ir-rotta, għalhekk hop li jmiss ġewwa l-overlay huwa ċirkolari u ma jibgħat il-pakkett imkien. Dak l-iżball wieħed jispjega l-biċċa l-kbira tal-konfigurazzjonijiet li jidhru tajbin u xorta jfallu, u jibqa' ħaj minn kull verifika li taqra biss it-tabella tar-router stess. Ikteb liema tqegħid użajt, għax inkella l-persuna li jmiss se tittestja dak żbaljat.
Aqra l-ħsara bħala traffiku f'direzzjoni waħda
Is-sintomu huwa aktar faċli biex tagħraf milli l-kawża: is-servizz iwieġeb fuq ir-router stess u jibqa' sieket minn klijent imbiegħed. Qabda fuq id-destinazzjoni turi talbiet jaslu u risposti joħorġu, li jidher bħala suċċess sakemm ma tindunax fejn huma diretti dawk ir-risposti. Huma diretti lejn il-gateway default, li jfisser li s-sieq tad-dħul ħadmet u s-sieq tar-ritorn le.
Aqbad fuq ir-router minflok, għax jara ż-żewġ direzzjonijiet ta' skambju wieħed u juri jekk risposta qatt waslet. Jekk ir-risposta tidher fuq id-destinazzjoni iżda qatt fuq ir-router, ir-rotta hija nieqsa jew żbaljata fuq in-naħa tad-destinazzjoni. Jekk tidher fuq ir-router u tieqaf hemm, il-problema hija aktar 'il bogħod u tappartjeni għal investigazzjoni oħra.
sudo tcpdump -ni any host 100.64.0.5
ip route get 100.64.0.5
L-indirizz reali jistħoqqlu rotta
Iż-żamma tas-SNAT tibqa' l-aktar tweġiba sempliċi kull meta n-netwerk tad-destinazzjoni ma jistax jiġi konfigurat mill-ġdid, u l-ispiża hija li kull klijent jidher bħar-router fil-logs u fil-politika tad-destinazzjoni. L-ibbangar tiegħu huwa ġġustifikat meta applikazzjoni jeħtieġ l-indirizz tas-sors reali jew meta l-politika tan-netwerk trid tiddistingwi klijenti li jaqsmu router. It-tnejn huma raġunijiet leġittimi u ebda wieħed mhu b'xejn. Il-benefiċċju jrid ikun jistħoqqlu ż-żamma ta' rotta fuq kull netwerk tad-destinazzjoni, flimkien mar-reviżjoni tal-firewall deskritta hawn taħt.
Għal LAN żgħir wieħed il-bdil normalment iħallas, filwaqt li għal ħafna apparati li ma jistgħux jieħdu rotta statika normalment ma jħallasx. Irreġistra d-deċiżjoni u r-raġuni ħdejn il-konfigurazzjoni tar-router, biex l-amministratur li jmiss ikun jaf liema mġiba hija intenzjonali. Valur default li ħadd ma kiteb mhuwa distint minn negliġenza.
Firewall, logging u r-rwol doppju
Kull regola li kienet taqbel mal-indirizz LAN tar-router issa taqbel ma' sors differenti, u dan jinkludi r-regoli tal-permess u kull qasam tal-log li rreġistra r-router bħala klijent. Aqra dawk ir-regoli qabel l-ewwel test u mhux wara l-ewwel falliment, għax regola li tippermetti biss l-indirizz tar-router timblokka s-sors il-ġdid għal kollox. Iddejjaq is-sostituzzjoni għall-klijenti u l-portijiet li jeħtiġuha, imbagħad ikkonferma li ma tammettix bil-kwiet it-tailnet kollu.
sudo nft list ruleset | grep -n '100\.64'
sudo iptables-save | grep -n '100\.64'
Nodu wieħed li jaqdi kemm bħala nodu tal-ħruġ kif ukoll bħala router tas-subnet huwa kombinazzjoni iddokumentata li tista' twaqqa' traffiku 'l fuq ladarba s-SNAT tas-subnet jintefa. Is-separazzjoni ta' dawn ir-rwoli fuq nodi differenti tneħħi dik it-twissija u tagħti lil kull rotta u politika tal-firewall sid wieħed. Jekk ir-rwoli jridu jibqgħu flimkien, stenna dik l-imġiba u ittestjaha qabel ma tagħti tort lil klijent. Żomm ir-rotta, is-setting tas-switch u l-allokazzjoni tar-rwoli f'nota waħda, għax jinqraw flimkien meta jfalli l-konnessjoni li jmiss.