Anda berada pada komputer riba Linux, tailscale status menyenaraikan mesin lain, dan NAS pada 10.80.0.25 masih tamat masa. Tailnet sihat, penghala subnet dalam talian, dan tiada apa dalam output klien yang menyatakan mengapa LAN di belakangnya tidak dapat dicapai. Panduan di bawah bergerak keluar daripada gejala itu: bendera pada klien ini, kemudian iklan pada penghala, kemudian kelulusan, kemudian dasar, dan hanya selepas itu destinasi itu sendiri. Setiap pintu gagal dengan tamat masa yang sama, jadi urutan lebih penting daripada arahan.

Apa yang enggan dipasang oleh klien Linux

Klien Tailscale di Linux tidak menerima laluan subnet yang diiklankan melainkan anda memintanya. Tanpa tetapan itu klien menyertai tailnet dan mencapai alamat rakan sebaya, manakala setiap awalan yang diiklankan penghala kekal tidak digunakan. Nilai lalai itu disengajakan, dan itulah sebabnya gejala kelihatan seperti penghala rosak dan bukan keputusan tempatan.

Dua perkara berbeza dipanggil penghalaan di sini, dan hanya satu daripadanya milik anda. Penghala mengiklankan awalan ke dalam tailnet; mesin anda memutuskan sama ada untuk memasangnya. Kegagalan pada mana-mana satu menghasilkan tamat masa yang sama, sebab itu meneka membazirkan sebelah petang. Cari pihak mana yang menolak sebelum anda mengubah apa-apa.

Hidupkan penerimaan laluan untuk mesin ini

Tetapkan keutamaan pada klien, kemudian lihat apa yang berubah dan bukannya menganggap arahan itu berkesan. Bentuk semasa menggunakan tetapan tanpa mengulang aliran log masuk, yang penting apabila anda berada di tengah-tengah sesi.

sudo tailscale set --accept-routes
tailscale status
ip route show table 52

Tailscale memasang laluan yang diterima dalam jadualnya sendiri di Linux, jadi awalan yang muncul dalam jadual 52 ialah bukti langsung bahawa klien ini memasang iklan itu. Jika julat anda tiada dalam jadual itu, berhenti: masalahnya tempatan dan tiada kerja pada penghala akan mengubahnya.

Klien lama mendedahkan keutamaan yang sama sebagai bendera pada arahan log masuk, jadi sudo tailscale up --accept-routes ialah sandaran apabila tailscale set tiada. Gunakannya dan bukannya menyunting laluan secara manual, kerana daemon menulis semula jadualnya sendiri dan suntingan anda hilang pada sambungan semula seterusnya. Periksa versi sebelum menyalin arahan daripada catatan lama.

Periksa iklan dan kelulusan secara berasingan

Pada penghala subnet awalan mesti diiklankan, dan kernel mesti memajukan paket antara antara muka. Mengiklankan tanpa memajukan memberi anda laluan yang diluluskan yang menggugurkan trafik secara senyap, dan itulah persediaan separuh siap yang paling biasa.

sudo tailscale up --advertise-routes=10.80.0.0/24
sysctl net.ipv4.ip_forward
ip -br addr

Bandingkan awalan yang diiklankan dengan alamat yang sebenarnya anda cuba tuju, aksara demi aksara. Penghala yang mengiklankan 10.70.0.0/24 tidak berkata apa-apa tentang NAS pada 10.80.0.25, dan ketidakpadanan itu tidak kelihatan dalam mana-mana output status kerana kedua-dua nombor kelihatan sama munasabah. Kebanyakan laporan laluan rosak berakhir di sini. Betulkan iklan sebelum anda menyentuh apa-apa di hiliran.

Kelulusan ialah pintu seterusnya, dan mudah dilangkau apabila penghala dikonfigurasikan daripada shell. Iklan mesti didayakan untuk peranti itu dalam konsol pentadbir sebelum mesin lain boleh menggunakannya. Menerima laluan pada klien tidak meluluskan apa-apa dan tidak mengatasi mana-mana peraturan akses.

Uji alamat peribadi sebelum nama hos

Sambungan berjaya ke alamat tailnet penghala itu sendiri membuktikan tailnet berfungsi, yang anda sudah tahu. Ujian yang berguna ialah perkhidmatan yang benar-benar anda perlukan, mula-mula terhadap alamat peribadi, supaya kegagalan DNS tidak boleh menyamar sebagai kegagalan penghalaan.

tailscale ping 10.80.0.1
ping -c 2 10.80.0.25
nc -vz 10.80.0.25 445
getent hosts nas.internal.example

Jika alamat menjawab dan nama hos tidak, anda mempunyai masalah penyelesaian nama dan patut berhenti memperlakukannya sebagai masalah laluan. Jika kedua-duanya tidak menjawab, undur satu bahagian dan sahkan iklan meliputi alamat itu. Kedua-dua kegagalan kelihatan serupa daripada aplikasi dan dibetulkan di tempat berbeza.

Satu pemeriksaan tempatan wajar dilakukan sebelum menyalahkan tailnet. Apabila LAN semasa anda menggunakan awalan yang sama seperti subnet jauh, kernel lebih suka laluan yang bersambung terus dan trafik tidak pernah meninggalkan mesin; itulah yang berlaku apabila rumah dan pejabat kedua-duanya memilih 192.168.1.0/24.

Mengapa bendera klien bukan tetapan penghala

Ini peranan berbeza dengan keperluan berbeza, dan menyalin bendera klien ke penghala ialah cara tailnet yang berfungsi mendapat gelung. Mesin yang mengiklankan laluan memerlukan pemajuan, peraturan tembok api yang membenarkan trafik yang dimajukan, dan keputusan tentang awalan mana yang diiklankan. Tiada satu pun itu tersirat oleh --accept-routes.

Dokumentasi penghala subnet memberi amaran supaya tidak mendayakan penerimaan laluan pada penghala berlebihan yang mengiklankan satu awalan, kerana nod siap sedia boleh menolak trafik yang sudah tempatan keluar melalui nod aktif. Jika anda menjalankan pasangan HA, anggap itu sebagai kekangan reka bentuk dan bukan nota kaki, dan putuskan nod mana yang memiliki awalan itu sebelum anda meluluskannya pada kedua-duanya. Pada satu penghala amaran yang sama dibaca sebagai peringatan bahawa penerimaan milik klien, bukan mesin yang mengiklankan. Catat pintu mana yang ditutup.

Bagi klien biasa urutan berakhir dengan ujian aplikasi yang gagal pada mulanya. Bagi penghala, semak pemajuan, iklan, kelulusan dan tembok api dalam urutan itu, kerana yang pertama tiada menghasilkan tepat tamat masa yang anda mulakan.

Artikel berkaitan