请教一个 ipv6 路由问题

40 天前
 huangya
在 openwrt 上,我 ping 一个 ipv6 上游自建的 server ,它的地址为 2001:fdfd::254 ,openwrt wan 的地址为 2001:fdfd::2ce0:e9d9:ee8b:a9b2/64 在 pppoe-wan 接口上。发现不通。ping 命令和路由表如下。我的理解是不应该走路由表中的第一条默认路由吗?

root@OpenWrt:~# ping6 2001:fdfd::254
PING 2001:fdfd::254 (2001:fdfd::254): 56 data bytes
ping6: sendto: No route to host

root@OpenWrt:~# ip -6 route
default from 2001:fdfd::/64 via fe80::85a:14d0:1360:b1fc dev pppoe-wan6 metric 512
2000:fefe::/64 dev br-lan metric 1024
unreachable 2000:fefe::/64 dev lo metric 2147483647
unreachable 2001:fdfd::/64 dev lo metric 2147483647
fe80::85a:14d0:1360:b1fc dev pppoe-wan6 metric 256
fe80::2ce0:e9d9:ee8b:a9b2 dev pppoe-wan6 metric 256
fe80::/64 dev br-lan metric 256
fe80::/64 dev wlan0 metric 256
fe80::/64 dev eth0 metric 256
fe80::/64 dev wlan1 metric 256
anycast 2000:fefe:: dev br-lan metric 0
anycast 2001:fdfd:: dev pppoe-wan6 metric 0
anycast fe80:: dev br-lan metric 0
anycast fe80:: dev wlan0 metric 0
anycast fe80:: dev eth0 metric 0
anycast fe80:: dev wlan1 metric 0
multicast ff00::/8 dev br-lan metric 256
multicast ff00::/8 dev wlan0 metric 256
multicast ff00::/8 dev eth0 metric 256
multicast ff00::/8 dev pppoe-wan6 metric 256
multicast ff00::/8 dev wlan1 metric 256

root@OpenWrt:~# ifconfig pppoe-wan6
pppoe-wan6 Link encap:Point-to-Point Protocol
inet addr:192.168.66.202 P-t-P:192.168.66.252 Mask:255.255.255.255
inet6 addr: fe80::2ce0:e9d9:ee8b:a9b2/128 Scope:Link
inet6 addr: 2001:fdfd::2ce0:e9d9:ee8b:a9b2/64 Scope:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:479 errors:0 dropped:0 overruns:0 frame:0
TX packets:3423 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:39096 (38.1 KiB) TX bytes:218880 (213.7 KiB)

发现需要用下列命令添加路由后才可以通,请问与默认路由有什么区别呢?
root@OpenWrt:~# ip -6 route add 2001:fdfd::/64 dev pppoe-wan6

root@OpenWrt:~# ping6 2001:fdfd::254
PING 2001:fdfd::254 (2001:fdfd::254): 56 data bytes
64 bytes from 2001:fdfd::254: seq=0 ttl=64 time=0.867 ms
^C
--- 2001:fdfd::254 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.867/0.867/0.867 ms
1107 次点击
所在节点    宽带症候群
9 条回复
nodejx
40 天前
unreachable 2001:fdfd::/64 dev lo metric 2147483647
zhaibin18
40 天前
我为遇到这问题了,一直没搞定。
weyou
40 天前
当然不一样啦,那条默认路由表示从 2001:fdfd::/64 地址段来的任何封包都送到默认网关 fe80::85a:14d0:1360:b1fc 让它去转发。

而你自己加的那条路由表示去往 2001:fdfd::/64 的封包都送到接口 pppoe-wan6 发出去

你要访问的地址是 2001:fdfd::254 ,在你加路由之前是送往网关 fe80::85a:14d0:1360:b1fc ,如果网关不知道 2001:fdfd::254 在哪里,就不会转发
huangya
40 天前
不好意思,看了几遍,还是没有十分明白。
>如果网关不知道 2001:fdfd::254 在哪里,就不会转发
这条路由 default from 2001:fdfd::/64 via fe80::85a:14d0:1360:b1fc dev pppoe-wan6 metric 512 ,中的“dev pppoe-wan6”不是表示知道往 pppoe-wan6 接口送吗?
huangya
40 天前
@weyou 值得注意的是,我这个 ping 包的 src ip 和 dst ip 都是在 2001:fdfd::/64 地址段, 不知道有没有影响。
leonshaw
40 天前
-I 指定源地址呢
huangya
40 天前
@leonshaw 请问怎么指定,能给出一个详细的命令吗
weyou
39 天前
@huangya 这么说吧,两条路由都是往 pppoe-wan6 接口送,但是发给谁是有区别的,那条默认路由是把封包发给网关 fe80::85a:14d0:1360:b1fc 处理,你自己加的这条路由是直连路由,由接口直接发到目标地址
huangya
36 天前
@weyou 我还有一个困惑,
>default from 2001:fdfd::/64 via fe80::85a:14d0:1360:b1fc dev pppoe-wan6 metric 512
这个路由中的“from” 表示什么意思呢?在我的 ipv4 认知中,似乎一般路由是看目的 ip ,而不是源 ip (除非使用策略路由)。这里似乎还给源 ip 加了一个限制条件,是吗?如果是,我们使用 ip -6 命令手动配置路由的时候,有哪个选项可以配置"from"(也就是源 ip 呢)呢?

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

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

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

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

© 2021 V2EX