我已成功将现有的 OpenVPN ipv4 隧道转变为 ipv6 隧道,配置文件如下:
服务器配置文件
port 22062
proto tcp6
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
duplicate-cn
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 60
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log-append /var/log/openvpn.log
verb 3
float
ping-timer-rem
resolv-retry infinite
server-ipv6 2001:db8:f00:bebe::/64
push "route-ipv6 ::/0"
push "route-metric 2000"
push "dhcp-option DNS6 2001:4860:4860::8888"
push "dhcp-option DNS6 2001:4860:4860::8844"
客户端.opvn
client
dev tun-ipv6
proto tcp
remote xxx.xxx.xxx.xxx 22062
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
--remote-cert-tls server
cipher AES-256-CBC
verb 3
auth-nocache
但当隧道处于活动状态时,并非所有互联网流量都会连接。
我注意到 ipleak.net 显示,当隧道未激活时,ipv4 流量会回退(我的本地 ISP 使用 ipv6),但当我打开隧道时,我从 ipleak.net 获取以下信息:
- IPv4 测试无法访问。(超时)[隧道未激活时,它显示我的本地 ipv4 地址]
- 回退:失败(错误)[隧道未激活时显示:回退:IPv4(152 毫秒)]
我承认我对此有些不知所措。有什么办法可以解决这个问题吗?
答案1
解决了我自己的问题:通过阅读以下内容解决了主要问题:https://community.openvpn.net/openvpn/wiki/IPv6
服务器的公网 ipv6 地址位于 2001:db8:f00:bebe::/64 的下半部分,因此将 server.conf 中的服务器行更改为:
server-ipv6 2001:db8:f00:bebe:8000::/65
此外,为了确保 IPv6 上的所有互联网流量都通过 OpenVPN 服务器,在 server.conf 中添加了此行:
push "redirect-gateway ipv6 def1 bypass-dhcp"
并删除:
push "route-metric 2000"
这是可选的,如果我理解正确的话,它会将一些 ipv6 流量带到 OpenVPN 服务器之外