尝试防止 OpenVPN 服务器上的 IPv6 泄漏导致无法访问互联网

尝试防止 OpenVPN 服务器上的 IPv6 泄漏导致无法访问互联网

我已经有一个运行良好的 IPv4 OpenVPN 服务器一段时间了,为了阻止其上的 IPv6 流量,我在服务器上添加了一个 IPv6 池,并为公共 IPv6 范围推送了一条路由:

server-ipv6 2001:db8:0:123::/64
push "route-ipv6 2000::/3"

然后,我通过在 sysctl.conf 中添加此行来禁用服务器上的 IPv6:

net.ipv6.conf.all.forwarding=0

流向 IPv6 池的流量也被 ufw 阻止:

ufw reject from 2001:db8:0:123::/64 to any

我的服务器目前位于我的局域网上,我尝试连接另一台也位于我的局域网上的机器。如果我尝试 ping google.co.uk,我会得到:

From 2001:db8:0:123::1 (2001:db8:0:123::1) icmp_seq=1 Destination unreachable: No route

我如何确保客户端可以回退到 IPv4 并且仍然访问互联网?

如果有帮助的话,下面是我的服务器配置:

local 192.168.0.27
port 69
proto udp
dev tun0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.254.0
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"
push "redirect-gateway def1 ipv6 bypass-dhcp"
push "route 192.168.0.0 255.255.0.0 net_gateway"
server-ipv6 2001:db8:0:123::/64
push "route-ipv6 2000::/3"
push "explicit-exit-notify 2"
cipher AES-256-CBC
persist-key
persist-tun
ping-exit 30
status openvpn-status.log
verb 0
crl-verify crl.pem
management localhost 7505
script-security 3
max-clients 100
auth-user-pass-verify /etc/openvpn/server/clientCheck.sh via-env
verify-client-cert none

如果有人能帮助我我将不胜感激。

相关内容