5

请问上海电信/联通给的 ipv6 只能连电信联通自己的 fe80 开头的地址吗?

 1 year ago
source link: https://www.v2ex.com/t/947652
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  宽带症候群

请问上海电信/联通给的 ipv6 只能连电信联通自己的 fe80 开头的地址吗?

  unidotnet · 13 小时 3 分钟前 · 757 次点击
1.用的 routeros v7.9.2
2.v6 的 dhcp pool 里能拿到 240 开头的地址
3.bridge 能获得 2408 ,240e 开头的 v6 地址
4.在 ipv6 里的 connection list 里看到能连上 fe80 开头的地址,别的都连不上 timeout
5.ipv6 的 fiewall 里面都关了,input ,forward ,output 全部 accept
7.本地的所有设备都能拿到 240 开头的 v6 地址

但是在 ipw.cn 上显示无 ipv6 ,只开电信或者只开联通都一样

测试:
路由直接 ping 和 traceroute 外部 ipv6 的地址都 timeout

内网机器测试:
traceroute to 240e:38b:8529:9300:892c:xxxx:xxxx:xxxx
xxx, 30 hops max, 80 byte packets
xxx 3048.639 ms !H 3048.578 ms !H 3048.545 ms !H

阿里 dns
ping 2400:3200:baba::1
Destination unreachable: No route


traceroute -6 2400:3200:baba::1
traceroute to 2400:3200:baba::1 (2400:3200:baba::1), 30 hops max, 80 byte packets
1 xxx 0.424 ms !N 0.342 ms !N 0.310 ms !N

请教是啥问题?
12 条回复    2023-06-11 17:57:47 +08:00
maobukui

maobukui      12 小时 41 分钟前

不是的,拿到的 V6 地址,跨运营商也是可以访问的。
猜测你应该是路由器拿 V6 的配置不对吧
maobukui

maobukui      12 小时 41 分钟前   ❤️ 1

fe80 是本地地址,240 开头的是外网地址
unidotnet

unidotnet      12 小时 35 分钟前

@maobukui pppoe 拨号后拿到的是 fe80 开头的,自己去获取 ipv6 才能拿到 240 开头的。
ipv6 的路由里 都写了 ::/0 gateway bridge 了
Archeb

Archeb      12 小时 34 分钟前

你是一个路由器上有 2 个 IPv6 上游?这种情况你要根据源地址做策略路由让它选择正确的出口的。

我建议先拔掉另一个运营商,使用单运营商进行测试,没问题再做下一步。
Archeb

Archeb      12 小时 30 分钟前

我的配置,供参考

/ipv6 firewall mangle
add action=change-mss chain=forward new-mss=1420 out-interface-list=Public-Out \
passthrough=yes protocol=tcp tcp-flags=syn
add action=mark-routing chain=prerouting in-interface-list=!Public-Out \
new-routing-mark=route6-ct passthrough=no src-address=240e::/18
add action=mark-routing chain=prerouting in-interface-list=!Public-Out \
new-routing-mark=route6-cu passthrough=no src-address=2408:8000::/20
add action=mark-routing chain=prerouting in-interface-list=!Public-Out \
new-routing-mark=route6-cmcc passthrough=no src-address=2409:8000::/20

/routing rule
add action=lookup disabled=no routing-mark=route6-cu table=route6-cu
add action=lookup disabled=no routing-mark=route6-cmcc table=route6-cmcc
add action=lookup disabled=no routing-mark=route6-ct table=route6-ct

/ipv6 route
add disabled=no distance=1 dst-address=::/0 gateway=pppoe-cu2 routing-table=\
route6-cu scope=30 target-scope=10
add disabled=no distance=1 dst-address=::/0 gateway=pppoe-ct-163 routing-table=\
route6-ct scope=30 target-scope=10
add disabled=no distance=1 dst-address=::/0 gateway=pppoe-cmcc-3 routing-table=\
route6-cmcc scope=30 target-scope=10
duke807

duke807      12 小时 29 分钟前 via Android

最简单是:路由器当交换机,无线路由器当 AP 用
可以这样先排查一下
questionyu

questionyu      10 小时 33 分钟前

拨号获得的 fe80::/128 地址其实可以理解为运营商先给你分配了一个 100.64.x.x/32 的地址,然后路由器再去获取一个 /60 的前缀可以理解为再去获取公网地址。你使用公网地址去访问外网的时候,其实可以理解为流量是走在 fe80 之上的,由 fe80 这个通道承载着上层的 240e:: 地址与互联网的通信。(我这里只是便于理解才这么类比的,实际情况不是这样的)
cwbsw

cwbsw      10 小时 20 分钟前

@unidotnet
::/0 gateway bridge 这个不对吧。
unidotnet

unidotnet      8 小时 49 分钟前

@Archeb 谢谢,我发现问题了,路由 ::/0 写电信的 pppoe out , 联通分流可以和您的配置差不多,就可以了。 不过用 firewall mark rule 再 look up table 有点消耗 cpu 哈。。

感谢感谢

但是问题又来了,dns 服务器对某些域名返回了 ipv6 地址,所以。。我连 V2EX 都上不上了。。 只能禁用 ipv6 了。。
unidotnet

unidotnet      7 小时 0 分钟前

好了搞定了,ipv6 route 设置只能访问电信 /联通 /移动 /腾讯云 /阿里云 /淘宝的 ipv6 地址, 别的都不能,解决,谢谢。
@Archeb
Archeb

Archeb      3 小时 10 分钟前

@unidotnet #10 直接用 /routing/rule 规则匹配 src 和 interface 其实也行,我只是习惯了用防火墙搞

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK