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

Сопоставленный адрес IPv6 и IPv4

У меня есть ящик с 1 частным IPv4 (192.168.0.X) и некоторым IPv6 (назовем один Y :: Z). У меня есть приложение, прослушивающее 192.168.0.X на порту 1234, и приложение, которое хочет подключиться к этой службе, но использует Y :: Z в качестве адреса источника.

Итак, я подумал об использовании префикса :: ffff: 0: 0/96, но telnetting :: ffff: 192.168.0.X (с использованием исходного адреса Y :: Z) выдает ошибку "сеть недоступна". Я пытался добавить правила маршрутизации, но ничего не работает.

Как я могу позволить

 telnet -b Y::Z ::ffff:192.168.0.X 1234

работать?

Спасибо.

редактировать: ОС: Debian Squeeze (в контейнере OpenVZ, ядро ​​2.6.32).

Я также забыл упомянуть, что

 telnet -6 ::ffff:192.168.0.X 1234

работает без ошибок.

У меня есть ящик с 1 частным IPv4 (192.168.0.X) и некоторым IPv6 (назовем один Y :: Z). …

telnet -b Y::Z ::ffff:192.168.0.X 1234

Вышеизложенное не имеет особого смысла: вы пытаетесь подключиться по Telnet к собственному IPv4-адресу (представленному в нотации IPv6) с собственным IPv6-адресом в качестве источника? Это никогда не сработает, если у вас нет чего-то вроде 464XLAT и NAT64.

Да, в некоторых системах и с некоторыми настройками (обычно по умолчанию в Linux) вы можете принимать подключения только по IPv4 к сокетам IPv6, но и исходный, и целевой адрес любого такого подключения все равно должны быть IPv4.