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.
https://www.wien.gv.at/
. Sepertinya catatan DNS yang dikelola dengan buruk.https://www.wien.gv.at/
. Saya mengerti pengalihan, tetapi saya tidak mengerti bagaimana resolusi nama domain bekerja dalam kasus ini.Jawaban:
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 -
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
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.
sumber
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) untukwww.wien.eu
sebaliknya (itu bergabung dengan awalanwww.
ke nama domain asli). Karena ada A-record yang valid untuk domain lain ini, ia mendapat jawaban (yaitu alamat IP), mengirimHTTP GET
ke situs ini, mendapat301 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
A
danAAAA
DNS-record untukwien.eu
dan untukwien.eu.localdomain
dan selalu mendapatkan jawabannyaNo such name
. Ia meminta gateway default-nya, yang jelas juga merupakan server DNS.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: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:
Server mengakui permintaan ini (pesan # 41) dan kemudian mengirimkan jawaban ini dalam pesan # 42:
Sisanya jelas:
www.wien.gv.at
(A dan AAAA, pesan # 44 dan # 45)sumber