OpenVPN IPv6은 서버를 통해 트래픽을 라우팅합니다.

OpenVPN IPv6은 서버를 통해 트래픽을 라우팅합니다.

모든 트래픽(IPv4 및 IPv6)을 통과하도록 OpenVPN 서버를 설정하려고 합니다.

서버는 Debian 8이고 기본 IPv6/64 서브넷이 있습니다.2a00:xxxx:35:59::/64

VPN에 /112 서브넷을 사용하고 싶습니다.2a00:xxxx:35:59::1:0/112

net.ipv6.conf.all.forwarding=1활성화되었습니다.

서버 구성:

port 1194
proto udp6
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh4096.pem
server 192.168.56.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
auth SHA512
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
client-cert-not-required
auth-user-pass-verify /etc/openvpn/user-auth.py via-env
script-security 3

server-ipv6 2a00:xxxx:0035:0059::1:0/112
ifconfig-ipv6 2a00:xxxx:0035:0059::1:1 2a00:xxxx:0035:0059::1:2
tun-ipv6
push "redirect-gateway def1 bypass-dhcp"
push "route-ipv6 2000::/3"

IPv4 트래픽이 없으면 push "route-ipv6 2000::/3"IPv4/IPv6를 통해 서버에 ping/접속할 수 있습니다. 이 옵션을 사용하면 이들 중 어느 것도 작동하지 않습니다.

나는 이것이 라우팅 문제라고 생각합니다. 다양한 iptables 구성을 시도했습니다(http://pastebin.com/erPPu2Nj) 하지만 이들 중 어느 것도 작동하지 않습니다 ..

답변1

분명히 OpenVPN-2.3.*-클라이언트에는 새로운 기본 IPv6 경로를 사용하지 못하게 하는 버그가 있습니다. 이것을 구현하고 메일링 리스트에 알려준 Gert에게 감사드립니다!

터널링에 IPv6를 사용하려면 다음 iptables 설정을 추가해야 했습니다.

ip6tables -I FORWARD -i tun0 -o eth0 -s 2a00:xxxx:35:59::1:0/112 -m conntrack --ctstate NEW -j ACCEPT
ip6tables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
ip6tables -t nat -I POSTROUTING -o eth0 -s 2a00:xxxx:35:59::1:0/112 -j MASQUERADE

관련 정보