Resolusi DNS ketika tidak ada A-record

1

Ada domain, yang terdaftar dalam DNS dengan catatan SOA saja, tetapi tanpa catatan-A (atau catatan lainnya):

> dig wien.eu

; <<>> DiG 9.9.7-P3 <<>> wien.eu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51354
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.eu.           IN  A

;; AUTHORITY SECTION:
wien.eu.        1922    IN  SOA dns1.magwien.gv.at. hostmaster.magwien.gv.at. 2013082700 10800 3600 604800 86400

;; Query time: 134 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Dec 02 19:45:19 CET 2017
;; MSG SIZE  rcvd: 101

Apa yang tampak seperti catatan A hanyalah komentar (dimulai dengan tanda titik koma). Bahkan jika itu bukan komentar, itu akan salah bentuk (yaitu bukan catatan A) karena tidak mengandung alamat IP.

Sebagian besar perintah, yang biasanya menyelesaikan nama domain (seperti ping, telnet, dan lainnya) menggunakan DNS akan gagal jika tidak ada apa-apa selain entri SOA (dan banyak komentar dan baris kosong).

Juga banyak webbrowser tidak dapat membuka situs web pada domain khusus SOA, seperti http://wien.eu , di antaranya:

  • Google Chrome
  • Opera
  • Tor Browser

Tetapi ada browser yang akan membuka situs web jika Anda memasukkan nama domain seperti itu:

  • Safari
  • Firefox

Saya tidak dapat menguji Internet Explorer, karena saya menggunakan Mac OS, dan itu tidak tersedia di sana.
Dalam hal contoh yang diberikan, mereka mengarahkan ulang ke URL lain (yang tampaknya seperti cara yang bermakna untuk menyelesaikan URL yang diberikan, yang membuat saya percaya akan perilaku yang diinginkan).

Saya bertanya-tanya, apa yang Safari dan Firefox lakukan untuk melakukan keajaiban ini, yang tidak dapat dilakukan browser dan alat lain.

btw: Saya berpikir untuk mengetahui bagaimana DNS bekerja, dan saya pikir, ini berarti, bahwa SOA-only-domains seperti wien.eu tidak dapat diselesaikan ke alamat IP. Tetapi Safari dan Firefox membuktikan sebaliknya.

Tambahan sebagai reaksi terhadap jawaban.

Semua 5 browser yang digunakan dalam pengujian saya adalah versi terbaru, dan semuanya berjalan di komputer yang sama (iMac dengan Mac OS X 10.13 Sierra Tinggi). Jadi mereka semua menggunakan Sistem Operasi yang persis sama dan mereka juga menggunakan DNS-Server yang persis sama.

Dan tidak ada AAAA-Record di zona-berkas (seperti yang Anda lihat dalam output dikutip dari penggalian di atas).

Dan jika Anda tidak dapat mempercayainya: Cobalah. Gunakan alat apa pun yang Anda ingin memeriksa pengaturan DNS wien.eu dan mencoba membukanya di dua peramban berbeda yang dimiliki oleh masing-masing dari kedua grup yang tercantum di atas.

Hubert Schölnast
sumber
Saya baru saja mencoba membukanya di Safari (Versi 11.0.1 (13604.3.5)) di macOS 10.13 (High Sierra) dan tidak bisa. Saya mencoba memuatnya di Firefox (versi 57) di Mac yang sama dan dialihkan ke https://www.wien.gv.at/. Sepertinya catatan DNS yang dikelola dengan buruk.
JakeGould
@JakeGould: Bisakah Anda menjelaskan secara lebih rinci apa yang Anda maksud dengan "catatan DNS yang dikelola dengan buruk"? Kenapa itu buruk? Yang lebih penting: Mengapa ia bekerja di beberapa browser?
Hubert Schölnast
Ini adalah catatan DNS pengaturan yang sangat buruk. Pengaturannya buruk karena tidak ada catatan A. Mengapa ini berfungsi sewenang-wenang berdasarkan apa yang akan dikembalikan oleh resolver DNS. Jadi itu seperti berjudi untuk membuatnya bekerja. Seperti yang saya nyatakan, itu tidak berfungsi di Safari untuk saya. Jadi ini adalah catatan DNS yang salah dimasukkan atau dikelola dengan tidak kompeten. Itu dia.
JakeGould
@JakeGould: Oke. Apa yang saya pikirkan ketika saya melihat catatan DNS ini adalah: Ini tidak pernah dapat menyelesaikan ke alamat IP apa pun, ini mungkin dibuat hanya untuk memesan domain ini untuk penggunaan di masa mendatang. Tapi itu menyelesaikan di beberapa browser dan kemudian (setelah menyelesaikan) itu dialihkan ke https://www.wien.gv.at/. Saya mengerti pengalihan, tetapi saya tidak mengerti bagaimana resolusi nama domain bekerja dalam kasus ini.
Hubert Schölnast
1
Saya adalah pemilih turun. Saya benar-benar tidak jelas tentang apa tujuan Anda dalam memposting pertanyaan ini. Sekarang setelah Anda menyelesaikan sendiri, semuanya menjadi cukup jelas. Ini masih - pada akhirnya - masalah catatan DNS yang dikonfigurasi dengan buruk, tetapi penjelasan Anda benar-benar menjelaskan mengapa hal-hal yang seharusnya tidak bekerja tiba-tiba berfungsi pada zaman browser web seperti ini, mengisi kekosongan pepatah untuk Anda.
JakeGould

