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

IPv6-only client to IPv6 / IPv4 dual stack server tunnel?

У меня есть клиент только для IPv6 и сервер с двойным стеком IPv6 / IPv4. Клиент может подключиться к серверу через IPv6. Я хочу настроить туннель на сервере, чтобы клиент мог получать доступ к ресурсам IPv4 через сервер. Клиент работает под OS X, а сервер работает под Ubuntu. Как мне действовать дальше?

При использовании IPv6 и IPv4 следует иметь в виду, что это два совершенно разных пространства имен, а также протоколы. Клиент IPv6 должен будет каким-то образом разрешить этот ресурс IPv4 как адрес IPv6. Это сложно.

Однако вы можете использовать определенную технологию перехода IPv6, известную как NAT64. Это делает перевод v6 <-> v4, хотя разрешение имен все еще остается проблемой. В Linux пока не так много людей, которые бы это делали, хотя есть несколько проектов (один такой).

Может быть проще включить или использовать существующий стек IPv6 на сервере Ubuntu.

Если ваш сервер предоставляет услуги DNS для клиента, вы можете использовать dnsmasq для предоставления клиенту IPv6-адреса сервера. Это может быть так же просто, как добавление IPv6-адреса сервера в /etc/hosts файл.

В shorewall6 пакет можно использовать для создания межсетевого экрана IPv6.

В avahi-daemon package может использоваться для предоставления клиенту OS X списка служб, доступных на сервере. Для локального доступа к сервисам это может быть самое простое решение. Это хорошо работает, если у вас есть IPv6-адрес на сервере. (Скорее всего, да.)

Чтобы определить, есть ли у вас уже IPv6-адрес, выполните команду ifconfig и ищите строки, начинающиеся inet6 addr:.

РЕДАКТИРОВАТЬ: Если вы хотите, чтобы клиент мог разрешить доступ к веб-страницам через сервер, веб-прокси IPv6, например squid3 (версия 3.1) будет работать. (Это последнее редактирование выполняется с использованием squid3 поверх IPv6.) Это можно сделать обнаруживаемым через avahi Ваш сервер также может предоставлять услуги ретрансляции исходящей электронной почты.

Для других служб могут быть доступны прокси-серверы, или вам нужно будет использовать NAT с IPv6 на IPv4. Из того, что я видел, развитие этих провайдеров не было значительным.

Google и некоторые другие провайдеры доступны на IPv6, поэтому вы можете получить ограниченное подключение к Интернету с помощью IPv6. Поскольку большинство интернет-провайдеров еще не поддерживают IPv6, вам может потребоваться туннель для подключения к Интернету. Я начал с 6to4 туннель и переехал в 6в4 туннель. Хотя я реализовал свой туннель на OpenWrt, для Ubuntu процесс почти такой же. Это проще реализовать на сервере, подключенном напрямую к модему вашего провайдера.

Здесь вы должны использовать DNS64 / NAT64. Это даст вашим хостам, поддерживающим только IPv6, действительную информацию DNS и IP при попытке подключения к хосту, поддерживающему только IPv4, и преобразует пакеты IPv6 в пакеты IPv4.

Что касается программных пакетов, BIND9 есть DNS64. и tayga делает NAT64. Подтверждено, что он работает под Ubuntu 14.04 LTS (надежный).