Если Вы не имеете некоторый контроль над маршрутизацией Вашего адресного пространства, весь трафик IPv6 должен будет передать транзитом канавку Ваша машина Ubuntu.
Простой способ сделать это - любой Туннелирование GRE (если у всех Ваших клиентов есть общедоступные reacheable адреса), или openvpn. Так как Ваши машины не находятся в том же центре обработки данных, openvpn лучше всего используется в режиме бочки.
Во-первых, необходимо выбрать подсеть IPv6 и префикс для каждого сайта. Вы говорите, что у Вас есть приблизительно 4 миллиарда адресов, которые были бы/96 префиксом. Скажем, Ваш сервер шлюза имеет адрес 2001:xx..xx::1/96
. Выберите префикс для присвоения другим серверам. Например, использование/112 позволит, Вы иметь 65k vpses с 65k обращаетесь к каждому. Скажем, Ваш первый клиент будет иметь 2001:xx..xx:1::/112
. В этом блоке, 2001:xx..xx:1::1/112
будет использоваться шлюзом, и остальное доступно клиенту. (Технически можно было избежать, что, но это - то, как это обычно делается),
Вот два учебных руководства для Ubuntu, соответственно для 6to4 и туннели GRE. То, что Вы хотите, является чем-то промежуточным.
На клиентах используйте что-то как
auto tun0
iface tun0 inet6 static
address 2001:xx..xx:1::2
netmask 112
pre-up iptunnel add tun0 mode gre local <client IPv4> remote <gateway IPv4>
pointopoint 2001:xx..xx:1::1
post-down iptunnel del tun1
up ip route add 2000::/3 dev tun1
На шлюзе, для каждого клиента:
auto tun-server1
iface tun-server1 inet6 static
address 2001:xx..xx:1::1
netmask 112
pre-up iptunnel add tun-server1 mode gre local <gateway IPv4> remote <client IPv4>
pointopoint 2001:xx..xx:1::2
post-down iptunnel del tun1
С другой стороны, можно также использовать openvpn в tun6 режиме. Вам нужен отдельный openvpn экземпляр для каждого туннеля. Минимальная конфигурация была бы похожа на шлюзе и для каждого клиента (со статическими ключами):
secret "/etc/openvpn/server1.key"
dev-type tun
tun-ipv6
dev tun-server1
local <Gateway IPv4>
proto tcp-server
И на клиенте, единственном экземпляре:
secret "/etc/openvpn/server1.key"
dev-type tun
tun-ipv6
dev tun0
remote <Gateway IPv4>
proto tcp-client
Если у Ваших клиентов есть общедоступные, reacheable адреса, можно удалить proto
директива для использования (более эффективного) UDP, пока Вы добавляете назад пропавших без вести remote
и local
директивы с обеих сторон.
Файл server1.key
должен содержать общий ключ, идеально отличающийся для каждого клиента. Можно генерировать их с openvpn --genkey --secret server1.key
После этого необходимо настроить надлежащие маршруты как прежде. Существует документация здесь о выполнении его (первая часть об установке openvpn с сертификатами; можно использовать статические ключи сначала, поскольку это быстрее для установки):