Я работаю в смешанной среде IPv4 / IPv6. Я читал, что адреса IPv4 можно сопоставить с пространством IPv6 с помощью этого синтаксиса
:: ffff: 1.2.3.4 (1.2.3.4 - это IPv4-адрес)
Поддерживает ли Linux эту нотацию? Все это не работает на моем сервере:
ping6 ::ffff:1.2.3.4 # to the server IP
ping6 ::ffff:127.0.0.1
Вместо того, чтобы использовать ping6
, попробуйте ssh'ing ::ffff:127.0.0.1
.
Я думаю, что конкретная ошибка здесь связана с ping6
, а не сопоставленные адреса IP4.
Разве IPv4-адреса не отображают IPv6-адреса, фактически использующие IPv4, и, следовательно, не подходят для ping6
?
В Linux есть опция сокета IPV6_V6ONLY, которая запрещает некоторым приложениям использовать сопоставленные адреса IPv4. Однако я думаю, что для ping6
конкретная проблема заключается в том, как это работает внутри компании.
это от netbsd, но я думаю, что это решает проблему.
Вы должны знать, что сопоставленный IPv4 IPv6 по-прежнему является IPv4 - он представлен только в текстовом формате, напоминающем IPv6 (или фактически, при вызове библиотек вашей операционной системы или ядра, в формате двоичного адреса сокета).
Для двухпротокольных приложений это не проблема - они умеют переключаться (неявно, при использовании правильных (современных) библиотечных вызовов).