Админ консолын зөвшөөрөл сүүлийн алхам мэт харагдана, гэхдээ тийм биш. Эхлээд програмын хугацаа хэтэрч, дараа нь л маршрутлагч сүлжээнд холбогдсон, маршрут зөвшөөрөгдсөн болохыг олж мэднэ. Зөвшөөрөл нь түгээлтийн алхам бөгөөд зөвшөөрөл ч биш, дамжуулалтын баталгаа ч биш. Багц дэд сүлжээний маршрутлагчийн ард байрлах хостод хүрэхээс өмнө дөрвөн үе шат тохирох ёстой бөгөөд дараагийнх нь бүтэлгүйтэх үед ч үе шат бүр амжилттай байж болно. Тэдгээрийг дарааллаар нь гүйцэтгэж, тэсвэрлэхгүй эхний үе шатанд зогсоно уу.

Дөрвөн үе шат, нэг бүтэлгүйтэл

Маршрутлагч префиксийг зарлаж, tailnet тэр зарлалыг зөвшөөрч, клиент хүлээн авсан маршрутаа хүлээн авч, хандалтын бодлого тодорхой холболтыг зөвшөөрдөг. Эдгээр нь гурван өөр бүрэлдэхүүний гаргасан дөрвөн тусдаа шийдвэр юм. Тиймээс зөвшөөрөгдсөн маршрут нь сүлжээ одоо tailnet-ийн маршрутжуулалтын хүснэгтийн хэсэг болсон гэж л хэлнэ.

Дөрөв дэх үе шат хамгийн их алгасагддаг, учир нь эхний гурав нь харагдах төлөв үүсгэдэг. Маршрутлагчийн өөрийн tailnet хаягийг хамарсан зөвшөөрөл нь ард байрлах хувийн дэд сүлжээг автоматаар хамрахгүй. Эдгээр нь өөр өөр очих газрууд бөгөөд бодлогыг очих газар бүрээр тусад нь үнэлдэг.

Linux дээр гурав дахь үе шатанд хүмүүсийг гайхшруулдаг өгөгдмөл утга байдаг: дэд сүлжээний маршрутыг хүлээн авах нь сонголтоор. Хэд хэдэн GUI клиент зарласан маршрутыг өгөгдмлөөр хүлээн авдаг тул холимог флот нэг машин бүтэлгүйтсэн мэт харагдаж, бусад нь ажиллаж болно.

Платформыг таамаглахын оронд бүтэлгүйтэж буй машин дээр тохиргоог баталгаажуулна уу. Ажиллаж буй машинуудад маршрут хэзээ ч дутуу хэсэг байгаагүй тул tailnet тал эрүүл гэдгийг тэднээр нотлуулаарай. Tailscale-ийн дэд сүлжээний маршрутлагчийн баримт бичиг нь зөвшөөрөл, клиентийн маршрут хүлээн авалт, бодлогын үе шатыг хамардаг.

Клиент ажиллаж буй газарт маршрутыг шалгана уу

Маршрутлагчаас биш, бүтэлгүйтэж буй клиентээс эхэл. Маршрут байгаа эсэх, клиентийн тохиргоо маршрут хүлээн авахыг ерөнхийд нь зөвшөөрч байгаа эсэхийг баталгаажуул.

tailscale status
tailscale debug prefs | grep -i route
ip route get 10.20.0.42

Эхний команд нь хамтрагчдын жагсаалт болон дэд сүлжээний маршрутлагчид хүрэх боломжтой эсэхийг харуулна, хоёр дахь нь маршрут хүлээн авах тугыг оролцуулан клиентийн тохиргоог хэвлэнэ, гурав дахь нь дэд сүлжээний бодит хостод ямар интерфэйс ашиглахыг цөмөөс асууна. Хэрэв тэр сүүлийн команд Tailscale интерфэйсийн оронд физик интерфэйсийг нэрлэвэл маршрут хүснэгтэд хэзээ ч ороогүй. Дутуу маршрут нь клиентийн талын асуудал бөгөөд зөвшөөрлийн асуудал биш. Бодлогыг харахаас өмнө түүнийг засаарай.

Linux дээр маршрутыг хүлээн авахын тулд тугыг тавьсан гэж таамаглахын оронд түүнтэй дахин холбогдоно уу: tailscale up --accept-routes. Өөр тугуудтай нэгдсэн клиент тэдгээрийг өөрчлөх хүртэл хадгалдаг тул өөр нэгийг нэмэхийн өмнө одоогийн тохиргоог шалгана уу. Өөрчлөлтийн дараа эхний командыг дахин ажиллуулахад маршрут хүснэгтэд харагдах ёстой.

Дамжуулалт болон буцах замыг нотлоорой

