Apa yang menentukan apakah FQDN ditafsirkan sebagai IPv6 atau IPv4?

9

Ketika saya mengetik Nama Domain yang Memenuhi Kualifikasi Penuh (FQDN) di bilah URL saya, browser terhubung ke beberapa tabel pemetaan (di mana tabel ini disimpan? Dengan penyedia layanan?) Yang menentukan di mana file yang diminta di-host.

Jadi, itu tergantung pada penyedia layanan (yang saya asumsikan memiliki tabel konversi) apakah alamat IPv6 didukung atau tidak. Benarkah?

Lazer
sumber

Jawaban:

7

Karena ini ditandai iptables, saya menganggap ini adalah pertanyaan Linux.

Di Linux, tergantung pada glibc untuk memutuskan apakah suatu program, untuk nama host yang diberikan, mencari alamat IPv6 (AAAA) atau alamat IPv4 (A) terlebih dahulu. Program menggunakan glibc menggunakan fungsi getaddrinfo (). Perilaku getaddrinfo () dikonfigurasikan di /etc/gai.conf.

Di sistem Anda, kemungkinan besar semua yang ada di /etc/gai.conf dikomentari. Membatalkan komentar entri:

label :: / 0 1

bagi saya, telah menyebabkan aktivasi pencarian AAAA-pertama, sehingga alamat IPv6 mendapatkan lebih disukai. Jadi ini mungkin yang Anda inginkan.

Perbarui untuk menambahkan : Cara yang tepat tampaknya untuk menghapus komentar seluruh blok "label" di gai.conf dengan nilai dari 0 hingga 7:

label ::1/128       0
label ::/0          1
label 2002::/16     2
label ::/96         3
label ::ffff:0:0/96 4
label fec0::/10     5
label fc00::/7      6
label 2001:0::/32   7
unixtippse
sumber
4

Alamat IPv4 dipetakan ke nama domain dengan catatan A (Alamat) dalam DNS (Domain Name System). Alamat IPv6 dipetakan menggunakan AAAA Records. Sepertinya aneh? Alamat IPv4 adalah 32bits, IPv6 adalah 128bits. 128/32 = 4, Jadi AAAA / A = 4 juga. Trik cerdas oleh siapa pun yang merancang entri IPv6 di DNS.

DNS adalah sistem terdistribusi hierarkis di seluruh internet. Browser Anda akan melakukan panggilan ke perpustakaan sistem, yang memulai rantai pencarian. Ini akan memeriksa cache lokalnya terlebih dahulu, biasanya disimpan dalam memori. Selanjutnya, ia mencari ke disk dan melihat file HOSTS (/ etc / hosts di sebagian besar UNIXes / Linux, dan C: \ Windows \ System32 \ drivers \ etc \ HOSTS di Windows). Kemudian, jika masih tidak dapat menemukan jawaban, itu membuat panggilan ke server DNS yang ditugaskan Anda, sesuai konfigurasi jaringan Anda.

Server DNS itu memeriksa cache-nya, yang jauh lebih besar. Jika memiliki kecocokan, itu akan mengembalikan jawaban. Jika tidak dapat menemukan jawaban, itu berbalik dan meminta server DNS tingkat lebih tinggi yang dijalankan oleh ISP dari ISP tersebut. Proses ini berlanjut sampai Anda menekan server nama root, a.root-servers.netmelalui m.root-servers.net. Mayoritas permintaan DNS diselesaikan LAMA sebelum mereka mencapai sejauh itu, tetapi kadang-kadang satu atau dua membuatnya di sana. Tetapi ketika sebuah jawaban ditemukan, jawaban itu diteruskan ke rantai itu ke browser Anda.

Tapi bagaimana browser Anda tahu tipe rekaman mana yang diminta? Itu tergantung pada pengaturan sistem Anda. Jika Anda menetapkannya ke tumpukan IPv4 Anda adalah prioritas, maka browser Anda hanya akan meminta catatan A dalam kueri DNS-nya. Jika IPv6, ia akan meminta catatan AAAA pertama, dan kemudian kembali ke rekor A kedua.

Ada tipe rekaman lain juga. Catatan MX menentukan di mana server email untuk domain. Catatan NS menentukan server nama untuk domain. Catatan SRV memberi tahu Anda di mana layanan tertentu (SSH atau Web, misalnya) berada.

DNS benar-benar adalah buku telepon literal internet.

Kumba
sumber
2

Pencarian akan ditangani oleh DNS Anda (dan mungkin file host lokal Anda). Apakah nama tertentu diselesaikan sebagai alamat IPv6 atau IPv4 tergantung pada pengaturan browser Anda (apakah itu mendukung IPv6 dan apakah itu mengirim permintaan IPv6 AAAA, sistem operasi Anda (apakah Anda bahkan memiliki tumpukan IPv6 di antara hal-hal lain), dan Anda Penyedia DNS (apakah mereka mendukung permintaan AAAA (IPv6) atau tidak).

Masalah browser diperumit lebih lanjut oleh kenyataan bahwa beberapa browser (yang lebih tua) tidak pernah mengeluarkan permintaan pencarian AAAA dan beberapa dapat dikonfigurasi untuk tidak mengirimkannya (firefox memiliki pengaturan untuk ini) tetapi kebanyakan browser modern mengirim permintaan AAAA terlebih dahulu dan menindaklanjuti dengan sebuah permintaan.

Helvick
sumber
Di mana saya dapat menemukan file host lokal saya di Windows Vista?
Lazer
Oke, ditemukan di sini: C:\Windows\System32\drivers\etc. Tapi itu kosong.
Lazer
% SYSTEMROOT% \ System32 \ drivers \ etc - umumnya yang akan menjadi C: \ Windows \ System32 \ drivers \ etc
Helvick
2
Biasanya kosong - tambahkan entri jika benar-benar diperlukan, Anda benar-benar ingin meninggalkan resolusi nama IPv6 ke DNS.
Helvick