Я пытаюсь добавить поддержку туннеля 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

1 ответ1

0

Вам не хватает опции push в конфигурации вашего сервера.

У тебя есть:

push "redirect-gateway def1"

Вы также должны иметь опцию ipv6 , то есть:

push "redirect-gateway def1 ipv6"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .