本文参考自同济大学Openwrt路由器 ipv6教程(新手导向) ,作者:木子识时务
1.需要准备的东西
路由器型号:斐讯K2p 固件版本最好是或者V22.10.2.24
如果不是的话,请在路由器的手动升级页面,刷入[V22.8.5.189版本固件]
(https://whf.lanzoui.com/iZSf4hhabch)
需要下载的工具:
1.1 固件:PandoraBox-mt7621-R8.1.12-k2p-squashfs-sysupgrade
1.2 刷Bootloader工具:斐讯路由器刷机、刷入Breed 辅助工具,下载好后解压到任意位置
1.3 下载安装 Xsehll软件。下载后,安装此软件。
1.4 Nat6文件
1.5 下载breedEnter Plus
刷机时一定要有一台带有线网卡的电脑。
2.刷入Breed Web 恢复控制台
2.1 双击运行 刷机.bat 按照提示输入路由的IP和密码,如果是默认的可直接按回车。
2.2 等待路由重启,1分钟左右会用浏览器打开路由页面,如果自动登录成功或者手动升级页面有变化 就说明刷breed成功了。(管理密码:tbvv.net)
2.4 打开breed enter plus软件,点击启动探测,拔掉路由器插头,重新插上,程序会自动打开breed
3. 刷入PandoraBox固件
首先点击固件备份,备份”EEPROM“ 和 ”编程器固件“
然后点”恢复出厂设置“,选择 “Config区(公版)”,点“执行”
点“固件更新”,在固件的右边点”选择文件“,选择1.1下载的路由器固件。闪存布局默认的”公版(0x50000),勾选”自动重启“,然后点击 ”上传“
确认界面中,选择”更新“,之后等待操作完成即可。
下面主要是路由器中Ipv6的设置,至于管理员密码,无线密码、名称之类的怎么设置都很简单,就不再贴图了。
首先,要确保路由器能连上ipv4的外网,为此需要对路由器Wan口进行设置。浏览器中输入192.168.1.1,默认的管理员密码是 admin
登录成功后,点“网络 ->接口 -\> Wan” ,然后选择相应的协议如果是动态IP的话,选DHCP客户端即可,一般默认即是 “DHCP客户端”;如果是在PPPOE,需要将协议切换为“PPPOE”
输入自己宽带的帐户和密码,然后点”保存&应用“即可
确保路由器能上网后,再进行下面的操作
下面的设置需要使用Xshell软件,如果有一定的Linux基础,使用起来会比较方便,如果没有,也没关系,都是比较简单的操作,对着教程操作就好。
SSH登录到路由器:打开Xsehll软件,选择”文件-新建“,在弹出的对话框中的”主机“输入 192.168.1.1,然后点击“确定”。在之后弹出的界面中选择“连接”
之后,会弹出安全警告,选择“接受并保存”即可
然后需要输入用户名和密码,密码与路由器登录密码相同,默认是 admin
以下涉及代码的,均需要在Xshell中输入。
安装kmod-ipt-nat6
opkg update
opkg install kmod-ipt-nat6
运行示例(之后不再给出Xshell界面)
将”IPv6 ULA Prefix” 的前缀由 f 改为 d
uci set network.globals.ula\_prefix="$(uci get network.globals.ula\_prefix | sed 's/^./d/')"
uci commit network
将DHCP服务器设置为“总是广播默认路由”
uci set dhcp.lan.ra_default='1'
uci commit dhcp
生成nat6脚本
touch /etc/init.d/nat6
vi /etc/init.d/nat6
之后,需要用到VI编辑器,这个东西比较复杂,不过我们只需用到比较简单的功能。确保输入命令时都处于英文输入法状态。
首先,按 a 键进入编辑状态
然后,将1.4中的Nat6文件复制,粘贴进去
然后按 Esc 键,再输入 :wq (冒号也要输的),即可保存并退出Vi编辑器状态。
修改权限,并生效
chmod +x /etc/init.d/nat6
/etc/init.d/nat6 enable
禁止防火墙设置:“Allow-ICMPv6-Forward”
uci set firewall.@rule\["$(uci show firewall | grep 'Allow-ICMPv6-Forward' | cut -d'\[' -f2 | cut -d'\]' -f1)"\].enabled='0'
uci commit firewall
修改/etc/sysctl.conf
vi /etc/sysctl.conf
然后按a键进入编辑状态,按键盘上的上,下,左,右四个箭头键进行移动(不要使用鼠标)
把文件中相关内容改为以下内容,没有的话就添加,大概意思为接收广播并开启ipv6转发
net.ipv6.conf.default.forwarding=2
net.ipv6.conf.all.forwarding=2
net.ipv6.conf.default.accept_ra=2
net.ipv6.conf.all.accept_ra=2
修改完成后,按 Esc 键,再输入 :wq (冒号也要输的),即可保存并退出Vi编辑器状态。
加入转发规则,编辑/etc/firewall.user
vi /etc/firewall.user
然后按 a 键进入编辑状态
移动光标到文件未尾,按回车后,添加以下语句
ip6tables -t nat -I POSTROUTING -s $(uci get network.globals.ula_prefix) -j MASQUERADE
修改完成后,按 Esc 键,再输入 :wq ,即可保存并退出Vi编辑器状态。
下面配置Ipv6 hosts,使相关的网站(Google,Wiki,Youtube,Facebook等)走Ipv6通道
安装wget
opkg update && opkg install wget
从网络上下载Ipv6 hosts文件
wget --no-check-certificate https://files.wanghongfeng.cn/uploads/CcWr9Xpy_nat6.txt -O /etc/host_ipv6
回到路由器设置界面,选择”网络 -\> DHCP/DNS -> HOSTS和解析文件”,在额外的HOSTS文件中填入 /etc/host_ipv6 然后点击“保存应用”
设置启动项,实现定时重启,以及自动更新Ipv6 hosts等功能
选择”系统->计划任务”,将以下代码复制进去
0,1,11,21,31,41,51 * * * * /usr/bin/set\_kernel\_timezone >/dev/null 2>&1
*/20 * * * * echo 3 > /proc/sys/vm/drop_caches
30 4 * * * sleep 1m && touch /etc/banner && reboot -f 2>/dev/null ###定时重启
*/30 * * * * ping -c 4 www.baidu.com 2>/dev/null ###Ping_baidu
00 3 * * * wget --no-check-certificate https://raw.githubusercontent.com/lennylxx/ipv6-hosts/master/hosts -O /etc/host_ipv6 2>/dev/null ###更新Ipv6 Hosts
注意,要在最后一行处按回车键,加入空行。
修改Wan6口,点“网络 ->接口 -> Wan6”,将相关设置改为图片中的设置,然后点 “保存&应用”
然后,选择“系统 ->重启“,点”执行重启“,以重新启动路由器。路由器重启后,Ipv4和Ipv6应该就都能正常使用了。