OpenVPN TUN 네트워크를 사용합니다. IPv4는 잘 작동합니다. 하지만 IPv6에 대한 지원을 추가했습니다. IPv6 연결에 문제가 있습니다. IPv6은 짧은 기간 동안만 잘 작동합니다. 클라이언트에서 VPN 서버의 tun0 IPv6 주소를 ping하면 모든 IPv6 웹 사이트에 액세스할 수 있고 클라이언트에서 다른 IPv6 주소를 ping할 수 있습니다. 그러나 짧은 시간 동안 IPv6 웹사이트에 액세스할 수 없었고 클라이언트에서 다른 IPv6 주소로의 IPv6 핑이 실패했습니다. 클라이언트에서 VPN 서버의 tun0 IPv6 주소를 다시 ping하면 모든 것이 잠시 동안 제대로 작동합니다. 클라이언트와 마찬가지로 Windows 8과 Linux Debian 8을 사용해 보았습니다.
저는 공개 IPv6 주소 MY_PUBLIC_IPv6/64:에서 /67 서브넷을 생성했고 MY_PUBLIC_IPv6:2000::/67
OpenVPN 서버의 tun0에는 IPv6:이 MY_PUBLIC_IPv6:2000::1/67
있으며 항상 문제 없이 작동합니다. 예를 들어 클라이언트에는 MY_PUBLIC_IPv6:2000::1000
.
NDP 프록시를 만들었습니다.
ip -6 neigh add proxy MY_PUBLIC_IPv6:2000::1 dev eth0
ip -6 neigh add proxy MY_PUBLIC_IPv6:2000::1000 dev eth0
난 인정해:
sysctl -w net.ipv6.conf.all.forwarding=1
sysctl -w net.ipv6.conf.all.proxy_ndp=1
ip6tables 규칙을 추가했습니다.
ip6tables -I FORWARD 1 -s MY_PUBLIC_IPv6:2000::/67 -i tun0 -o eth0 -m state --state NEW -j ACCEPT
ip6tables -I FORWARD 2 -d MY_PUBLIC_IPv6:2000::/67 -i eth0 -o tun0 -m state --state NEW -j ACCEPT
ip6tables -I FORWARD 3 -m state --state RELATED,ESTABLISHED -j ACCEPT
OpenVPN server.conf
(IPv6 부분):
proto tcp6-server
mode server
tls-server
ifconfig 10.1.1.1 10.1.1.30
ifconfig-pool 10.1.1.2 10.1.1.100
tun-ipv6
push tun-ipv6
ifconfig-ipv6 MY_PUBLIC_IPv6:2000::1 MY_PUBLIC_IPv6:2000::100
push "route 10.1.1.0 255.255.255.0"
push "route-ipv6 MY_PUBLIC_IPv6:2000::1/67"
push "route-ipv6 2000::/3"
push "setenv ipv6dns 2001:4860:4860::8888"
radvd 구성 파일:
interface tun0
{
AdvSendAdvert on;
prefix MY_PUBLIC_IPv6:2000::/67
{
};
};
오류 메시지가 나타납니다.radvd: no linklocal address configured for tun0