Назад | Перейти на главную страницу

Как эта сетевая карта ipv4 понимает этот слушающий сервер ipv6?

Итак, я просто настраиваю новый сервер на капле и смотрю на eth0 с ifconfig Я вижу, что сетевая карта настроена на один адрес IPv4 и один адрес IPv6 (IPv4 изменен для защиты):

inet addr:192.168.111.111  Bcast:192.168.111.255  Mask:255.255.240.0
inet6 addr: fe80::601:29ff:fe72:9601/64 Scope:Link

Я вижу, что IPv6 является локальным, поскольку начинается с fe80.

Затем я настраиваю Apache2 и попытайтесь загрузить главную страницу, используя адрес IPv4 (поскольку я не настраивал запись AAAA для IPv6, это должен быть IPv4, плюс IPv6 является локальным). Однако, когда я смотрю на прослушивание, Apache2 сервер выглядит так:

tcp6       0      0 :::443                  :::*                    LISTEN     

Слушатель SSH делает то же самое.

Так вот что мне интересно ... как система может подключить входящий IPv4 к прослушивающему IPv6? Раньше, насколько я помню, приходилось менять Apache2 setup, чтобы вместо этого принудительно прослушивать IPv4-адрес.

У меня есть еще один вопрос, поскольку IPv6 является локальным адресом, я могу представить, что могу ОТБРАСЫВАТЬ почти все из моих ip6tables, верно? Оставь lo только интерфейс, но что бы вы сказали?

Некоторые приложения могут использовать v4-mapped-on-v6, поддерживая оба протокола одновременно с минимальными изменениями.

Вы проверяли, действительно ли работает IPv4?

http://linux.die.net/man/7/ipv6

Соединения IPv4 могут обрабатываться с помощью API v6 с использованием типа адреса v4-mapped-on-v6; таким образом, программа должна поддерживать только этот тип API для поддержки обоих протоколов. Это прозрачно обрабатывается функциями обработки адресов в библиотеке C.