找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 56605|回复: 64

小米路由的IPv6支持教程(Update: 19/03/04)

  [复制链接]
发表于 2019-1-25 01:38 | 显示全部楼层 |阅读模式
本帖最后由 wazon 于 2019-3-18 11:00 编辑

  2017年11月26日,中共中央办公厅、国务院办公厅印发了《推进互联网协议第六版(IPv6)规模部署行动计划》。截至目前,全国已经有很多地区的宽带运营商提供了IPv6。此前为了支持“教育网IPv6插件”,小米路由器其实已经内置了适用于IPv6的相关模块,但未提供打开的方式。在官方正式支持之前,以下教程给出一种打开小米路由对宽带IPv6支持的方案。

  请注意:
  IPv6需要宽带运营商的支持。
  以下内容以R2D(系统版本:2.25.209)为例,截止发帖时可用。不清楚其他路由型号是否适用。

  本案例支持的是小米路由以PPPoE方式获得宽带光猫(桥接模式)下发的IPv6配置。不是指“教育网IPv6插件”。
  需要root和开启SSH。这两个操作存在风险,如还未开启请谨慎决定。
  本方法开启后的IPv6可能会偶然存在不稳定情况,可能会与某些插件产生冲突。
  本教程供爱好者个人研究,请勿在生产环境等可能会因网络问题造成损失的场景使用。
  默认使用PuTTY和WinSCP进行相关操作。


  方法:

  目的是在“教育网IPv6插件”不开启的情况下,也要打开路由器的IPv6总开关。
  找到路由器内部文件 /etc/config/ipv6 ,替换为:
  1. config ipv6 'settings'
  2.         list if_on 'wan'
  3.         option enabled '1'
  4.         list if_on 'ipv6'
  5.         option enabled '1'
复制代码
(如需预留恢复原状的可能,请备份原来的文件内容)
  之后重启路由器,通过 http://ipv6-test.com/http://www.test-ipv6.com/ 等网站验证是否配置成功。

  讨论:
  其实还存在其他的改法,但需要提醒的是,某些写法重启后会被系统自动改回去。
  有资料显示要改/etc/config/network、/etc/config/dhcp,不过小米路由似乎不需要修改。

  对于上海电信用户需要配置4K IPTV的,可以参见:http://www.miui.com/thread-6990020-1-1.html

  如果有同样成功的请回帖说一下,以免我遗漏了一些内容。



  2019/3/2更新:对于宽带光猫路由模式支持

  本段教程在作者电信光猫(光猫拨号、路由模式,小米路由 DHCP)下的小米路由器R2D中试验成功,无法保证在其它设备上能够正常运作。
  本段教程涉及操作较多,如操作不当,存在使路由器崩溃的风险,应做好相关准备。
  确保光猫配置界面“IPv6 连接信息”能够获得 IPv6 地址且前缀小于\64。检查“LAN侧地址配置-IPv6配置”中“RADVD”已经起用。
  对于光猫路由模式的支持基于前面的教程。请先阅读前述教程注意事项、完成所有步骤。
  此时,通过网站验证 IPv6 会面临失败。然而,在局域网中电脑的cmd中运行:
  1. ipconfig -all
复制代码


  可以看到已经正常获得了公网“IPv6 地址”。(“本地链接 IPv6 地址”为“fe80”开头,如果仅有这项代表不成功)

  另一个重要的判断依据需要登陆SSH进到路由器,然后在SSH中运行:
  1. ping6 ipv6.tsinghua.edu.cn
复制代码

  此时应该能够得到IPv6地址(2402:f000:1:881::8:205)和 ping 反馈。


  还可以运行:
  1. ifconfig
