Làm cách nào để trình duyệt thích IPv6 hơn IPv4?


16

Tôi đã cài đặt miredo và có IPv6 và chạy nó dường như. Tôi có thể ping máy chủ lưu trữ và tải xuống các trang web bằng wget hoặc webbrowser của mình khi tôi chỉ định địa chỉ IPv6, tuy nhiên bất cứ khi nào tôi chỉ định tên máy chủ được cung cấp qua cả IPv4 và IPv6, trình duyệt sẽ chọn địa chỉ IPv4 cho kết nối.

Làm cách nào tôi có thể thay đổi điều đó và để trình duyệt sử dụng IPv6 thay vì IPv4 nếu có?

Googling xung quanh tôi đã tìm thấy một gợi ý rằng các trình duyệt sẽ thích IPv4 hơn IPv6 cho các đường hầm 6to4 / teredo, nhưng cho đến nay tôi vẫn chưa tìm thấy lời giải thích tại sao hoặc làm thế nào để thay đổi điều đó.

Câu trả lời:


10

Đây không phải là trình duyệt thích bất kỳ tùy chọn nào, đó là hệ điều hành. Các tiêu chuẩn xác định các ưu tiên gần như thế này:

  1. ipv6
  2. ipv4
  3. 6to4-Lưu lượng

Bạn có thể thay đổi điều này bằng cách chỉnh sửa các khối nhãn / ưu tiên trong /etc/gai.conf(gai là viết tắt của getaddrinfolệnh gọi hệ thống tiêu chuẩn để giải quyết tên máy chủ).

Một lời giải thích chi tiết về gai.confcó thể được tìm thấy trong trang người đàn ông

Nhân tiện, điều này cũng giải thích kinh nghiệm của Jonathon rằng đường hầm SiXXS được ưa thích hơn 6to4.


7

Đối với Firefox và các trình duyệt dựa trên Mozilla / Gecko khác, network.dns.disableIPv6cài đặt about:configphải là falsenếu bạn có IPv6 (nó được đặt thành đúng theo mặc định trong Ubuntu, vì nếu không, rất nhiều người gặp sự cố với proxy DNS bị lỗi trong bộ định tuyến gia đình).


Tôi lấy nó đây là cho Firefox?

Vâng, xin lỗi, sẽ cập nhật câu trả lời của tôi.
JanC

2
Mới kiểm tra. Không cần phải chạm vào pref. Ngày nay, nó được mặc định là truetrong Firefox - cũng dành cho Firefox của Ubuntu.
freddyb

6

Như freddyb đã chỉ ra, điều này phụ thuộc vào cấu hình của lệnh gọi hệ thống tiêu chuẩn để giải quyết tên máy chủ, getaddrinfo .

Để giải quyết vấn đề của bạn, hãy thay thế nội dung của bạn /etc/gai.confbằng các dòng sau:

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

đã cập nhật : thx thành freddyb vì đã chỉ ra rằng phản hồi trước đây của tôi là sai: Chúng tôi cần bình luận dòng cuối cùng, không phải dòng thứ 3. Bây giờ nó làm việc cho tôi!


6

Gần đây, Chrome, Firefox cũng như các trình duyệt dẫn xuất thực sự tránh IPv6 nếu một trang web phản hồi nhanh hơn qua IPv4. Không thể thay đổi hành vi này bằng cài đặt cấu hình.

Bản thân tính năng này có thể hợp lý cho người dùng thông thường nhưng nó gần như khiến tôi phát điên vì bạn không thể vô hiệu hóa nó. Kết nối IPv6 hiện nay khá tốt và đôi khi IPv6 có một số lợi thế so với kết nối qua IPv4 ngay cả khi độ trễ - do đường hầm - cao hơn. Tôi đã duyệt qua IPv6 trong nhiều năm và mặc dù hiệu suất và định tuyến IPv6 đã tốt hơn rất nhiều, tính năng "hack" trình duyệt chết tiệt này đã đưa tôi trở lại một thập kỷ.


2
Hành vi đó được khuyến nghị trong RFC 6555. Đó là một thông lệ phổ biến từ khoảng năm 2010. Và để cung cấp trải nghiệm người dùng tốt, đó hoàn toàn là hành vi đúng để sử dụng theo mặc định. Nếu các trình duyệt không làm điều này, thì hầu hết các trang web sẽ từ chối xuất bản hồ sơ AAAA. Điều đó nói rằng, một cài đặt để tinh chỉnh có nhiều mili giây bắt đầu để cung cấp IPv6 sẽ là một ý tưởng tốt. Có thể chọn rằng bắt đầu trên mỗi trang web sẽ còn tốt hơn. Cài đặt trên mỗi trang có thể được thêm vào trình duyệt dưới dạng giá trị trả về có thể có từ tập lệnh proxy.
kasperd

2

OK, tôi đã xem xét điều này và nó thật kỳ lạ.

  1. Sử dụng proxy cục bộ
    Nếu tôi đặt Firefox thành proxy thông qua Squid chạy trên máy của mình, Firefox (hay chính xác hơn là Squid) sẽ kết nối thông qua đường hầm miredo. Nếu tôi đã cài đặt miredo nhưng Firefox được đặt thành "không proxy" thì Firefox sử dụng IPV4 trước.

  2. Cài đặt aiccu
    Nếu tôi cài đặt aiccu và thiết lập nó với một đường hầm (ví dụ SiXXS) thì không có vấn đề gì với cài đặt proxy IPV6 của tôi được Firefox sử dụng trước tiên.

Có thể là vì miredo ở đó để kết nối với các trang web IPV6, nó chỉ được sử dụng khi IPV4 không có sẵn, trong trường hợp đó hãy thử aiccu.


1

Câu trả lời rất đơn giản: Thay đổi nhãn.

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

Điều này làm cho chúng tương đương với "vanilla" ipv6.

Nếu bạn để họ nhận xét, họ sẽ chọn các giá trị mặc định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.