Зөвшөөрөл нь маршрутлагчийг багц дамжуулахаар тохируулдаггүй, хариултыг ч зохицуулдаггүй. Хоёулаа маршрутлагчийн LAN талын хост түвшний асуудал юм. Тэдгээрийг клиент дээр биш, маршрутлагч дээр туршина уу.

sysctl net.ipv4.ip_forward
iptables -t nat -L POSTROUTING -n -v
tcpdump -ni any host 10.20.0.42 and port 443

Эхний команд 1 гэж мэдээлэх ёстой, тэгэхгүй бол цөм дамжуулсан багцыг хаяна. Хоёр дахь нь дэд сүлжээний маршрутын масклал эх сурвалжийг дахин бичиж байгаа эсэхийг харуулна, энэ нь өгөгдмөл зан төлөв бөгөөд ихэвчлэн таны хүсдэг зүйл юм. Гурав дахь нь хүсэлт очих газарт хүрч, ямар нэгэн зүйл буцаж ирж байгаа эсэхийг харуулна; хариугүй хүсэлт нь буцах замын асуудал бөгөөд зөвшөөрлийн асуудал биш. Аль нэгийг нь өөрчлөхийн өмнө гурван үр дүнг хамт уншина уу.

Масклал идэвхгүй болсон бол очих газрын сүлжээнд tailnet хаягууд руу буцах маршрут хэрэгтэй бөгөөд хоорондын үсрэлт бүр үүнийг мэдэх ёстой. Масклыг дахин асаах нь нэг үйлчилгээнд хурдан засвар боловч анхны клиентийн хаягийг очих газраас нуух зардалтай. Очих газар аудитын зорилгоор эх хаягийг бүртгэдэг бол энэ солилцоо чухал тул ослын үеэр тугыг эргүүлэхийн оронд санаатайгаар шийдээрэй. Аль сонголт хийснээ баримтжуулаарай, учир нь дараагийн хүн хоёр зан төлөвийн зөвхөн нэгийг харна.

Нөөцийн хандалтын дүрмийг уншина уу

Маршрут байгаа бөгөөд дамжуулалт нотлогдсон бол үлдсэн сэжигтэн нь бодлого. Холболтыг зөвшөөрөх ёстой зөвшөөрлийг уншиж, зөвхөн эх сурвалжийг бус очих газрыг шалгана уу. Клиентийн өөрийн таних мэдээлэл ч бодлогын сонгогчтой тохирох ёстой тул үүнийг бүтэлгүйтэж буй машинаас аваарай.

tailscale status --json | head -40
tailscale ping <router-name-or-tailnet-ip>
ping -c 3 10.20.0.42

Төлөвийн гаралт нь клиентийн өөрийн хаягууд болон түүнд харагдах хамтрагчдыг тодорхойлдог бөгөөд бодлогын эх сонгогч үүнтэй тохирох ёстой. tailscale ping нь дэд сүлжээний маршрутлагч хүртэлх tailnet замыг нотолдог; энэ нь хамтрагчдын нэр болон tailnet хаягийг шийддэг, зарласан дэд сүлжээ доторх хостудыг биш. Гурав дахь команд дэд сүлжээний маршрутаар энгийн ICMP цуурай илгээдэг тул үр дүн нь маршрутлагчийг бус очих газрыг тодорхойлно. tailnet түвшний татгалзал ихэвчлэн татгалзал хэлбэрээр буцаж ирдэг бол гарч хэзээ ч буцаж ирэхгүй багц хугацаа хэтэрдэг.

Бүтэлгүйтсэн нэр нь бүтэлгүйтсэн хаягаас өөр асуулт юм; маршрутыг буруутгахын өмнө хостод шууд хандана уу. Зөвшөөрлийг бүх дэд сүлжээнд биш, нөөцийн бодит шаардлагад нийцүүлэн бичнэ үү. Нэг програм ажиллахын тулд бүхэл /24-ийг нээх нь нарийн хүсэлт дараа нь хэн ч устгаж зүрхлэхгүй өргөн зөвшөөрөл болох зам юм.

Хэрэв зорилго нь хувийн дэд сүлжээ бус интернетийн гаралт байсан бол зөв бүрэлдэхүүн нь гарах зангилаа бөгөөд дэд сүлжээний маршрутлагч биш, бодлого болон маршрутжуулалт үүний дагуу ялгаатай. Зөвшөөрлийг өргөтгөхийн өмнө тэр шийдвэрийг шалгана уу. Гарах зангилаа өгөгдмөл маршрутыг өөрчилдөг; дэд сүлжээний маршрутлагч зөвхөн префикс зарладаг.

Холбоотой нийтлэлүүд