复制代码

  检查 eth0.2 的 inet6 addr 是否正常获得地址和小于等于/64的前缀。

  如果都检查通过,说明路由器本体可以连上 IPv6 ,且具备向下属设备进一步 SLAAC 的能力。


  方法:

  小米路由事实上已经实现了大多数的 IPv6 支持,然而由于固件版本太低,唯独 NDP 在光猫路由情形下无法正常工作,需要额外可执行文件来帮忙。
  6relayd 可以作为合适的 NDP 中继。其实 6relayd 功能还有很多,更有 odhcpd 作为更丰富的继承者。然而这两个组件官方均未提供使用,于是运用小米提供的 SDK 自行编译了 6relayd :


  将 6relayd 文件放入/sbin/并使其可执行。由于该文件夹默认只读,先在 SSH 中输入以下命令解锁:
  1. mount -o remount rw /
复制代码


  之后,用之前推荐的软件通过 SCP 把文件放入上述文件夹。并授予其可执行权限:
  1. chmod +x /sbin/6relayd
复制代码



  此时,在SSH中执行“6relayd”应该会显示程序的帮助信息。
  在本案例中,输入如下命令:
  1. 6relayd -N eth0.2 br-lan
复制代码



  重启局域网中的计算机后,再通过网站验证 IPv6,应当会通过验证。

  走到这一步,说明全部的技术路线已经打通。为了让 6relayd 能够在路由器重启后自动执行,将其附加在开机自动执行的脚本上。以 /etc/init.d/plugin_start_.sh 为例,加入的方式如下:

  1.         netmode=$(uci get xiaoqiang.common.NETMODE)
  2.         if [ "$netmode"x != "lanapmode"x ] && [ "$netmode"x != "wifiapmode"x ]
  3.         then
  4.                 copy_plugin_chroot_file
  5.                 sync
  6.                 # decrese current priority and throw myself to mem cgroup
  7.                 # so all plugins inherit those attributes
  8.                 renice -n+10 -p $
  9.                 echo $ > /dev/cgroup/mem/group1/tasks
  10.                 /usr/sbin/plugin_start_impl.sh &
  11.                 6relayd -d -N eth0.2 br-lan
  12.         fi
复制代码



  重启路由器后,路由器下属设备应当自动获得正常的 IPv6 连接,这样的话就大功告成了。



  讨论:
  开机启动中 6relayd 加入了 -d 参数以免阻塞脚本运行。
  6relayd 源代码来源:https://github.com/sbyx/6relayd
  小米路由交叉编译技术参考:http://www.book41.net/?p=832



  2019/3/4更新:对于外网暴露的支持

  如果本地计算机已经可以通过 IPv6 测试、可以访问 IPv6 网站,但外网通过 IPv6 无法访问本机,首先是因为 openwrt 默认阻挡所有外网主动发起 IPv6 连接。小米路由自带 IPv6 防火墙 ip6tables,为了确定问题,可以用以下命令使该防火墙放行所有数据:
  1. ip6tables -F
  2. ip6tables -P INPUT ACCEPT
  3. ip6tables -P FORWARD ACCEPT
复制代码

  需要注意的是,这样会降低内网设备的安全性。建议自行研究和配置 ip6tables,对放行进行严格的约束。确定规则后,可以模仿之前思路将其设为开机启动。
  另外,不要忽略本地计算机操作系统的防火墙。例如 Windows 防火墙默认阻挡 ICMP。在此配置下,外网 ping 本机 IPv6 是没有答复的。

  如果遇到问题,请至少贴出路由器型号和版本,光猫配置信息,局域网内计算机的 ipconfig -all、ping -6 ipv6.tsinghua.edu.cn,路由器的 ifconfig、ifstatus eth0.2、ping6 ipv6.tsinghua.edu.cn 等详细信息(注意保护隐私),否则无从判断。
  如果成功,望至少告知光猫模式和路由器型号。






  本贴首发于:http://bbs.xiaomi.cn/t-36485662,这里面可能内容更新

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 2恩山币 +2 收起 理由
a1522828450 + 1 作为AP时(中继模式),ipv6配置中加入list if_on 'lan'回车o
Aginouxy + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-1-26 22:55 | 显示全部楼层
测试了3G开发版 2.27.120用不了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-2-20 08:32 | 显示全部楼层
早上简单测试了下,貌似没有成功获取IPV6地址,当地运营商有没有开通还不确定,杭州电信,晚上再研究下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-2-21 16:51 | 显示全部楼层
晚上回去试试,刚好有需求。广东移动,电脑拨号能获取到IPV6。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-2-25 11:15 | 显示全部楼层
不知道官方什么时候支持
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-3-1 22:30 | 显示全部楼层
r3P 好像没用。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-3-2 22:56 | 显示全部楼层
/etc/config/ipv6 文件修改后重启,文件被还原

