Os clientes OpenVPN não têm conectividade por IPv6

0

Estou tentando adicionar suporte a túnel IPv6 a um servidor OpenVPN (por exemplo, clientes podem acessar a Internet IPv6 por meio de VPN).

O roteador que executa o OpenVPN (Netgear WNDR4500v1 executando o Tomato v1.28-140) possui IPv6 através do Hurricane Electric (ambos roteados / 64 e roteados / 48)     - 2001: xxxx: 7: 3b3 :: 2 é o endereço IPv6 da WAN     - 2001: xxxx: 8: 3b3 :: 1/64 é roteado para a interface de LAN (br0)     - 2001: xxxx: e1ca :: / 48 é roteado para a interface OpenVPN (tun21)

O IPv6 funciona a partir da LAN, o teste-ipv6.com retorna 10/10.

Eu posso conectar de um cliente ao servidor OpenVPN por IPv4 ou IPv6, e o cliente obtém um endereço v6 que está no prefixo 2001: xxxx: e1ca :: / 48. No entanto, o cliente não tem conectividade IPv6. Eu tentei isso com vários clientes (Tunnelblick / macOS, OpenVPN para Android, OpenVPN Connect / iOS). test-ipv6.com diz "Nenhum endereço IPv6 detectado". Além disso, isso aparece nos logs do servidor:

SM-N910V/2610:xxxx:7f97 MULTI: bad source address from client [2610:xxxx:7f97], packet dropped

Eu examinei o wiki IPv6 do OpenVPN , bem como Guia do Jacob D Evans , entre outros recursos. As configurações do servidor / cliente estão abaixo.

Configuração do servidor:

# 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

Configuração do cliente:

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 antes de se conectar à 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 após conectar-se à 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 depois de executar os comandos postados pelo @grawity abaixo:

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

Alguém tem alguma ideia do que está acontecendo?

Logs da OpenVPN: link

    
por Kevin Abraham 09.10.2018 / 00:05

1 resposta

0

Você está perdendo uma opção de envio na configuração do seu servidor.

Você tem:

push "redirect-gateway def1"

Você também precisa ter a opção ipv6 , por exemplo:

push "redirect-gateway def1 ipv6"
    
por 12.10.2018 / 18:22