Вам не хватает опции push в конфигурации вашего сервера.
У тебя есть:
push "redirect-gateway def1"
Вы также должны иметь ipv6
возможность, а именно:
push "redirect-gateway def1 ipv6"
Я пытаюсь добавить поддержку туннеля IPv6 на сервер OpenVPN (то есть клиенты могут получить доступ к Интернету IPv6 через VPN).
Маршрутизатор, на котором работает OpenVPN (Netgear WNDR4500v1 с Tomato v1.28-140), использует IPv6 через Hurricane Electric (и с маршрутизацией / 64, и с маршрутизацией / 48) - 2001: xxxx: 7: 3b3 :: 2 - это адрес WAN IPv6 - 2001: xxxx: 8: 3b3 :: 1/64 направляется на интерфейс LAN (br0) - 2001: xxxx: e1ca :: / 48 направляется на интерфейс OpenVPN (tun21)
IPv6 работает из локальной сети, test-ipv6.com возвращает 10/10.
Я могу подключиться от клиента к серверу OpenVPN через IPv4 или IPv6, и клиент получает адрес v6, который находится в префиксе 2001: xxxx: e1ca :: / 48. Тем не менее, клиент не имеет подключения IPv6 вообще. Я пробовал это с несколькими клиентами (Tunnelblick / macOS, OpenVPN для Android, OpenVPN Connect / iOS). test-ipv6.com говорит: «IPv6-адрес не обнаружен». Кроме того, это отображается в журналах сервера:
SM-N910V/2610:xxxx:7f97 MULTI: bad source address from client [2610:xxxx:7f97], packet dropped
Я посмотрел на вики OpenVPN IPv6, а также руководство Якоба Д. Эванса среди других ресурсов. Конфигурации сервера / клиента приведены ниже.
Конфигурация сервера:
# Automatically generated configuration daemon server 192.168.2.0 255.255.255.0 proto udp port 1194 dev tun21 cipher AES-256-CBC comp-lzo adaptive keepalive 15 60 verb 3 push "route 192.168.1.0 255.255.255.0" push "dhcp-option DNS 192.168.1.1" push "redirect-gateway def1" tls-auth static.key 0 ca ca.crt dh dh.pem cert server.crt key server.key status-version 2 status status # Custom Configuration proto udp6 topology subnet push "topology subnet" server-ipv6 2001:xxxx:e1ca::/64 push "route-ipv6 2001:xxxx:8:3b3::/64" push "route-ipv6 2001:xxxx:e1ca::/48" push "comp-lzo adaptive" verb 4 auth sha256
Конфигурация клиента:
client dev tun remote vpn.server.com 1194 udp6 float nobind persist-key persist-tun remote-cert-tls server cipher AES-256-CBC key-direction 1 auth sha256 explicit-exit-notify comp-lzo adaptive pull <ca>...</ca> <cert>...</cert> <key>...</key> <tls-auth>...</tls-auth>
ip -6 route
перед подключением к VPN:
2001:xxxx:7:3b3::2 via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium 2610:xxxx::/64 dev enp0s3 proto ra metric 100 pref medium fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium fe80::/64 dev enp0s3 proto kernel metric 100 pref medium fe80::/64 dev enp0s3 proto kernel metric 256 pref medium default via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto ra metric 100 pref medium
ip -6 route
после подключения к VPN:
2001:xxxx:7:3b3::2 via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium 2001:xxxx:8:3b3::/64 via 2001:xxxx:e1ca::1 dev tun0 proto static metric 50 pref medium 2001:xxxx:e1ca::1 dev tun0 proto kernel metric 50 pref medium 2001:xxxx:e1ca::1 dev tun0 proto kernel metric 256 pref medium 2001:xxxx:e1ca::1000 dev tun0 proto kernel metric 50 pref medium 2001:xxxx:e1ca::/48 via 2001:xxxx:e1ca::1 dev tun0 proto static metric 50 pref medium 2610:xxxx::/64 dev enp0s3 proto ra metric 100 pref medium fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium fe80::/64 dev enp0s3 proto kernel metric 100 pref medium fe80::/64 dev enp0s3 proto kernel metric 256 pref medium default dev tun0 proto static metric 50 pref medium default via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto ra metric 100 pref medium
ip -6 route
после запуска команд, опубликованных @grawity ниже:
default from 2001:xxxx:e1ca::/64 dev tun0 metric 1024 pref medium default from 2610:xxxx::/64 via 2610:xxxx::1 dev enp0s3 metric 1024 pref medium 2001:xxxx:7:3b3::2 via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium 2001:xxxx:8:3b3::/64 via 2001:xxxx:e1ca::1 dev tun0 proto static metric 50 pref medium 2001:xxxx:e1ca::1 dev tun0 proto kernel metric 50 pref medium 2001:xxxx:e1ca::1 dev tun0 proto kernel metric 256 pref medium 2001:xxxx:e1ca::1000 dev tun0 proto kernel metric 50 pref medium 2001:xxxx:e1ca::/48 via 2001:xxxx:e1ca::1 dev tun0 proto static metric 50 pref medium 2610:xxxx::/64 dev enp0s3 proto ra metric 100 pref medium fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium fe80::/64 dev enp0s3 proto kernel metric 100 pref medium fe80::/64 dev enp0s3 proto kernel metric 256 pref medium default dev tun0 proto static metric 50 pref medium default via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto ra metric 100 pref medium
У кого-нибудь есть идеи относительно того, что происходит?
Журналы OpenVPN: https://gist.github.com/abraha2d/f339ff163dd93e20ba3b499c69d6abe3
Вам не хватает опции push в конфигурации вашего сервера.
У тебя есть:
push "redirect-gateway def1"
Вы также должны иметь ipv6
возможность, а именно:
push "redirect-gateway def1 ipv6"