DNS baru saja mulai menyelesaikan alamat server.prod saya ke 127.0.53.53

38

Saya memiliki server yang bernama like server.prod.example.com, dan saya secara teratur login ke server tersebut server.prod. Baru-baru ini, nama host ini mulai diselesaikan ke 127.0.53.53.

Ternyata ICANN baru-baru ini mengaktifkan .prodTLD. Selain itu, setiap permintaan yang masuk ke .prodnameserver bisa diselesaikan ke 127.0.53.53 alih-alih kembali sebagai NXDOMAIN, yang akan memungkinkan resolusi untuk terus bekerja dengan baik. (Saya kira poin di balik ini adalah untuk membuat orang tahu bahwa barang-barang mereka akan rusak lebih buruk sebelum mereka mulai menyelesaikan sesuatu yang nyata.)

Bagaimana saya bisa menghindari harus mengetikkan nama domain saya untuk setiap host seperti ini?

Apakah ini masih menggigit Anda sesekali? Saya tidak dapat menemukan daftar TLD baru dan ketika ditambahkan, jadi saya mengaturnya sendiri: https://twitter.com/newgtldannounce

wfaulk
sumber
5
Perubahan oleh ICANN ini juga berfungsi sebagai pengingat yang baik bahwa membiarkan aplikasi Anda menggunakan jalur pencarian adalah buruk. Meskipun pertanyaan ini pasti bermanfaat ketika input pengguna menghasilkan perilaku ini, yang terbaik adalah meminta aplikasi Anda menggunakan entri file host atau FQDN titik sufiks. Beberapa orang menyadari bahwa glibc tidak akan pindah ke server berikutnya sampai waktunya habis untuk mencoba setiap akhiran pencarian yang ditentukan.
Andrew B
13
Bolehkah saya meluangkan waktu sejenak untuk mengingatkan semua orang bahwa itu .prodadalah TLD bodoh yang frakking . :(
Lightness Races dengan Monica
Pertanyaan Anda menjawab pertanyaan yang akan saya tanyakan, dengan mengatakan "ICANN baru-baru ini mengaktifkan TLD <wh whatever>". Ternyata saya menggunakan .haus untuk LAN saya dan mulai mendapatkan ini: D Terima kasih telah bertanya / menjawab :)
Arno Teigseth
2
@LightnessRacesinOrbit .prod adalah salah satu dari banyak TLD baru Google. Salahkan mereka.
Michael Hampton
@LightnessRacesinOrbit mungkin bodoh jika Anda melihatnya seperti itu, tetapi pada saat yang sama dengan cara yang sama tidak baik untuk bergantung pada daftar pencarian atau menggunakan nama yang tidak terdaftar secara global, karena Anda akan menabrak tabrakan.
Patrick Mevzek

Jawaban:

37

Ketika Anda melihat domain internal tiba-tiba memutuskan untuk 127.0.53.53Anda memiliki namecollision dan ICANN berusaha memberi tahu Anda bahwa Anda sangat perlu memperbaiki konfigurasi DNS Anda.
Jika itu akan mengembalikan NXDOMAIN seperti yang Anda sarankan, Anda benar, itu akan terus berfungsi - untuk saat ini .

Itu juga akan membocorkan permintaan DNS yang Anda maksudkan secara internal ke pihak luar.

Lebih buruk lagi, di masa depan seseorang bisa mendaftar server.proddan menyebabkan Anda lebih banyak kesulitan.

Lihat di sini untuk informasi lebih lanjut https://icann.org/namecollision atau jalankan:

$ dig -t TXT server.prod +short
"Your DNS configuration needs immediate attention see https://icann.org/namecollision"

Mengenai cara mengatasinya: Tergantung pada use case, saya mungkin akan menambahkannya .ssh/configdengan nama pendek. Atau benar-benar mulai menggunakan FQDN.

pemalsu
sumber
5
@MichaelHampton tidak terlalu, saya sarankan bab 5.3 Train users and system administrators in using FQDNs
:;
3
Ya, karena saya benar-benar ingin, 20 kali sehari, ketik ssh db.myreallylongdomainnamethatsomeassholefrommarketingpicked.combukan ssh db.
wfaulk
3
@ wfaulk: Mengapa itu menjadi "lelucon"? Jika Anda tidak menyukai pengetikan yang berlebihan, mengapa Anda secara obsesif menghindari mekanisme terbaik untuk memungkinkan interaksi dengan komputer yang menghindari pengetikan yang berlebihan? Beberapa dari Anda kutu buku Unix hanya gila.
Lightness Races with Monica
4
@ Cahaya Umumnya karena kita cenderung condong ke arah bastion host. Tuan-tuan perusahaan kami semakin kecil kemungkinannya untuk membiarkan pekerja mereka menjalankan Unix pada perangkat yang dikeluarkan perusahaan mereka seiring berjalannya waktu, dan jam kerja yang dihemat dengan memiliki akses ke skrip shell dari titik akses kami dengan mudah mengalahkan apa pun yang ditawarkan oleh GUI. . GUI dan konsol teks memiliki kebiasaan buruk yang terkait dengannya. : P
Andrew B
4
Ini bukan tempat untuk mengadakan diskusi GUI vs CLI. Saya mengusulkan solusi, mungkin itu bukan yang terbaik untuk semua orang dan hanya itu yang bisa dikatakan.
faker
13

