Analluogwch NAT y ffynhonnell ar lwybrydd is-rwyd Tailscale ac mae'r twnnel yn dal i weithio tra bo'r cysylltiadau drwyddo yn stopio. Mae'r ceisiadau yn cyrraedd y gyrchfan gan gario cyfeiriad overlay y cleient o bell, sef yn union bwynt y newid, ac mae ar yr atebion nawr angen llwybr na fu gan y LAN erioed angen ei wybod. Heb y llwybr hwnnw mae'r pecynnau'n glanio, mae'r atebion yn gadael drwy'r porth arferol, ac mae'r methiant yn ymddangos fel problem wal dân na all unrhyw reol wal dân ei hesbonio. Mae'r twnnel yn iach; mae'r goes ddychwelyd ar goll.

Beth oedd SNAT yn ei guddio

Gyda SNAT wedi'i alluogi, mae'r llwybrydd yn ailysgrifennu'r cyfeiriad ffynhonnell i'w gyfeiriad LAN ei hun cyn anfon ymlaen i'r is-rwyd, felly mae'r gyrchfan yn ateb gwesteiwr y mae eisoes yn gwybod sut i'w gyrraedd ac nid oes angen ffurfweddu dim arall. Mae ei analluogi yn cadw'r ffynhonnell wreiddiol, ac yna mae'r gyrchfan yn gweld cyfeiriad o fewn yr ystod overlay yn hytrach na chymydog ar ei gwifren ei hun. Mae'r cyfeiriad hwnnw'n real ac yn llwyadwy ar draws y tailnet, ac mae'n anghyraeddadwy o'r LAN drwy'r porth rhagosodedig. Y swits yw --snat-subnet-routes=false, wedi'i gymhwyso i'r llwybrydd is-rwyd Linux ei hun.

Mae'n osodiad parhaol yn hytrach na thoglo fesul pecyn, felly rhaid i'r llwybr dychwelyd fod yn ei le ar gyfer pob rhwydwaith cyrchfan y mae'r llwybrydd hwnnw'n ei wasanaethu. Dyna sy'n gwneud y newid yn benderfyniad defnyddio yn hytrach na bhocsyn ticio. Mae unrhyw beth a wasanaethir gan y llwybrydd hwnnw'n etifeddu'r gofyniad ar yr un pryd.

Lle y gall y llwybr dychwelyd fyw

Mae tri lleoliad yn gyffredin, ac maent yn wahanol o ran cyrhaeddiad yn hytrach nag o ran cywirdeb. Llwybr statig ar y gwesteiwr cyrchfan yw'r mwyaf uniongyrchol a'r lleiaf gradadwy, gan fod angen copi ei hun ar bob dyfais. Mae tabl llwybr yn y VPC neu yn llwybrydd y safle yn cwmpasu rhwydwaith cyfan ar unwaith, ac mae opsiwn DHCP sy'n cario llwybrau statig di-ddosbarth yn cyrraedd cleientiaid yn awtomatig ond yn methu'n dawel ar ddyfeisiau sy'n ei anwybyddu.

ip route add 100.64.0.0/10 via 192.168.1.10
ip route get 100.64.0.5

Pa leoliad bynnag a ddewiswch, y naid nesaf yw cyfeiriad LAN y llwybrydd ac nid ei gyfeiriad tailnet byth. Ni all gwesteiwr LAN gyrraedd yr overlay nes bod ganddo'r llwybr hwn, felly mae naid nesaf y tu mewn i'r overlay yn gylchol ac yn anfon y pecyn i unman. Mae'r un camgymeriad hwnnw'n cyfrif am y rhan fwyaf o ffurfweddiadau sy'n edrych yn iawn ac yn dal i fethu, ac mae'n goroesi pob archwiliad sy'n darllen tabl y llwybrydd yn unig. Ysgrifennwch ba leoliad a ddefnyddiwyd gennych, oherwydd fel arall bydd y person nesaf yn profi'r un anghywir.

Darllen y methiant fel traffig unffordd

