如何在仅支持IPv6(DS-Lite处理IPv4)的Vodafone Cable网络中,为Fritzbox 6690 Cable配置WireGuard VPN实现全流量路由?
如何在仅支持IPv6(DS-Lite处理IPv4)的Vodafone Cable网络中,为Fritzbox 6690 Cable配置WireGuard VPN实现全流量路由?
我之前刚好踩过Vodafone Cable+Fritzbox 6690+WireGuard这个坑,你的情况和我当时几乎一模一样——DS-Lite的IPv4、只能拿到IPv6,UI里只有IPv4路由的选项,连了VPN还显示ISP的IPv4。折腾了好一阵终于搞定全流量路由,给你一步步说:
先解决当前IPv4不生效的问题
你说连了VPN但还是ISP的IPv4,核心原因是DS-Lite的特殊机制:Fritzbox的IPv4是通过NAT64转换的虚拟地址,默认的WireGuard配置可能没正确覆盖这个流量路径。
- 首先确认WireGuard服务器端的配置:
- 服务器必须开启IPv4转发,执行命令:
sysctl -w net.ipv4.ip_forward=1(记得加到/etc/sysctl.conf里永久生效) - 服务器端要配置SNAT规则,让WireGuard的IPv4流量能正常出网,比如你的WireGuard IPv4子网是
10.0.0.0/24,执行:iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE(把eth0换成服务器的公网接口)
- 服务器必须开启IPv4转发,执行命令:
- 检查Fritzbox的WireGuard配置:
- 确保WireGuard的本地IPv4子网避开DS-Lite的内网段(DS-Lite默认用
100.64.0.0/10),比如用10.0.0.0/24或者192.168.100.0/24 - 确认UI里的“路由所有IPv4流量”选项已经勾选,然后重启WireGuard连接
- 确保WireGuard的本地IPv4子网避开DS-Lite的内网段(DS-Lite默认用
配置IPv6全流量路由(Fritzbox UI隐藏功能)
Fritzbox的默认UI确实没给IPv6路由的勾选框,但可以通过两种方式开启:
方法1:用隐藏Web界面配置
这是最方便的方式,不用命令行:
- 在浏览器地址栏输入
http://fritz.box/html/wireguard_edit.lua,找到你已经创建的WireGuard连接 - 在“允许的IP地址”(Allowed IPs)字段里,把原来的
0.0.0.0/0(对应IPv4全流量)后面加上, ::/0(对应IPv6全流量),最终内容是0.0.0.0/0, ::/0 - 保存配置,然后重启WireGuard连接(在Fritzbox UI的“VPN”->“WireGuard”里找到连接,点“断开”再“连接”)
方法2:用Telnet命令行修改(适合喜欢折腾的)
如果隐藏界面不好使,可以用Telnet登录Fritzbox操作:
- 先在Fritzbox UI开启Telnet:进入“系统”->“密码”,找到“Telnet访问”选项,勾选开启,保存
- 打开命令提示符(Windows)或终端(Mac/Linux),输入
telnet fritz.box,用你的Fritzbox管理用户名和密码登录 - 找到WireGuard的配置文件,通常路径是
/var/run/wireguard/wg0.conf(如果是第二个连接就是wg1,以此类推) - 编辑配置文件,找到
[Peer]段的AllowedIPs行,修改成AllowedIPs = 0.0.0.0/0, ::/0 - 重启WireGuard接口:执行
wg-quick down wg0 && wg-quick up wg0
验证配置是否生效
配置完后一定要验证,确保全流量都走VPN:
- 验证IPv4:打开
https://whatismyip.com,查看显示的IP是否是你的WireGuard服务器的IPv4地址 - 验证IPv6:打开
https://ipv6-test.com,查看显示的IP是否是你的WireGuard服务器的IPv6地址 - 也可以用命令行测试:执行
ping -4 google.com和ping -6 google.com,然后在Fritzbox的“诊断”->“网络连接”里查看WireGuard接口的流量是否在增长
关键注意事项
- WireGuard服务器必须支持IPv6:因为Vodafone Cable的WAN口只有IPv6地址,所以你的WireGuard服务器的
Endpoint必须是IPv6地址或者能解析到IPv6的域名(如果服务器只有IPv4,需要借助NAT64,但稳定性会差很多) - 保持Fritzbox固件更新:老版本的FritzOS可能对WireGuard的IPv6支持有bug,建议升级到最新官方固件
- 不要和Vodafone的IPv6子网冲突:Fritzbox的LAN IPv6子网默认是
2001:db8::/64之类的,WireGuard的IPv6子网要避开这个,比如用fd00::/64的ULA地址
备注:内容来源于stack exchange,提问作者C5H8NNaO4
相关产品推荐
相关产品推荐

