OpenWRT 成功获取 IPv6 地址却无法使用

2020-08-22 09:40:19 +08:00
 ZeroSimple

如图,路由器和电脑都已经获取到了 IPv6 地址: 通过电脑依然无法访问 IPv6: 我尝试 ssh 到路由器,直接通过路由器测试 IPv6,发现路由器本身也无法使用 IPv6: 求大佬诊断一下原因(我的运营商是支持 IPv6 的,以前用老毛子的时候是能用的)

12873 次点击
所在节点    宽带症候群
19 条回复
ashong
2020-08-22 09:51:25 +08:00
检查一下防火墙规则
wqy
2020-08-22 09:52:08 +08:00
原因一:网络——DHCP——高级设置中勾选了“禁止解析 IPv6 DNS 记录”
原因二:网络——负载均衡——策略中备用成员是“不可达(拒绝)”而不是“默认(使用主路由表)”
ifxo
2020-08-22 09:54:22 +08:00
测试站有问题,我那天也测试失败,实际上已经成功了
ZeroSimple
2020-08-22 09:56:57 +08:00
@ashong [![dUtGWt.png]( https://s1.ax1x.com/2020/08/22/dUtGWt.png)]( https://imgchr.com/i/dUtGWt)防火墙规则应该没问题
@wqy 没有勾选禁止解析 IPv6 DNS 记录;设置的是不可达(拒绝)
@ifxo 测试站没问题,手机用蜂窝能 Ping 通。
wqy
2020-08-22 10:01:27 +08:00
@ZeroSimple 意思就是不能设置为“不可达(拒绝)”,要改成“默认(使用主路由表)”才行
droidmax61
2020-08-22 10:04:34 +08:00
所以我才继续用老毛子
ZeroSimple
2020-08-22 10:06:30 +08:00
@wqy 非常感谢,成功了,此帖终结
0A0
2020-08-22 10:06:40 +08:00
如果设置里都确定没问题但还是无法解析 ipv6 的话,可能你的 openwrt 需要用 slaac 方式才行。

网页管理端,路径:Network->Interfaces, 删除私有 IPv6 前缀并保存

SSH 登录 OpenWRT,修改 /etc/config/dhcp 文件,添加如下部分,不使用 dhcpv6 方式配置 IPv6,而是使用 SLAAC 方式配置 IPv6 。

config dhcp 'lan'
option dhcpv6 'disabled'
option ra 'relay'
option ndp 'relay'

config dhcp 'wan6'
option interfere 'wan'
option dhcpv6 'disabled'
option ra 'relay'
option ndp 'relay'
option master '1'
修改之后保存,重启 odhcpd 服务,否则接入终端无法获取 IPv6 地址。

/etc/init.d/odhcpd restart
这种方式可以让接入路由器的终端,获取原生的 IPv6 地址。但每次路由器重启上述配置并不会生效,需要重启下 odhcpd 服务,接入路由器的终端方可获取 IPv6 地址。

可以在开机启动脚本 /etc/rc.local 中添加如下脚本,每次开机系统启动 30 秒后重启 odhcpd 服务。
sleep 30
/etc/init.d/odhcpd restart
flyfishcn
2020-08-22 11:18:13 +08:00
路由器上都 ping 不通,大概率是没有路由,或者路由不对。
Chauncey09
2020-08-22 15:15:05 +08:00
请问这个是哪个固件?
Maskeney
2020-08-22 18:43:52 +08:00
显然 你这不是官方 OpenWrt 哪来的回哪问去
sasalemma
2020-08-22 21:33:57 +08:00
就是某位“大神”的固件里加了“禁止解析 IPv6 DNS 记录”,还默认勾选的结果比较多。

op 原版这个是没有的。
shikkoku
2020-08-22 22:03:04 +08:00
Openwrt 原版 19.07 没有“禁止解析 IPv6 DNS 记录”。
cnrting
2020-08-23 00:45:58 +08:00
自从被网上流传的各种大神版本坑了之后我就自己编译了😂😂😂
KENNHI
2020-08-23 04:12:08 +08:00
nat6 可解
ericFork
2020-08-23 06:35:32 +08:00
进来之前看标题还以为是运营商只给了 /64
letmefly
357 天前
好晕,我也是这样。我是 ubnt er-x 刷了最新的原版 openwrt 22.03.5 ,刚刚创建好 pppoe 的时候是能通过 ipv6 测试的。但是当我配置好路由器,并重启过后就不能过 ipv6 测试了。
路由器,我划分了 2 个网段,安装了 zerotier 和 vlmcsd 。
znsb
182 天前
@0A0 0 老师我研究了一整晚都没懂怎么延迟重启 odhcpd

“可以在开机启动脚本 /etc/rc.local 中添加如下脚本,每次开机系统启动 30 秒后重启 odhcpd 服务。
sleep 30
/etc/init.d/odhcpd restart”
这句话究竟怎么实现。。。
0A0
177 天前
@znsb
字面意思在 rc.local 文件里添加下面两行命令
sleep 30
/etc/init.d/odhcpd restart
意思就是系统启动后隔 30 秒重启 ldhcpd 服务。具体隔多少秒看你自己设备快慢。

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

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

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

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

© 2021 V2EX