Mae'r symptom yn haws ei adnabod na'r achos: mae'r gwasanaeth yn ateb ar y llwybrydd ei hun ac yn ddistaw o gleient o bell. Mae cipiad ar y gyrchfan yn dangos ceisiadau'n cyrraedd ac atebion yn gadael, sy'n edrych fel llwyddiant nes i chi sylwi i ble mae'r atebion hynny'n mynd. Maent yn mynd i'r porth rhagosodedig, sy'n golygu bod y goes fewnol wedi gweithio a'r goes ddychwelyd heb wneud.

Cipiwch ar y llwybrydd yn lle hynny, oherwydd mae'n gweld dau gyfeiriad un cyfnewid ac yn dangos a ddaeth ateb erioed. Os yw'r ateb yn ymddangos ar y gyrchfan ond byth ar y llwybrydd, mae'r llwybr ar goll neu'n anghywir ar ochr y gyrchfan. Os yw'n ymddangos ar y llwybrydd ac yn stopio yno, mae'r broblem ymhellach ymlaen ac yn perthyn i ymchwiliad gwahanol.

sudo tcpdump -ni any host 100.64.0.5
ip route get 100.64.0.5

A yw'r cyfeiriad go iawn yn werth llwybr

Mae cadw SNAT yn parhau i fod yr ateb symlach pryd bynnag na ellir ailffurfweddu'r rhwydwaith cyrchfan, a'r gost yw bod pob cleient yn edrych fel y llwybrydd yn nogfennau a pholisi'r gyrchfan. Mae ei analluogi yn gyfiawn pan fo angen y cyfeiriad ffynhonnell go iawn ar gymhwysiad neu pan fo'n rhaid i bolisi rhwydwaith wahaniaethu rhwng cleientiaid sy'n rhannu llwybrydd. Mae'r ddau'n resymau dilys ac nid yw'r un ohonynt am ddim. Rhaid i'r budd fod yn werth cynnal llwybr ar bob rhwydwaith cyrchfan, ynghyd ag adolygiad y wal dân a ddisgrifir isod.

Ar gyfer un LAN bach mae'r cyfnewid fel arfer yn talu, tra ar gyfer gwasgariad o offer na allant gymryd llwybr statig fel arfer nid yw'n talu. Cofnodwch y penderfyniad a'r rheswm wrth ffurfweddiad y llwybrydd, fel bod y gweinyddwr nesaf yn gwybod pa ymddygiad sy'n fwriadol. Nid yw rhagosodiad na ysgrifennodd neb yn wahaniaethol oddi wrth esgeulustod.

Wal dân, cofnodi a'r rôl ddwbl

Mae pob rheol a oedd yn cyfateb i gyfeiriad LAN y llwybrydd nawr yn cyfateb i ffynhonnell wahanol, ac mae hynny'n cynnwys rheolau caniatáu ac unrhyw faes cofnod a gofnododd y llwybrydd fel y cleient. Darllenwch y rheolau hynny cyn y prawf cyntaf yn hytrach nag ar ôl y methiant cyntaf, oherwydd mae rheol sy'n caniatáu cyfeiriad y llwybrydd yn unig yn blocio'r ffynhonnell newydd yn llwyr. Culhewch y disodliad i'r cleientiaid a'r porthladdoedd sydd ei angen, yna cadarnhewch nad yw'n derbyn y tailnet cyfan yn dawel.

sudo nft list ruleset | grep -n '100\.64'
sudo iptables-save | grep -n '100\.64'

Mae un nodyn yn gwasanaethu fel nod ymadael a llwybrydd is-rwyd ar yr un pryd yn gyfuniad dogfennol a all ollwng traffig i fyny'r afon unwaith y bydd SNAT is-rwyd wedi'i analluogi. Mae gwahanu'r rolau hynny ar nodau gwahanol yn dileu'r cafeat ac yn rhoi un perchennog i bob llwybr a pholisi wal dân. Os oes rhaid i'r rolau aros gyda'i gilydd, disgwyliwch yr ymddygiad hwnnw a'i brofi cyn beio cleient. Cadwch y llwybr, gosodiad y swits a'r neilliant rôl mewn un nodyn, oherwydd fe'u darllenir gyda'i gilydd pan fydd y cysylltiad nesaf yn methu.

Erthyglau cysylltiedig