Я пытаюсь настроить сервер OpenVPN, чтобы клиенты могли использовать его подсеть IPv6. Сервер работает под управлением Debian Wheezy, а клиент - OS X 10.9.5. Вот конфигурация сервера:
port 1194
proto udp
dev tun
tun-ipv6
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
server 10.100.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
tls-auth ta.key 0
cipher DES-EDE3-CBC
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
server-ipv6 MY:PUBLIC:IPV6:SUBNET::/64
push "route-ipv6 0::/0"
И вот конфиг клиента:
client
dev tun
tun-ipv6
proto udp
remote server.address 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3
tls-auth ta.key 1
cipher DES-EDE3-CBC
Связь по протоколу IPv4 работает безупречно, но есть некоторые странные проблемы с IPv6. Клиент получает адрес IPv6 при подключении, но единственное, что отвечает на эхо-запросы (или принимает любые пакеты IPv6 в этом отношении), - это сам сервер. Похоже, что пакеты, которые должны идти в глобальный Интернет, не маршрутизируются через соответствующий интерфейс на сервере, который в моем случае является eth0. IPv6-адрес назначается eth0 статически из подсети, предоставленной моим хостинг-провайдером, и все работает с сервера; например, я могу пропинговать ipv6.google.com с него. Параметры net.ipv6.conf.default.forwarding
и net.ipv6.conf.all.forwarding
sysctl также включены.