Di Mac, ping menyelesaikan nama mesin tailnet sementara nslookup mengembalikan kegagalan, dan kedua perintah mengatakan kebenaran. Aplikasi menyelesaikan nama melalui resolver sistem, yang dikonfigurasi Tailscale per antarmuka, sedangkan nslookup dan host membaca berkas statis yang tidak pernah disentuh MagicDNS. Kedua jalur dapat berbeda tanpa satu paket pun hilang. Tentukan jalur mana yang diambil aplikasi Anda yang gagal sebelum mengubah setelan DNS apa pun.

Dua jalur penyelesaian, dua jawaban berbeda

Lalu lintas aplikasi di macOS melewati resolver sistem, dan entri resolver yang dibatasi per antarmuka menentukan server mana yang menjawab domain mana. Tailscale memasang entri MagicDNS-nya di sana, karena itu Safari dan ssh menemukan nama tailnet. nslookup, host, dan dig justru membaca /etc/resolv.conf atau mengambil server di baris perintah, dan berkas itu biasanya masih menyebut router atau server kantor. Nama tailnet yang dikirim ke berkas itu tidak punya jawaban otoritatif yang menunggunya, jadi alat itu melaporkan kegagalan sementara jalur sistem berhasil.

Tidak ada dari kedua alat itu yang berperilaku salah. Mereka bertanya ke server berbeda, dan hanya satu dari server itu yang tahu tentang tailnet Anda.

Uji nama yang sama melalui jalur sistem

Gunakan panggilan pencarian sistem sebagai uji pertama, lalu bandingkan dengan kueri yang diarahkan langsung ke resolver MagicDNS. Jaga ejaan tetap identik di keduanya, termasuk domain tailnet, karena nama pendek dan nama berkualifikasi penuh adalah pertanyaan berbeda dengan jawaban berbeda.

dscacheutil -q host -a name nas-01.tailnet-a1b2.ts.net
scutil --dns
dig @100.100.100.100 nas-01.tailnet-a1b2.ts.net

Ketiga keluaran itu menjawab tiga pertanyaan: apa yang dikembalikan sistem, resolver mana yang dikonfigurasi untuk domain mana, dan apa yang diketahui MagicDNS sendiri. Nama yang ada di keluaran kedua dan ketiga tetapi tidak ada di yang pertama menunjuk ke konfigurasi lokal, bukan ke tailnet.

Setelah nama terselesaikan, uji layanannya

Jawaban DNS yang benar hanya membuktikan bahwa sebuah nama memetakan ke alamat. Layanan di belakangnya bisa berhenti, porta bisa disaring oleh aturan akses, dan sertifikat bisa menyebut host yang berbeda dari yang Anda ketik.

nc -vz nas-01.tailnet-a1b2.ts.net 445
ping -c 3 nas-01.tailnet-a1b2.ts.net

Simpan teks galat asli, karena peringatan sertifikat, waktu tunggu koneksi, dan nama tidak ditemukan masing-masing mengarah ke tempat berbeda. Mengubah server nama memperbaiki yang ketiga dan membuang satu sore untuk dua yang pertama.

MagicDNS bukan pengganti DNS kantor

Nama di dalam zona kantor bukan nama perangkat tailnet meskipun klien yang sama dapat menjangkau keduanya. Ketika tujuan berada di belakang router subnet, klien memerlukan split DNS untuk zona itu yang mengarah ke resolver internal, yang merupakan setelan berbeda dari MagicDNS dan didokumentasikan di sampingnya.

Domain pencarian juga penting. Nama pendek yang tidak berkualifikasi mendapat setiap akhiran yang dikonfigurasi dalam urutan, sehingga laptop yang baru bergabung dengan jaringan lain dapat menyelesaikan melalui akhiran yang sudah usang. Periksa akhiran mana yang diterapkan sebelum menyatakan zona itu rusak.

Ketika kedua jalur gagal, fakta tailnet yang menentukan

Jika pencarian sistem dan kueri langsung keduanya gagal untuk perangkat yang Anda yakini ada, masalahnya berada di hulu resolver Mac.

Pastikan nama mesin dan domain tailnet di konsol admin, pastikan perangkat daring dan disetujui, dan pastikan setelan DNS klien tidak dinonaktifkan secara lokal. Perangkat yang luring mempertahankan namanya dan sekadar tidak punya alamat untuk dikembalikan.

Lalu pilih berdasarkan bukti. Nama yang terselesaikan di jalur sistem dan gagal di nslookup adalah perbedaan jalur alat; nama yang terselesaikan sementara layanan menolak adalah masalah akses atau sertifikat; nama yang tidak terselesaikan di mana pun adalah masalah tailnet atau konfigurasi DNS. Tiga pemilik, tiga perbaikan, dan dokumentasi MagicDNS mencakup detail macOS untuk kasus pertama.

Artikel terkait