请教 ipv6 的路由规则无法匹配到的问题

2021-04-30 16:14:33 +08:00
 zloop

想用指定 gre1 (绑定 v4 和 v6 )接口送出流量:ping6 -I gre1 ipv6.site

但只有 ipv4 通,ipv6 提示 Network is unreachable (无法匹配指定路由表),不知道对路由规则理解哪里出了问题

规则如下:

~ # ip -6 address add 2001::2/28 dev gre1   #设置 gre1 ip = 2001::2
~ # ip -6 rule add from 2001::/28 table 0x66    #将源 ip 为 2001::/28 的流量转至 0x66 表处理
~ # ip -6 route add default via 2001::1 dev gre1 table 0x66    #0x66 表网关设置为 2001::1
~ # ip -6 route get 2a00:1450:4001:82f::200e dev gre1    #测试:通过 gre1 匹配,匹配不到路由
RTNETLINK answers: Network is unreachable
~ # ip -6 route get 2a00:1450:4001:82f::200e from 2001::2    #测试:通过源 IP 匹配,匹配到路由
2a00:1450:4001:82f::200e from 2001::2 via 2001::1 dev gre1 table 102 src 2001::2 metric 1024 pref medium

又试了:

~ # ip -6 rule add from all table 0x66 #所有源 ip 流量都转至 0x66 表
~ # ip -6 route get 2a00:1450:4001:82f::200e dev gre1 #测试:通过 gre1 匹配,匹配到路由,但源 ip 不是 2001::2
2a00:1450:4001:82f::200e from :: via 2001::1 dev gre1 table 102 src 2001::2 metric 1024 pref medium

为什仅仅指定 gre1 网卡,不会使用网卡的 2001::2 作为发出 ip,被匹配进 0x66 表?

IPv4 相同配置却能匹配:

~ # ip address add 10.0.0.2/24 dev gre1
~ # ip rule add from 10.0.0.0/24 table 0x44
~ # ip route add default via 10.0.0.1 dev gre1 table 0x44
~ # ip route get 142.250.186.174 dev gre1
142.250.186.174 dev gre1 src 10.0.0.2 uid 0
996 次点击
所在节点    宽带症候群
1 条回复
LGA1150
2021-05-01 02:33:27 +08:00
2001::/32 是 Teredo 保留地址,优先级会比 IPv4 低

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/774386

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX