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

Доступ к серверу через IP v6?

Вопрос: Я играю с IPv6 и конвертирую его в IPv4 и наоборот.

Я хотел получить доступ http://127.0.0.1/

И сделал стандартный расчет ipv4 на ipv6: AA = 127 BB = 0 CC = 0 DD = 1

со схемой

0000:0000:0000:0000:0000:ffff:AABB:CCDD

который меня достал:

0000:0000:0000:0000:0000:ffff:7F00:0001

поэтому я попробовал

http://[:::::ffff:7F00:1]

Но он ничего не отображал. Немного погуглив, я обнаружил, что мне нужен

http://[::1]/

для доступа к интерфейсу обратной связи с IPv6.

Теперь я не слишком удивился, поскольку петлевой интерфейс может быть особым случаем. Но затем я попытался получить доступ к своему общедоступному файловому серверу по адресу:

http://88.84.21.77/

Который я рассчитал как IPv6-адрес

http://[::ffff:5854:154d]/

Но и это не разрешилось.

Теперь мой вопрос: делаю ли я что-то не так с преобразованием, или это не работает.

Или это может быть из-за того, что мой сервер или интернет-провайдер не поддерживает IPv6? Мой сервер работает под Ubuntu 9.04 со всеми необходимыми исправлениями.

IPv6 - это не просто еще один способ записи адресов IPv4, и вы не можете конвертировать между ними, как вы это делали. Сервер, который говорит на v6, будет иметь адрес v6, который сильно отличается от его адреса v4. Например хозяин orange.kame.net имеет адрес v4 203.178.141.194 и адрес v6 2001:200:dff:fff1:216:3eff:feb1:44d7.

Для успешного использования IPv6 вам потребуется либо поддержка вашего интернет-провайдера (к сожалению, это необычно), либо устройство, которое выполняет туннелирование за вас. Последний встроен в Windows 7, Mac OS X и некоторые другие ОС: es.

Префикс, который вы пытаетесь использовать (:: ffff: 0: 0/96), предназначен для сопоставленных адресов IPv4. Это механизм API, который позволяет программному обеспечению открывать один сокет и принимать запросы IPv4 и IPv6. На моих хостах с поддержкой IPv6 адреса в OpenSSH, vsftp и lighttpd регистрируются в этом формате, например

auth.log.0:Aug 20 07:01:18 my_host sshd[19411]: refused connect from ::ffff:60.190.31.214 (::ffff:60.190.31.214)

Вы не должны видеть этот префикс ни в каком живом трафике; он будет отображаться в сети как IPv4. Существует аналогичный префикс (:: ffff: 0: 0: 0/96, обратите внимание на дополнительный «0»), который был предложен для формы перевода 6to4. Не знаю, используется ли он. Я не встречал адресов ":: ffff" ни в каком сетевом трафике.

Как отметила пара других людей, IPv6 не является обратно совместимым надмножеством IPv4. Это один из самые большие жалобы у людей есть об этом. Вы либо запускаете его независимо с помощью двойного стека или туннелирования, либо перевести его.

Я начал экспериментировать с IPv6 создание туннеля. Как только мне стало удобно, я сгруппировал свои публичные серверы в два стека. К счастью, мой хостинг-провайдер использует собственный IPv6.

Или это может быть из-за того, что мой сервер или интернет-провайдер не поддерживает IPv6?

Да, конечно. Либо ваш интернет-провайдер должен поддерживать IPv6, либо вы настраиваете туннель 6in4 с одним из известных брокеров туннелей (например, http://tunnelbroker.net/).