老毛子 Padavan 路由器固件开启教育网 IPv6 并实现IPv6转发
老毛子 Padavan 路由器固件开启教育网 IPv6 并实现IPv6转发
自从给小米路由器mini刷了老毛子固件之后就特别想实现路由器的 IPv6 服务,最近刚到学校就开始折腾,到今天总算是比较完美了。注意:此教程只适用于老毛子Padavan 华硕固件,并且有原生 IPv6 网络(教育网)。
一、开启opt环境
首先要在老毛子的管理后台开启 opt 环境,设置路径在“扩展功能”-“配置扩展功能”-“opt环境”,启用 opt 自动更新、启用扩展脚本自动更新、打开 opt 强制安装、opt 安装模式选择“自动选择:SD→U盘→内存”。打开之后在 log 中会有安装的过程,出现类似【opt】: opt 挂载正常:tmpfs的日志说明 opt 环境已经安装成功。
开启 opt 环境
二、开启 WAN 端 IPv6
在管理后台“外部网络(WAN)”-“IPv6 设置”中设置:
IPv6 连接类型:Native DHCPv6;即原生的 DHCPv6
IPv6 外网设置
获取 IPv6 外网地址:Stateless: RA
DNSv6 外网设置
自动获取 IPv6 DNS:否
DNSv6 服务器 1:2001:250:4800::a
DNSv6 服务器 2:2001:250:4800::b
注:DNS 的设置可能每个学校不太一样,以学校的教程为主,比如我们学校要求 IPv6 的 DNS 设置为:2001:250:4800::a 2001:250:4800::b
IPv6 内网设置
通过 DHCPv6 获取内网 IPv6 地址:启用
启用 LAN 路由器通告:启用
启用 LAN DHCPv6 服务器:Stateless (*)
总的设置如下图:
settings
设置好后点击页面下方的“应用本页面设置”,等待路由器反应过来后就打开“网络地图”-“外部网络状态”,可以看到已经获取到了 IPv6 地址,如图:
network-map
然而这个时候只是路由器能访问 IPv6,路由器下级的设备还不能,因为没有对应的 IPv6 转发协议。网上有很多这样的程序,6relayd 就是其中一个,这里我用 6relayd 来转发 IPv6。
三、安装并运行 6relayd
用 ssh 工具连接到路由器,运行以下命令:
opkg update
opkg install 6relayd
安装好之后再输入以下命令来运行 6relayd
6relayd -d -A eth2.2 br0
这里的 eth2.2 就是 WAN 网口的网卡名,可用 ifconfig 命令来查看,一般不用更改。而 br0 则代表整个内网,一般也不用更改。
运行之后连接到路由器的设备也能获取到 IPv6 地址并访问 IPv6 资源。
电脑
谷歌查看 IPv6 地址
不过呢,一旦重启之后 Opt 环境就重新配置了,6relayd 也就没了。所以每次重启都要重新安装并运行 6relayd,很是麻烦。如果你想每次开机都自动配置 6relayd 的话就看下一步。
四、开机自动安装并配置 6relayd 脚本
下面给出我写的脚本,粘贴到“高级设置”-“自定义设置”-“脚本”-“在路由器启动之后执行”中最后即可实现开机自动安装配置 6relayd。
#开机自动安装运行 6relayd
export PATH='/etc/storage/bin:/tmp/script:/etc/storage/script:/opt/usr/sbin:/opt/usr/bin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'
export LD_LIBRARY_PATH=/lib:/opt/lib
while ! [ -x "`which opkg`" ]
do
logger -t "【6relayd】" "Waitting opt install"
sleep 3
done
while ! [ -x "`which 6relayd`" ]
do
logger -t "【6relayd】" "6relayd not found,begin to install it"
opkg update
opkg install 6relayd
done
logger -t "【6relayd】" "6relayd has been installed"
6relayd -d -A eth2.2 br0
logger -t "【6relayd】" "6relayd start"
然后点击页面下面的“应用本页面设置”即可,这样每次开机的时候会等待 opt 环境,一旦安装好 opt 环境就自动下载 6relayd 并配置运行。
五、解决 6relayd 自动掉线
我看网上有说如果长时间没有 IPv6 的连接,6relayd 会自动停止,这样就要重新运行 6relayd 一次,我想到的解决办法是每隔半小时 ping 一下谷歌的 IPv6 地址。将以下代码添加到“系统管理”-“服务”-“计划任务 (Crontab)”中即可。
*/30 * * * * ping -6 -c 2 ipv6.google.com
六、总结
好啦,以上就是这篇博客的全部内容了,在这里我也希望学校能早日在宿舍区域也开启 IPv6 ,不过到那时我也该走了
可惜了,毕竟 IPv6 短时间内还只是教育专属资源。
老毛子 Padavan 路由器固件开启教育网 IPv6 并实现IPv6转发的更多相关文章
- 新路由3newifi3路由器刷机newifi3breed解锁小白刷机教程路由器刷breed老毛子Padavan固件
路由刷机围观33696次5条评论日期:2018-11-23字体:大中小 此教程只针对新三路由器小白玩家,大神勿喷,非常详细. 先说一下,本人2018年11月22日新入手了个新三路由器,收到货晚上8 ...
- Padavan老毛子固件:17CE插件集成
Padavan老毛子固件:17CE插件集成 1.老毛子路由设置:系统管理-服务-启动SSH服务器 以下链接下载 "winscp" http://down.orsoon.co ...
- 华硕 RT-AC54U路由器固件功能说明
引言 华硕 RT-AC54U这款路由器固件,界面做的非常不错(起码比OpenWrt要好看).功能也比較强悍,可是对于刚入手这个固件的用户可能会对此固件的一些非常好用的功能无从下手,所以这里我就写下了这 ...
- 逆向路由器固件之敏感信息泄露 Part2
之前的文章中详细介绍了各种解包路由器固件的工具.解包之后就获得了固件中的文件.下一步就是分析文件寻找漏洞了.这次分析的目标是Trendnet路由器,分析的漏洞是一个远程获取路由器权限的漏洞. 初步分析 ...
- 如何使用TFTP客户端工具修复路由器固件
如何使用TFTP客户端工具修复路由器固件 编号:12083 来自:NetGear 更新日期:2013-10-14 访问数量:24650 NETGEAR无线路由器中, ...
- 提取路由器固件中的squashfs
之前用binwalk -Me提取固件中的squashfs,但会生成大量的压缩包等,只提取文件系统的话,可以定位squashfs的文件头(hsqs)位置,然后用dd将它分离出来,然后在unsquashf ...
- 逆向路由器固件之SQL注入 Part3
另寻他径 在前面的内容中,我们使用TEW-654TR路由器的tftp服务实现了获取目标的管理权限.但是要是tftp没有开放到外网怎么办?另寻他径:在这一篇中会我们来分析一个web应用上的漏洞. 初步分 ...
- 逆向路由器固件之解包 Part1
这个系列的文章以逆向路由器固件的方式来挖掘路由器中存在的漏洞. 本篇文章主要以介绍解包固件工具为主.文中演示用的固件可以在这里下载.由于针对设备的攻击越来越多,很多厂商把不提供固件下载作为一种安全策略 ...
- OpenWrt 路由器如何让 lan 口主机获得 ipv6 网络访问 -- 知乎
本文转自知乎: OpenWrt 路由器如何让 lan 口主机获得 ipv6 网络访问? - mistforest的回答 - 知乎https://www.zhihu.com/question/29667 ...
随机推荐
- Python数字(Number)
Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间. 以下实例在变量赋值时 Number 对象将被创建:var1 = 1var2 ...
- MySQL SQL审核平台 inception+archer2.0(亲测)
docker run -d --privileged -v `pwd`/archer_data:/data -p 9306:3306 --name archer --hostname archer - ...
- 受限玻尔兹曼机(Restricted Boltzmann Machine, RBM) 简介
受限玻尔兹曼机(Restricted Boltzmann Machine,简称RBM)是由Hinton和Sejnowski于1986年提出的一种生成式随机神经网络(generative stochas ...
- Java --Servlet 32个经典问题
Servlet方面 1.说一说Servlet的生命周期? Servlet有良好的生存期的定义,包括加载和实例化.初始化.处理请求以及服务结束.这个生存期由javax.servlet.Servlet接口 ...
- 分享下自己写的一个微信小程序请求远程数据加载到页面的代码
1 思路整理 就是页面加载完毕的时候 请求远程接口,然后把数据赋值给页面的变量 ,然后列表循环 2 js相关代码 我是改的 onload函数 /** * 生命周期函数--监听页面加载 */ on ...
- boost安装缺少libboost_iostreams.so
编译安装boost库: 1 ./bootstrap.sh 2 ./bjam 3 ./b2 install 但安装boosth后,发现缺少libboost_iostreams.so库,后发现boost库 ...
- leetcode312
class Solution { public int maxCoins(int[] iNums) { int[] nums = new int[iNums.length + 2]; int n = ...
- leetcode394
class Solution { public: string decodeString(string s) { stack<string> chars; stack<int> ...
- for 没有作用域的说话
for i in range(10): passprint(i) 打印的结果就是9 打印的最后一次结果
- django不定义model,直接执行自定义SQL
如果不想定义model,直接执行自定义SQL,可如下操作: 1. 通过 connections获取db连接,如果是多个数据库,connections['dbName'] 来选择 2. 获取游标 cur ...