Jawaban:

1

Saya tidak percaya browser lain akan dapat menyelesaikan domain (kecuali ada catatan CNAME atau AAAA yang membantu DNS menentukan tujuan selanjutnya, dan harus sama-sama dikenali oleh browser apa pun).

Beberapa penjelasan yang mungkin tentang perilaku yang terlihat -

  • Hasil cache digunakan sebagai mundur, tetapi tidak tersedia di semua browser.
  • Server nama yang berbeda diambil dengan informasi file zona yang berbeda (mungkin membagi DNS atau caching DNS)

  • Host entri file di beberapa komputer tetapi tidak yang lain, atau domain pencarian yang dapat mengubah entri DNS fallback.

  • Gunakan jika proxy caching - mungkin proxy tingkat transparan ISP.

  • Sedikit jika menebak, tetapi jika ada catatan AAAA mungkin ada browser dan / atau keterbatasan OS yang menangani sumber daya IPV6.

Adalah relevan bahwa browser web tidak melakukan resolusi DNS sendiri, mereka membuat panggilan IS, dan membiarkan IS menanganinya. AFAIK ini benar jika semua browser.

Jawaban yang diperbarui khusus untuk server ini, dan mengingat informasi tambahan

Salah satu penjelasan yang mungkin dalam jawaban saya sebelumnya "Server nama yang berbeda diambil dengan informasi file zona yang berbeda (mungkin membagi DNS atau caching DNS)" benar.

Melakukan kueri yang identik dua kali ke server nama yang sama menghasilkan hasil yang berbeda sebagai berikut:

davidgo @ davidgo-Precision-T1500: ~ $ dig @ dns1.wien.at wien.at

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @dns1.wien.at wien.at
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47939
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.at.           IN  A

;; ANSWER SECTION:
wien.at.        300 IN  A   217.149.229.10

;; AUTHORITY SECTION:
wien.at.        86400   IN  NS  ns11.govix.at.
wien.at.        86400   IN  NS  ns5.univie.ac.at.
wien.at.        86400   IN  NS  dns1.magwien.gv.at.
wien.at.        86400   IN  NS  dns1.wien.at.

;; ADDITIONAL SECTION:
dns1.magwien.gv.at. 86400   IN  A   217.149.228.128
dns1.wien.at.       86400   IN  A   217.149.229.128

;; Query time: 278 msec
;; SERVER: 217.149.229.128#53(217.149.229.128)
;; WHEN: Sun Dec 03 11:27:55 NZDT 2017
;; MSG SIZE  rcvd: 186

davidgo@davidgo-Precision-T1500:~$ dig @dns1.wien.at wien.eu -t any 

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @dns1.wien.at wien.eu -t any
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56418
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.eu.           IN  ANY

;; ANSWER SECTION:
wien.eu.        86400   IN  SOA dns1.magwien.gv.at. hostmaster.magwien.gv.at. 2013082700 10800 3600 604800 86400
wien.eu.        86400   IN  NS  dns1.magwien.gv.at.
wien.eu.        86400   IN  NS  dns1.wien.at.

;; ADDITIONAL SECTION:
dns1.magwien.gv.at. 86400   IN  A   217.149.228.128
dns1.wien.at.       86400   IN  A   217.149.229.128