点评

我的研究是某些改法会还原,某些不会。我给出的应该不会。  详情 回复 发表于 2019-3-2 23:36
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-3-2 23:36 | 显示全部楼层
zhouqbb 发表于 2019-3-2 22:56
/etc/config/ipv6 文件修改后重启,文件被还原

我的研究是某些改法会还原,某些不会。我给出的应该不会。

点评

感谢回复。我用的就是你帖子的方法,只修改了/etc/config/ipv6 这个文件,保存后,未重启前查看文件是修改成功的。但是路由重启后,/etc/config/ipv6这个文件又被还原成原来的了  详情 回复 发表于 2019-3-3 10:29
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-3-3 10:29 | 显示全部楼层
wazon 发表于 2019-3-2 23:36
我的研究是某些改法会还原,某些不会。我给出的应该不会。

感谢回复。我用的就是你帖子的方法,只修改了/etc/config/ipv6 这个文件,保存后,未重启前查看文件是修改成功的。但是路由重启后,/etc/config/ipv6这个文件又被还原成原来的了

点评

你的路由器版本是啥  详情 回复 发表于 2019-3-3 11:42
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-3-3 11:42 | 显示全部楼层
zhouqbb 发表于 2019-3-3 10:29
感谢回复。我用的就是你帖子的方法,只修改了/etc/config/ipv6 这个文件,保存后,未重启前查看文件是修 ...

你的路由器版本是啥

点评

r2d固件版本2.25.209(开发版)  详情 回复 发表于 2019-3-4 17:25
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-3-3 16:48 | 显示全部楼层
正好有一个r2d 1t不知道可和否?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-3-4 17:25 | 显示全部楼层
wazon 发表于 2019-3-3 11:42
你的路由器版本是啥

r2d固件版本2.25.209(开发版)

点评

奇怪了。不如在保存后,把 的结果发一下  详情 回复 发表于 2019-3-4 21:52
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-3-4 21:52 | 显示全部楼层
zhouqbb 发表于 2019-3-4 17:25
r2d固件版本2.25.209(开发版)

奇怪了。不如在保存修改后,把
  1. cat /etc/config/ipv6
复制代码
的结果发一下。可以在把重启后的结果也发一下。

点评

我直接vi编辑的,wq后,cat查看确实修改成功了,但是重启后就没了。。。。  详情 回复 发表于 2019-3-4 22:03
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-3-4 22:03 | 显示全部楼层
本帖最后由 zhouqbb 于 2019-3-4 22:14 编辑
wazon 发表于 2019-3-4 21:52
奇怪了。不如在保存修改后,把  的结果发一下。可以在把重启后的结果也发一下。

我直接vi编辑的,wq后,cat查看确实修改成功了,但是重启后就没了。。。。这是修改后,确实改了


这是重启后,又还原了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

请仔细对比你的第二行和我的第二行  详情 回复 发表于 2019-3-5 10:35
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-3-5 10:35 | 显示全部楼层
zhouqbb 发表于 2019-3-4 22:03
我直接vi编辑的,wq后,cat查看确实修改成功了,但是重启后就没了。。。。这是修改后,确实改了

请仔细对比你的第二行和我的第二行

点评

修改成功了,应该是我原来的配置有误系统校验失败,从/rom里恢复原始的了。多谢了  详情 回复 发表于 2019-3-9 13:21
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 05:57

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表