当前位置: 代码迷 >> 综合 >> OpenWrt R20.10.20 校园网环境下不能正常访问 IPv6 问题及解决方法
  详细解决方案

OpenWrt R20.10.20 校园网环境下不能正常访问 IPv6 问题及解决方法

热度:33   发布时间:2024-01-14 06:44:38.0

固件环境

  • 固件镜像:openwrt-x86-64-generic-squashfs-combined-efi.img(基于 coolsnowwolf 开源 lede 编译)
    • 固件共享地址:(待上传)
  • 固件版本:OpenWrt R20.10.20 / LuCI Master (git-20.256.12360-1a54222)
  • 内核版本:5.4.75

问题描述

  • OpenWrt 在校园网环境下,路由器获得了 IPv4 和 IPv6 地址
  • SSH 连接路由器测试路由器能够正常 ping 通 IPv6 地址
  • 连接到该路由器下的电脑的网卡也获得了 IPv4 和 IPv6 地址,但是就是无法正常访问和使用 IPv6 地址资源,无法正常 ping 通 IPv6 地址
  • IPv6 测试网站(http://www.test-ipv6.com/)测试结果:也显示无法正常访问 IPv6
  • IPv4 地址能够正常访问

原因分析

  • 连接到该路由器下的电脑的网卡也获得了 IPv6 地址,但估计都是内网 IPv6 地址,所以无法正常访问外网 IPv6 地址资源
    (PS:不是专业研究网络,无法拿出充足时间研究该问题,所以只能浮于表面分析原因,如果有高手能更清晰地分析该问题出现的原因,敬请留言和不吝赐教)

解决方法

  • 通过 ssh 登录路由器

  • 通过 vim 命令打开 /etc/config/dhcp 配置文件:

vim /etc/config/dhcp
  • 修改 dhcp 配置内容(如下面几项不一样的替换为下面几项,其他项保留原来即可),英文输入法状态下输入“:”,在输入“q!”,回车保存修改
config dhcp 'lan'option dhcpv6 'disabled'option ra 'relay'option ndp 'relay'config dhcp 'wan6'option interface 'wan'option dhcpv6 'disabled'option ra 'relay'option ndp 'relay'option master '1'
  • 通过如下命令重启 odhcpd 服务
/etc/init.d/odhcpd restart
  • 通过 vim 命令打开 /etc/rc.local 开机启动配置脚本
vim /etc/rc.local
  • 在开机启动配置脚本 /etc/rc.local 中添加如下内容,英文输入法状态下输入“:”,在输入“q!”,回车保存修改
sleep 30
/etc/init.d/odhcpd restart
  • 在 OpenWrt 图形配置界面下,依次展开【网络】–【DHCP/DNS】–【高级设置】,去勾选“禁止解析 IPv6 DNS 记录” 这项

  • 然后,依次展开【网络】–【负载均衡】–【策略】,点击【修改】

  • 在【备用成员】下拉选项中选择【默认(使用主路由表)】,点击【保存&应用】

  • 重启路由器后,可以发现连接到路由器的电脑网络可以获得与路由器 WAN6 口相同前缀的 IPv6 地址,然后就可以尽情访问和使用 IPv6 教育资源了

参考及致谢

  • https://blog.csdn.net/baidu_33340703/article/details/109843529
  • http://blog.kompaz.win/2017/02/22/OpenWRT%20IPv6%20%E9%85%8D%E7%BD%AE/
  • https://v2ex.com/t/700446
  相关解决方案