;; Query time: 277 msec
;; SERVER: 217.149.229.128#53(217.149.229.128)
;; WHEN: Sun Dec 03 11:28:15 NZDT 2017
;; MSG SIZE  rcvd: 171

Ini jelas berarti ada masalah dengan pengaturan nameserver, tetapi bisa sejumlah hal, termasuk masalah dengan server nama primer tersembunyi, masalah dengan server nama sebenarnya, masalah dengan beberapa anggota gugus DNS atau kombinasi dari yang di atas . Perlu dicatat bahwa catatan server nama yang dikembalikan juga berbeda.

Saya juga percaya bahwa beberapa nameserver caching sedang terjadi di OS, karena permintaan yang mengembalikan hasil sebenarnya kembali ke browser sangat jarang.

Juga patut dicatat bahwa permintaan penggalian Anda tidak dilakukan terhadap server nama otoritatif - dan banyak / sebagian besar penggunaan beban ISP menyeimbangkan kumpulan server nama di belakang satu alamat IP - masing-masing yang dapat memiliki informasi berbeda karena caching zona. Ini jelas jika Anda melakukan kueri terhadap (misalnya) 8.8.8.8 - server nama Google "primer", berkali-kali, dan menonton bouncing TTL mengelilingi secara liar tergantung pada server nama belakang yang Anda peroleh. (TTL adalah nomor antara nama domain dan "IN" dalam catatan SOA, tetapi ada pada semua catatan. Jika hanya ada satu server, jumlah itu akan berkurang seiring detik berlalu hingga melonjak ketika mencapai 0 dan melakukan pencarian baru.

davidgo
sumber
Saya akan menurunkan Anda jika memiliki reputasi yang cukup: Semua browser berjalan di komputer yang sama. Ini berarti: Semua 5 browser menggunakan OS yang sama dan karenanya DNS-server yang sama. Sumber daya wien.eu tidak ada dalam cache sebelumnya, dan hanya ada catatan SOA dalam file zona, tidak ada yang lain (kecuali beberapa komentar), yang juga berarti: tidak ada catatan AAAA. Cobalah! gali wien.eu dan coba buka di firefox dan Chrome.
Hubert Schölnast
3
Anda tidak boleh menggigit tangan yang mencoba memberi makan Anda - tampaknya kasar bahwa Anda menganggap jawaban saya salah, namun Anda kemudian memodifikasi posting Anda karena kekurangan yang jawaban saya jelaskan dalam pertanyaan Anda. Anda mungkin atau mungkin tidak peduli bahwa karier 20 tahun saya terdiri dari membangun ISP dan melakukan administrasi sistem Internet. Saya telah sampai di komputer dan memperbarui posting saya setelah menemukan akar penyebab masalah.
davidgo
Saya dengan jelas menandai hasil edit saya sebagai "addendum" dan "Reaksi terhadap jawaban". Saya tidak mengubah apa pun di atas judul ini. Dan saya juga mendapatkan uang dari bekerja dengan komputer sejak tahun 1993, di antara banyak hal lain saya juga harus mengelola beberapa server untuk pelanggan saya sejak tahun 2001, dan sekarang, pada usia 52 tahun saya bahkan mulai belajar lagi (keamanan TI). Dan jawaban Anda masih salah, dan tidak sopan mengatakan ini jika itu benar !. Harap baca dengan cermat apa yang sebenarnya saya tulis. Aku tidak bertanya tentang wien.AT . Aku bertanya tentang wien.EU . Uni Eropa seperti E uropean U Nion.
Hubert Schölnast
btw: Saya dapat membuktikan sekarang bahwa jawaban Anda salah dan karena itu perlu diturunkan, karena sementara itu saya menemukan jawaban yang benar: superuser.com/a/1273824/175792
Hubert Schölnast
1

Saya menemukan jawaban untuk pertanyaan saya sendiri dengan menangkap lalu lintas IP.

Pendeknya

Ketika firefox tidak mendapatkan alamat IP untuk wien.eu, itu meminta (tanpa pesanan dari pengguna atau siapa pun) untuk www.wien.eusebaliknya (itu bergabung dengan awalan www.ke nama domain asli). Karena ada A-record yang valid untuk domain lain ini, ia mendapat jawaban (yaitu alamat IP), mengirim HTTP GETke situs ini, mendapat 301 redirect, dan kemudian memuat sumber daya yang dialihkan.

Jelas peramban lain tidak melakukan trik ini.


Secara terperinci

Saya menggunakan Kali Linux sebagai Sistem Operasi, dan di sana saya memulai Firefox. Saya menggunakan Wireshark untuk menangkap lalu lintas. Berikut ini adalah temuan saya secara rinci:

Firefox meminta Adan AAAADNS-record untuk wien.eudan untuk wien.eu.localdomaindan selalu mendapatkan jawabannya No such name. Ia meminta gateway default-nya, yang jelas juga merupakan server DNS.

Firefox sends (time = 0.000):
1: Standard DNS-Query: wien.eu: type A, class IN
2: Standard DNS-Query: wien.eu: type AAAA, class IN

Firefox receives (time = 0.030):
3: (Response to 1): Standard DNS-Response: No such name A wien.eu
4: (Response to 2): Standard DNS-Response: No such name AAAA wien.eu

Firefox sends (time = 0.030):
5: Standard DNS-Query: wien.eu.localdomain: type A, class IN
6: Standard DNS-Query: wien.eu.localdomain: type AAAA, class IN

Firefox receives (time = 0.031):
7: (Response to 5): Standard DNS-Response: No such name A wien.eu.localdomain
8: (Response to 6): Standard DNS-Response: No such name AAAA wien.eu.localdomain

Kemudian Firefox mengulangi empat pertanyaan yang persis sama dan menerima respons yang persis sama (pesan # 9 hingga # 16, waktu = 0,047, 0,053, 0,054, 0,054)

Dan lagi (pesan # 17 ke # 24, waktu = 0,057 ke. 0,083)

Dan lagi (pesan # 25 hingga # 32, waktu = 0,083 hingga. 0,095)

Di babak # 5 Firefox menambahkan awalan www.ke nama domain, dan sekarang mendapat jawaban yang bermanfaat:

Firefox sends (time = 0.113):
33: Standard DNS-Query: www.wien.eu: type A, class IN
34: Standard DNS-Query: www.wien.eu: type AAAA, class IN

Firefox receives (time = 0.140):
35: (Response to 33): Standard DNS-Response: 
Answers:
www.wien.eu: type CNAME, class IN, cname redirector.magwien.gv.at
redirector.magwien.gv.at: type A class IN, addr 217.149.229.45
Authorative nameservers
magwien.gv.at: type NS, class IN, ns ns11.govix.at.
magwien.gv.at: type NS, class IN, ns dns1.magwien.gv.at.
magwien.gv.at: type NS, class IN, ns ns5.univie.ac.at.
magwien.gv.at: type NS, class IN, ns dns1.wien.at.
Additional records
ns11.govix.at: type A, class IN, addr 192.76.243.11
ns11.govix.at: type AAAA, class IN, addr 2001:67c:133c::11
dns1.wien.at: type A, class IN, addr 217.149.229.128
dns1.magwien.gv.at: type A, class IN, addr 217.149.228.128
ns5.univie.ac.at: type A, class IN, addr 193.171.255.77
ns5.univie.ac.at: type AAAA, class IN, addr 2001:628:453:4305::53

36: (Response to 34): Standard DNS-Response:
Answers:
www.wien.eu: type CNAME, class IN, cname redirector.magwien.gv.at
Authorative nameservers
magwien.gv.at: type SOA, class IN, mname dns1.magwien.gv.at.

Karena sekarang Firefox memiliki alamat IP, ia menciptakan koneksi TCP ke alamat ini (jabat tangan TCP, pesan # 37-39). Kemudian, dalam pesan # 40, ia mengirimkan permintaan HTTP GET ke tujuan ini:

GET / HTTP1.1
Host: www.wien.eu
(and some additional HTTP headers)

Server mengakui permintaan ini (pesan # 41) dan kemudian mengirimkan jawaban ini dalam pesan # 42:

301 Moved Permanently
Location: https://www.wien.gv.at/

Sisanya jelas:

  • Firefox mengirim TCP-accept (pesan # 43)
  • Firefox meminta resolusi DNS untuk www.wien.gv.at(A dan AAAA, pesan # 44 dan # 45)
  • Firefox menerima jawaban (pesan # 46 dan # 47)
  • Kemudian Firefox memulai dialog HTTPS yang rumit untuk memuat halaman html yang kemudian ditampilkan.
Hubert Schölnast
sumber