OpenVPN com sub-rede /112 IPv6, incapaz de rotear para eth0 e vice-versa

OpenVPN com sub-rede /112 IPv6, incapaz de rotear para eth0 e vice-versa

Estou tentando configurar um servidor OpenVPN habilitado para IPv6. O provedor me deu apenas uma sub-rede /64: 2a06:1700:1::640/64.

Aqui está a configuração do OpenVPN:

port 1194
proto udp
dev tun0
server-ipv6 2a06:1700:1::640:0/112
ca ca.crt
cert server.crt
key server.key
dh dh.pem
user nobody
group nogroup
topology subnet
server 10.8.0.0 255.255.255.0
cipher AES-256-CBC
auth SHA512
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
push "route-ipv6 2000::/3"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 80.67.169.12"
push "dhcp-option DNS 80.67.169.40"
keepalive 10 120
persist-key
persist-tun
crl-verify crl.pem
tls-server
tls-auth tls-auth.key 0

Os clientes podem obter um endereço IPv6, por exemplo, meu telefone Android tinha 2a06:1700:1::640:1000. Mas eles não podem acessar o mundo exterior do IPv6. E eles também não podem ser acessados.

Eu configurei ndppd:

proxy eth0 {
    router yes
    timeout 500   
    ttl 30000
    rule 2a06:1700:1::640:0/112 {
        auto
    }
 }

Eu usei tcpdump ip6 -i eth0enquanto fazia ping 2a06:1700:1::640:1000de fora:

03:22:05.510078 IP6 laptop > 2a06:1700:1::640:1000: ICMP6, echo request, seq 1390, length 64
03:22:06.519622 IP6 laptop > 2a06:1700:1::640:1000: ICMP6, echo request, seq 1391, length 64
03:22:07.527548 IP6 laptop > 2a06:1700:1::640:1000: ICMP6, echo request, seq 1392, length 64
03:22:08.515457 IP6 laptop > 2a06:1700:1::640:1000: ICMP6, echo request, seq 1393, length 64

O uso tcpdump ip6 -i tun0não mostra nada sobre esse ping. E as conexões feitas do cliente OpenVPN para o mundo IPv6 externo, digamos, ping ipv6.googleaparecem, tcpdump ip6 -i tun0mas não em tcpdump ip6 -i eth0. Parece um problema de roteamento, mas não consigo descobrir exatamente o que.

rota ip -6:

2a06:1700:1::640:0/112 dev tun0  proto kernel  metric 256 
2a06:1700:1::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
default via 2a06:1700:1:: dev eth0  metric 1024

rota -6:

Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
::1/128                        ::                         U    256 0     0 lo
2a06:1700:1::640:0/112         ::                         U    256 1     0 tun0
2a06:1700:1::/64               ::                         U    256 0     1 eth0
fe80::/64                      ::                         U    256 1     0 eth0
::/0                           2a06:1700:1::              UG   1024 0     0 eth0
::/0                           ::                         !n   -1  1  1914 lo
::1/128                        ::                         Un   0   1     4 lo
2a06:1700:1::/128              ::                         Un   0   1     0 lo
2a06:1700:1::640/128           ::                         Un   0   1     0 lo
2a06:1700:1::640:0/128         ::                         Un   0   1     0 lo
2a06:1700:1::640:1/128         ::                         Un   0   1    60 lo
fe80::/128                     ::                         Un   0   1     0 lo
fe80::250:56ff:fe96:7322/128   ::                         Un   0   1    62 lo
ff00::/8                       ::                         U    256 5     0 eth0
ff00::/8                       ::                         U    256 1     0 tun0
::/0                           ::                         !n   -1  1  1914 lo

Como posso fazer eth0e tun0conversar um com o outro?

Muito obrigado !

Endereços IPv6 foram anonimizados

informação relacionada