Jika Anda mengetikkan nama host tanpa titik di dalamnya, penyelesai DNS mencoba mencari nama host itu dengan terlebih dahulu menambahkan domain pencarian yang dikonfigurasi.

Untuk sebagian besar resolver, jika Anda menggunakan nama host dengan setidaknya satu titik di dalamnya, resolver pertama kali mencoba nama host itu sendiri, dan kembali untuk menambahkan domain pencarian yang dikonfigurasi.

Banyak penyelesai memiliki kemampuan untuk mengubah perilaku mereka sehingga mereka menambahkan domain pencarian untuk nama host dengan titik-titik. Ini sering melalui opsi yang disebut " ndots" yang memberi tahu resolver berapa banyak titik yang harus dimiliki hostname sebelum mencoba mencari hostname sendiri terlebih dahulu. Untuk membuat server.prodpekerjaan, tambahkan baris ini ke resolv.conf:

options ndots:2

Jika Anda ingin juga dapat menyelesaikan server.subzone.prod, Anda harus mengatur opsi menjadi 3, dll.

Jika ada yang tahu cara membuat ini bekerja di MacOS X, beri tahu saya; perubahan /etc/resolv.confdidokumentasikan tidak berfungsi (dan tidak) dan saya tidak bisa menemukan scutilmantra yang tepat .

(Catatan: Saya lindung nilai taruhan saya di sini lebih dari yang mungkin dijamin. Saya percaya bahwa ndotsopsi akan bekerja pada 99% dari sistem Unix (non-MacOSX).)

wfaulk
sumber
1
Anda mengacaukan perpustakaan resolver OS dengan BIND. /etc/resolv.confdimiliki oleh OS. :)
Andrew B
Sebagian besar, jika tidak semua, resolver Unix OS dirobek langsung dari perpustakaan resolver BIND, jika tidak langsung menggunakannya secara langsung. Maksud saya dalam memanggil BIND adalah mungkin ada beberapa OS di luar sana yang menggunakan sesuatu yang berbeda yang tidak akan menanggapi opsi "ndots".
wfaulk
2
Pernyataan seperti itu lebih cenderung menyesatkan orang untuk berpikir bahwa resolver yang diterapkan oleh perpustakaan standar C memiliki ketergantungan pada perpustakaan yang disediakan oleh ISC. Dalam kasus glibc, pastinya tidak .
Andrew B
1
Cukup adil. Diperbaiki untuk mencoba menggabungkan bahwa itu mungkin tidak berfungsi saat tidak mereferensikan BIND.
wfaulk
0

Jawaban lain memberi Anda solusi teknis untuk masalah tersebut. Tapi tidak ada yang menjawab:

Saya tidak dapat menemukan daftar TLD baru dan kapan mereka ditambahkan

Jadi begini.

Anda memiliki berbagai cara.

  1. Kunjungi situs web IANA di: https://www.iana.org/domains/root/db ; Anda akan melihat daftar TLD yang didelegasikan saat ini, yaitu yang menyelesaikan dan berada di zona root. Jika Anda mengeklik salah satunya, di bagian bawah Anda akan mendapatkan tanggal yang memberi tahu Anda ketika mereka muncul
  2. Data yang sama persis tersedia di atas whois, misalnya dalam kasus Anda whois -h whois.iana.org prod | grep createdakan memberi Andacreated: 2014-08-23
  3. Ada berbagai bot di Twitter / Mastodon yang memposting ketika konten IANA berubah, lihat misalnya https://twitter.com/ianawhois atau https://twitter.com/rootchanges
  4. Data IANA mungkin sedikit ketinggalan dalam pembaruan, sehingga basis data kanonik untuk gTLD, dan untuk melihat pada tahap mana mereka berada (sekarang ini sedikit diperdebatkan sejak putaran ICANN 2012 untuk memperkenalkan gTLD baru sebagian besar selesai, tetapi putaran baru akan tiba), ada di sini: https://gtldresult.icann.org/application-result/applicationstatus ; Anda dapat mencari dengan TLD. Semua gTLD juga diberi mandat beberapa periode awal tertentu, sehingga Anda akan menemukan data di sini: https://newgtlds.icann.org/en/program-status/sunrise-claims- periode Anda dapat mengekspor semua data.
  5. Anda juga dapat menggunakan data ICANN di JSON: https://www.icann.org/resources/registries/gtlds/v2/gtlds.json
Patrick Mevzek
sumber