10 detik penundaan untuk .local TLD di Mac OS X Lion

13

Jaringan perusahaan kami menggunakan xxx.companyname.localuntuk semua server di jaringan lokal kami. Setiap kali saya mengakses salah satu server ini di Mac saya, saya memiliki penundaan 10 detik. Saya telah menemukan bahwa keterlambatan ini disebabkan oleh pencarian DNS, karena ternyata Lion menyelesaikan .local domain dengan urutan sebagai berikut:

  1. periksa /etc/hostsalamat IPv6
  2. periksa server DNS untuk catatan AAAA (alamat IPv6)
  3. periksa melalui MDNS (Bonjour) untuk catatan AAAA
  4. periksa /etc/hostsalamat IPv4
  5. periksa server DNS untuk catatan A (alamat IPv4)
  6. periksa MDNS untuk catatan A

Sekarang, masalahnya adalah, kami tidak memiliki jaringan IPv6. Semua xxx.companyname.localserver di jaringan kami hanya memiliki alamat IPv4 dan server DNS hanya memiliki catatan A. Ini berarti bahwa alamat diselesaikan di langkah 5. Masalahnya adalah langkah 3 membutuhkan waktu sepuluh detik sebelum waktu habis! Setiap kali saya terhubung ke wiki, server SVN, server Kerberos, dll, ada jeda 10 detik.

Saya telah berhasil menipu Lion dengan menambahkan baris seperti di bawah ini /etc/hosts

::FFFF:10.99.99.99 xxx.companyname.local

Jika saya melakukan ini, Lion berpikir ada alamat IPv6 untuk domain dan berhenti setelah langkah 1. Namun, solusi ini benar-benar menghindari semua fitur berguna dari DNS. Saya tidak ingin melacak secara manual alamat IP dari puluhan domain internal! Saya juga bisa berhenti menggunakan nama host dan cukup ketik alamat IP!

Jadi: Apakah ada yang punya ide bagaimana mengubah urutan pencarian ini? Atau nonaktifkan pencarian IPv6 karena kita tidak memiliki jaringan IPv6?

Jakob Egger
sumber
Terima kasih atas pertanyaannya - Saya menandainya sebagai referensi resolusi DNS Mac;)
Alex
Anda akan jauh lebih baik dilayani mencoba untuk menentukan mengapa server DNS Anda mengambil 10 detik untuk mengirim catatan set jawaban kosong untuk AAAAcatatan ketika mereka (sesuai dengan apa yang Anda katakan) tidak perlu waktu dekat untuk menjawab Apertanyaan untuk nama domain yang sama. Anda tampaknya berada di wilayah RFC 4074 klasik, di mana masalahnya adalah bahwa server rusak . Perhatikan juga, bahwa Anda telah menemukan salah satu dari beberapa alasan terkenal dan telah lama dibahas untuk tidak menggunakan local.layanan DNS split-horizon. Itu lebih baik untuk diperbaiki, juga.
JdeBP
1
Server DNS pada langkah dua mengembalikan catatan AAAA kosong secara instan. Masalahnya adalah langkah 3 - kueri MDNS / Bonjour / Zeroconf. Lion menunggu 10 detik setelah siaran sebelum waktu habis. Setelah googling sedikit, saya sangat sadar bahwa menggunakan local.adalah ide yang buruk, tetapi departemen TI mengatakan kepada saya bahwa mereka berpikir menggunakan local.companyname.itu baik-baik saja dan saya tidak bisa melakukan apa-apa tentang itu.
Jakob Egger
Orang-orang di departemen TI Anda sangat kurang informasi. Ini telah diketahui sangat tidak "sangat baik" di lingkungan administrasi jaringan selama sekitar setengah dekade. Anda bisa ... mendorong ... pengetahuan jaringan orang-orang departemen TI Anda untuk dibawa ke abad ke-21. Anda bisa ... mengingatkan ... mereka bahwa pekerjaan mereka bukanlah mengatur hal-hal sedemikian rupa sehingga komputer perusahaan tidak berfungsi dengan baik. ☺
JdeBP
@ JdeBP Namun, Apple memutuskan itu akan menjadi ide yang baik untuk menggunakannya ... Anda akan perhatikan bahwa Microsoft juga menggunakannya dan merekomendasikannya sebagai praktik terbaik. Jadi ... Siapa bilang bukan ?
Dasar

Jawaban:

8

Hentikan departemen TI Anda dari penyalahgunaan local..

Seperti yang telah dibahas, menyalahgunakan nama domain yang tidak dimiliki perusahaan Anda , dan dengan demikian tidak boleh dengan asumsi dapat membuat subdomain korporat, adalah salah dan setengah dari masalah di sini. Jika komputer perusahaan menyertakan Macintosh (atau apa pun yang menggunakan DNSSD dalam hal ini), maka yang paling pasti tidak menganggap itu local.milik Anda untuk dipusingkan dengan cara ini.

Tingkatkan Macintosh Anda.

MacOS 10.4 memang akan memperlakukan xxx.companyname.local.seperti yang Anda gambarkan. Tetapi ini telah berubah dalam revisi sistem operasi selanjutnya. MacOS 10.5 hanya meneruskan nama dua label ke DNS Multicast. Nama tiga label seperti xxx.companyname.local.tidak ditangani oleh MDNS. MacOS 10.6 mengambil langkah ini lebih jauh dan mencoba mendeteksi apakah server DNS telah salah konfigurasi untuk memiliki local. zona dan bertindak sesuai.

Pada sangat minimal Anda harus mengkonfigurasi Macintosh Anda memiliki /etc/resolver/companyname.local berkas dengan search_order 1di dalamnya yang daftar alamat IP saat ini (es) dari DNS server proxy Anda (s). Ini tidak akan bekerja dengan baik dengan alamat IP server DNS yang ditetapkan DHCP yang berubah, seperti yang dikatakan Apple.

Di tangan yang mencengkeram ...

... ini hanyalah tubuh yang semakin kompleks untuk mengakomodasi kesalahan pikiran. Mengutip Marc Krochmal dari Apple, "akan selalu ada masalah" ketika orang menyalahgunakan local.cara perusahaan Anda melakukannya. Sudah diketahui salah sejak (pencarian cepat memberitahu saya) 2002, jika tidak sebelumnya. Tapi jangan lakukan itu .

Bacaan lebih lanjut

JdeBP
sumber
2
Tidak ada informasi ini yang mengatasi masalah saya dengan resolusi DNS di Lion (Mac OS X 10.7). Selanjutnya, /etc/resolver/companyname.localtampaknya diabaikan di Lion.
Jakob Egger
0

Saya tidak tahu mac jadi tidak bisa membantu, tapi saya datang dengan ide penyelesaian yang cerdas: Jika Anda mengatur suatu tempat di internet, "somedomain.com DNAME companyname.local"- itu akan menangkap DNAME pada langkah 2. Sekarang saya tidak yakin apa yang akan terjadi selanjutnya, apakah masih akan kembali ke Bonjour, atau karena sudah di tengah beberapa proses DNS mungkin akan tetap dengan DNS.

Alex
sumber
Saya dapat secara sukarela membuat DNAME untuk Anda jika Anda mau :)
Alex