Eu pesquisei sobre isso e isso , mas ainda não consigo acessar a Internet de clientes VPN. Minha VPN está dando um IP IPV4 (10.8.xx) local que permite acessar a infraestrutura local. Permite dar um IP público IPV6. No entanto, não consigo acessar a Internet a partir deste ip. Meu ISP me dá um bloco /64 para minha VPN (que é diferente do bloco que tenho para eth0, meu ISP me dá um bloco /56 inteiro), aqui está a configuração do dhcpcd que usei:
interface eth0
ipv6rs
ia_na 1
ia_pd 2 tun0/0
Esse prefixo também está escrito na página do meu roteador, então eu sabia que isso funciona. endereço IP dá:
2: eth0: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP>
inet6 2a01:xxxx:xxxx:xxxx:db4:8d5b:2db9:41ad/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 86362sec preferred_lft 562sec
inet6 fe80::2158:199b:59c2:aa05/64 scope link
valid_lft forever preferred_lft forever
34: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500
link/none
inet 10.8.0.1/16 scope global tun0
valid_lft forever preferred_lft forever
inet6 2a01:xxxx:xxxx:xxxx::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::dfd2:3a17:4381:4253/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Ao conectar através de VPN, posso obter endereços ipv4 e ipv6, mas impossível acessar a Internet, aqui está minha configuração:
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.0.0
server-ipv6 2a01:xxxx:xxxx:xxxx::/64
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 2001:4860:4860::8888"
push "dhcp-option DNS 2001:4860:4860::8844"
push "dhcp-option DNS 8.8.4.4"
push "redirect-gateway def1 bypass-dns"
push "redirect-gateway ipv6 bypass-dns"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
#tls-export-cert /etc/openvpn/tempcrt
#crl-verify crl.pem
# Compress data to save bandwidth
#comp-lzo
#learn-address /etc/openvpn/learn-address
ca fullchain.crt
cert cert-server.pem
mute-replay-warnings
tls-verify /etc/openvpn/script.sh
key server-key.pem
auth SHA256
cipher AES-256-GCM
ncp-ciphers AES-256-GCM:AES-128-GCM
tls-server
tls-version-min 1.2
script-security 2
#tls-cipher TLS_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
log-append /var/log/openvpn/openvpn.log
verb 3
Depois de muitas pesquisas, aqui está o que eu encontrei:
No ipv4, preciso mascarar o tráfego vindo do OpenVPN:
sudo iptables -t nat -A POSTROUTING -i tun0 -s 10.8.0.0/24 -j MASQUERADE
Isso permite que o tráfego venha do seu IP, isso parece ser necessário no ipv4.
O tráfego do IPv6 está funcionando diretamente se o seu roteador estiver redirecionando, que é o meu caso. No entanto, durante os testes, eu estava reiniciando o OpenVPN e, portanto, o dhcpcd estava removendo a alocação e o ping não funcionava mais. Você precisa reiniciar o dhcpcd toda vez que reiniciar o OpenVPN como uma configuração IpV6 .
Por fim, tenho um endereço ipv6 público que vem que minha VPN está alocando e ipv4 do ip do meu servidor. Não sei se o tráfego ipv6 também vem pela VPN, mas parece que sim.
Isso funciona apenas se o seu roteador redirecionar o bloco atribuído à sua máquina.