Bagaimana cara membiarkan browser lebih memilih IPv6 daripada IPv4?

16

Saya menginstal miredo dan memiliki IPv6 dan menjalankannya. Saya dapat melakukan ping ke host dan mengunduh halaman web dengan wget atau browser web saya ketika saya menentukan alamat IPv6, namun setiap kali saya menentukan nama host yang ditawarkan melalui IPv4 dan IPv6, browser memilih alamat IPv4 untuk koneksi.

Bagaimana saya bisa mengubahnya dan membiarkan browser menggunakan IPv6 daripada IPv4 jika tersedia?

Googling sekitar saya menemukan petunjuk bahwa browser akan lebih memilih IPv4 daripada IPv6 untuk terowongan 6to4 / teredo, tapi sejauh ini saya belum menemukan penjelasan mengapa atau bagaimana mengubahnya.

Grumbel
sumber

Jawaban:

10

Bukan browser yang memilih opsi apa pun, melainkan sistem operasinya. The standar mendefinisikan prioritas kira-kira seperti ini:

  1. ipv6
  2. ipv4
  3. 6to4-Traffic

Anda dapat mengubahnya dengan mengedit label / blok diutamakan dalam /etc/gai.conf(gai singkatan getaddrinfo, panggilan sistem standar untuk menyelesaikan nama host).

Penjelasan rinci tentang gai.confdapat ditemukan di halaman manual

Omong-omong, ini juga menjelaskan pengalaman Jonathon bahwa terowongan SiXXS lebih disukai daripada 6to4.

freddyb
sumber
7

Untuk Firefox & peramban berbasis Mozilla / Gecko lainnya, network.dns.disableIPv6pengaturannya about:configharus falsejika Anda memiliki IPv6 (ini disetel ke true secara default di Ubuntu, karena jika tidak, banyak orang mendapatkan masalah dengan proxy DNS kereta di router rumah).

JanC
sumber
Saya kira ini untuk Firefox?
Ya, maaf, akan memperbarui jawaban saya.
JanC
2
Baru diperiksa. Tidak perlu menyentuh pref. Saat ini default untuk truedi Firefox - juga untuk Firefox Ubuntu.
freddyb
6

Seperti yang ditunjukkan freddyb, ini tergantung pada konfigurasi panggilan sistem standar untuk menyelesaikan nama host, getaddrinfo .

Untuk mengatasi masalah Anda, ganti konten Anda /etc/gai.confdengan baris berikut:

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

diperbarui : thx to freddyb untuk menunjukkan bahwa tanggapan saya sebelumnya salah: Kita perlu mengomentari baris terakhir, bukan ke-3. Sekarang ini bekerja untuk saya!

pklaus
sumber
6

Pada saat ini, Chrome, Firefox dan juga browser yang diturunkan benar-benar menghindari IPv6 jika situs merespons lebih cepat dari IPv4. Tidak mungkin mengubah perilaku ini melalui pengaturan konfigurasi.

Fitur itu sendiri mungkin masuk akal untuk pengguna umum tetapi hampir membuat saya marah karena Anda tidak dapat menonaktifkannya. Konektivitas IPv6 cukup bagus saat ini dan kadang-kadang IPv6 memiliki beberapa keunggulan dibandingkan menghubungkan melalui IPv4 bahkan jika latensi - karena tunneling - lebih tinggi. Saya telah menjelajahi IPv6 selama bertahun-tahun dan meskipun routing dan kinerja IPv6 telah menjadi jauh lebih baik, fitur "hack" browser sialan ini membuat saya kembali satu dekade.

MegaGuest
sumber
2
Perilaku itu direkomendasikan dalam RFC 6555. Ini sudah menjadi praktik umum sejak sekitar 2010. Dan untuk memberikan pengalaman pengguna yang layak, Ini benar-benar perilaku yang tepat untuk digunakan secara default. Jika browser tidak melakukan ini, maka sebagian besar situs web akan menolak untuk mempublikasikan catatan AAAA sama sekali. Yang mengatakan, pengaturan untuk men-tweak memiliki banyak milidetik head-start untuk memberikan IPv6 akan menjadi ide yang bagus. Mampu memilih yang memulai-awal per situs akan lebih baik. Pengaturan per situs dapat ditambahkan ke browser sebagai nilai pengembalian yang mungkin dari skrip proxy.
kasperd
2

OK, saya sudah melihat ini dan ini aneh.

  1. Gunakan proxy lokal
    Jika saya mengatur Firefox ke proxy melalui Squid yang berjalan di mesin saya, Firefox (atau lebih tepatnya, Squid) akan terhubung melalui terowongan miredo. Jika saya sudah menginstal tetapi Firefox diatur ke "no proxy" Firefox menggunakan IPV4 terlebih dahulu.

  2. Instal aiccu
    Jika saya menginstal aiccu dan mengaturnya dengan sebuah terowongan (misalnya SiXXS) maka tidak masalah pengaturan proxy saya IPV6 digunakan terlebih dahulu oleh Firefox.

Mungkin karena miredo ada untuk terhubung ke situs IPV6, ia hanya digunakan ketika IPV4 tidak tersedia, dalam hal ini coba aiccu.

Jonathon
sumber
1

Jawabannya sederhana: Ubah labelnya.

label 2002::/16    1
label 2001:0::/32   1

Ini membuat mereka setara dengan "vanilla" ipv6.

Jika Anda membiarkannya dikomentari, mereka akan mengambil nilai default.

Cerpelai
sumber