Что такое IPV6 для localhost и 0.0.0.0?

Как все мы знаем адрес IPv4 для localhost является 127.0.0.1 (адрес обратной связи). Для чего нужен адрес IPv6 localhost и для 0.0.0.0 так как мне нужно заблокировать некоторые рекламные хосты.

4 ответа

Решение

Поскольку мы все теперь, что IP-адрес для localhost является 127.0.0.1 (адрес обратной связи).

На самом деле, любой IPv4-адрес в 127.0.0.0/8 является адресом обратной связи.

В IPv6 прямым аналогом петлевого диапазона является ::1/128, Так, например ::1 является адресом обратной связи IPv6.


блокировка 0.0.0.0 не имеет смысла. В IPv4 он никогда не маршрутизируется. Эквивалентом в IPv6 является ::/128 диапазон... который также никогда не маршрутизируется.

0.0.0.0 а также ::/128 адреса зарезервированы для обозначения "любой адрес". Так, например, программа, предоставляющая веб-сервис, может связываться с 0.0.0.0 порт 80 для приема HTTP-соединений через любой из IPv4-адресов хоста.


Для получения дополнительной информации прочитайте страницы Википедии по адресам IPv4 и IPv6:

Для использования URL http://[::1]:80/ или же http://[::1]/

Ipv6 localhost является ::1, Не указан адрес ::, Это определено в RFC 4291, раздел 2.5.

Просто для полноты: есть IPv4-сопоставленные адреса IPv6, где вы можете встроить IPv4-адрес в IPv6-адрес (может не поддерживаться каждым оборудованием IPv6).

Пример: я запускаю сервер на своей машине, к которому можно получить доступ через http://127.0.0.1:19983/solr. Если я обращаюсь к нему через IPv4-сопоставленный адрес IPv6, я получаю к нему доступ черезhttp://[::ffff:127.0.0.1]:19983/solr (который будет преобразован в http://[::ffff:7f00:1]:19983/solr)

Для использования в /etc/hosts В качестве простого метода блокировки рекламы, приводящего к невозможности разрешения домена, широко используется адрес 0.0.0.0, поскольку он вызывает немедленный сбой запроса даже без попыток, поскольку он не является действительным или маршрутизируемым адресом. Это по сравнению с использованием 127.0.0.1 в этом месте, где он, по крайней мере, проверит, прослушивает ли ваш собственный компьютер запрошенный порт 80, прежде чем произойдет сбой с сообщением "соединение отказано". Любой из этих адресов, используемых в файле hosts для домена, не позволит выполнять любые запросы по фактической сети, но 0.0.0.0 получил преимущество, потому что он более "оптимален" по вышеуказанной причине. "127" IP-адреса будут пытаться попасть на ваш собственный компьютер, и любой другой IP-адрес вызовет отправку запроса на маршрутизатор, чтобы попытаться направить его, но для 0.0.0.0 некуда даже отправить запрос.

При этом достаточно указать любой IP-адрес, указанный в файле хостов, для блокировки домена, и вам не нужно или не нужно добавлять адрес ipv6 в файл хостов, если, возможно, вы этого не сделаете. ipv4 включен вообще. Я был бы очень удивлен, если бы это было так. И все же, хотя я думаю, что появление хоста в / etc / hosts с неверным адресом ipv4, когда у вас не включен ipv4, все равно даст вам искомый результат, а именно, что он потерпит неудачу, вместо поиска реальный DNS, скажем, adserver-example.com и получение IP-адреса v4 или v6.

Другие вопросы по тегам