HE IPv6隧道配置后部分IPv6连接异常求助
HE IPv6隧道配置后部分IPv6连接异常求助
兄弟,看你描述的情况,核心问题已经很明显了——IPv6默认路由冲突,加上gateway6这个配置已经被废弃,直接导致了部分IPv6连接超时、mtr无输出的问题。我帮你梳理下问题和解决步骤:
你的当前情况
- 服务器是Kimsufi(OVH旗下),自带的IPv6只有/128,所以搭了Hurricane Electric的隧道获取/64段
- 配置了两个netplan文件:
50-cloud-init.yaml(主网卡配置)和99-he-tunnel.yaml(隧道配置) - 系统抛出的关键错误是:
Conflicting default route declarations for IPv6 (table: main, metric: default),同时提示gateway6已废弃
问题根源
50-cloud-init.yaml里配置了gateway6,但这个参数已经被netplan废弃,应该用默认路由代替- 主网卡和HE隧道都声明了IPv6默认路由,导致路由表冲突,系统不知道该走哪条路径,最终部分IPv6连接失效
具体解决步骤
1. 修正主网卡配置(50-cloud-init.yaml)
首先去掉废弃的gateway6配置,因为我们要通过HE隧道走IPv6默认路由:
network: version: 2 ethernets: eno0: set-name: eno0 accept-ra: false dhcp4: true dhcp6: false match: macaddress: 00:22:4d:84:93:df nameservers: addresses: - 8.8.8.8 - 8.8.4.4 - 2001:4860:4860::8888 - 2001:4860:4860::8844 addresses: # Routed /64: 2001:470:1f21:a::/64 - 2001:470:1f21:a::1/64 # James - 2001:470:1f21:a:ef54:7bad:b8b0:801d/64 # LikeIcare - 2001:470:1f21:a:6e0c:b070:c4cc:619c/64 # Lounge - 2001:470:1f21:a:35f1:20bb:67b2:efce/64 # ApexBNC - 2001:470:1f21:a:9df3:0c29:2cca:036e/64 # Relays - 2001:470:1f21:a:a239:ca6e:c932:c379/64 # weechater - 2001:470:1f21:a:4384:4ba6:36be:d16d/64 # Scheherazade - 2001:470:1f21:a:7cc5:506f:d124:345a/64 # RiberHus - 2001:470:1f21:a:7966:7232:e0ca:8ccc/64 # Vigilante - 2001:470:1f21:a:6171:fd09:929e:72e2/64 # Gitnotifier - 2001:470:1f21:a:3b98:2cc0:dd51:2e16/64 # BloodyMary - 2001:470:1f21:a:0612:5d3c:78d2:3b5e/64
2. 优化隧道配置(99-he-tunnel.yaml)
给隧道的默认路由加上metric,确保它的优先级高于其他可能的IPv6路由(如果有的话):
network: version: 2 tunnels: he-ipv6: mode: sit remote: 216.66.87.102 local: 5.135.186.51 routes: - to: default via: "2001:470:1f20:a::1" metric: 100 # 数值越小优先级越高,默认一般是1024,这里设100确保优先走隧道 nameservers: addresses: - 2001:4860:4860::8888 - 2001:4860:4860::8844 addresses: # Client IPv6 Address - 2001:470:1f20:a::2/64
3. 应用配置并验证
执行命令让配置生效:
sudo netplan apply
然后查看IPv6路由表,确认默认路由是通过HE隧道的:
ip -6 route
你应该能看到类似这样的条目:default via 2001:470:1f20:a::1 dev he-ipv6 metric 100
接下来测试连通性:
# 先ping HE隧道端点,验证隧道本身是否正常 ping6 2001:470:1f20:a::1 # 再测试之前超时的地址 curl -6 https://nominatim.openstreetmap.org
4. 额外排查点
如果还是有问题,检查以下内容:
- 防火墙规则:确保IPv6的出站流量和隧道相关的流量被允许(比如nftables/iptables的ip6tables规则)
- Cloud-init重置:如果重启后配置又变回原样,可以创建
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg文件,内容为network: {config: disabled},禁用cloud-init的网络配置功能
备注:内容来源于stack exchange,提问作者TehPeGaSuS
相关产品推荐
相关产品推荐

