校园网环境下Openwrt配置ipv6教程--以nat6为例

作者:不知道取什么名好

注意:本教程仅适用于教育网环境下,对于家庭宽带IPV6并不适用;使用的nat6 kmod理论上也适用于潘多拉,openwrt,lede原版固件。

背景

去年的时候我在闲鱼上淘了一个j4105处理器的四网口软路由,专门用于用于安装openwrt,提高局域网的网络性能,实现外网访问去广告,UU加速器,transmission下载(不推荐) webdav挂载等多样性的功能。

网络环境

我自己是学生,所以这台大部分的时候是在校园网环境下使用,配合我的黑群晖主机,Xbox等使用。在东大的时候,学校的网络主要是教育网,也就是能够下发2001开头的ipv6网址,在南科这边虽然主要有线网络主要供应商是电信,但是也能够下发教育网ipv6网址。

当初在东大,因为ipv4流量是收费,ipv6流量不计费,在这种规定下,大家会利用有线网络分配的ipv6从六维空间等pt站下载资源实现免流。

广告淘宝,电脑组装配置单及价格,品质好货焕新!×

但是教育网ipv6不同于常见的公网ipv6,在公网中,很多家庭宽带下发的是56位前缀的地址,剩下的部分可以由支持ipv6的下级设备自动分发(DHCPv6-PD地址委派),让内网的所有设备都具有公网ipv6地址

但是教育网很多是下发128位前缀的IPV6地址,如图上,换句话说,这个前缀的子网大小为1,只能够一台设备使用,所以实际只有这个地址只是分配给了我们路由器本身,下级设备是没有的。

在实际使用中,好像很多硬路由在这方面的功能是正常的,能够正常下发ipv6地址,偏偏Openwrt在这方面不太行,导致我不能直接使用ipv6,六维空间免流下载或者6-4隧道实现全部免流就GG了。

解决方法

我在ipv6配置上卡了很久没有迟迟没有实现,主要还是上述的教育网ipv6的特殊性,这里算是踩了大坑了,网上各种家庭宽带的方法来了校园网都没用,。

前段时间看了一下校内同学@ntdgy和恩山无线论坛@伤心的笔的关于这方面配置的教程,结合@嘉哥的脚本解决了这方面的问题,两个方向的实现的基本过程是基本上一致的,都是基于NAT6实现,大同小异。

南方科技大学ipv6设置教程 - 戴郭轶的个人博客 (ntdgy.top)

再说 OpenWRT 校园网 IPv6 NAT6 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz! (right.com.cn)

【转载】 通过openwrt的NAT6转发,使后端设备获得ipv6网络 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz! (right.com.cn)

因为帖子是2021年甚至更早,而且大家使用的openwrt编译版本可能有差别,还有帖子提到的一些比较实际的问题,我对这些打算做一个整合,方便大家使用。

关于Openwrt不同版本,会稍微影响我们的ipv6的设置过程

网络上大致有这么几个获得途径,

恩山无线论坛那边自用或者合作编译的版本。

Esir编译的高大全或者精品小包之类的,也是很常见的。

自己动手编译的原版或者DIY,可能就更熟悉一点。

我大致安装了前两种,然后对比了一下,发现Esir编译的版本和恩山的在ipv6设置上还是存在出入,比如在全局ULA前缀,ipv6默认打开还是关闭。这些问题本来在家庭网络环境中可能是影响不大的,但是在校园网ipv6环境下就可能会造成困扰。

如果可以,在校园网环境下,建议使用自行编译或者恩山那边公开发布的固件,少折腾,记得关掉你的代理工具

实现过程

第一步:让我们的openwrt路由本身能够访问教育网ipv6,后面再实现nat6。

这个步骤和家庭宽带设置ipv6教程差不多,只是没了光猫桥接过程,很多设置有没有不影响的。

当你刷好了路由器的openwrt配置好了wan和lan基本上设置,插上wan口网线,打开接口WAN

高级设置中,如图设置,去掉使用内置的IPV6管理 

广告翼狐网(翼虎网)_设计师在线视频学习网站,海量视频教程×

然后换到WAN6设置,基本设置中,协议是选择DHCPV6客户端,请求ipv6地址设置为force,请求指定长度的ipv6前缀设定为停用

广告电脑怎么配置更合适?看这里,diy配置,直接看评分×

切换到wan6高级设置,去掉使用内置的ipv6管理,选上使用默认网关。

广告中学生计算机基础教程×

然后来到LAN口设置,注意,我们需要将ipv6分配长度设定为64,在默认状态是停用的。

广告【平台网站】图片免费下载 平台网站素材 平台网站模板×

切换到lan口设置,上面的高级设置,去掉使用内置的ipv6管理。

广告网络教育学校报名需要多少钱?×

下面的高级设置,动态DHCP,以及强制,这个是正常配置

广告这种ae小人走路教程如何做出来的?×

再来到lan口下面的ipv6设置,如图,路由通告服务和DHCPv6服务选择选择服务器模式,NDP代理选择停用,DHCPv6模式选择无状态的+有状态的,选上总是总是通告默认路由。

广告如何自己配一台优质的电脑?×

打开防火墙,基本设置和区域中,打开转发。

广告一篇论文的正确格式是什么?×广告学教程找灵感就上优优 ps教程,ai教程,原创免费教程×

DHCP和DNS中,取消勾选,禁止解析ipv6 DNS记录(恩山固件默认是去掉的,esir的不是)

广告刚出狱的小叔子被嫂嫂带去参加宴会,各方大佬吓傻了:狼…狼王!×

测试

经过如上的一番瞎折腾,我们路由器的本身应该能获取到ipv6地址,也能够访问ipv6了。打开看看地址

广告2022炒股黑科技!3大高端利器,选股买卖轻松搞定×广告师傅,我刚在河边救了个女人!她穿的好奇怪,师傅一看当场吓傻×

这里为了方便检测,我们可以打开openwrt的网络工具检查,网络 网络诊断看ipv6是否正常。

广告刚出狱的小叔子被嫂嫂带去参加宴会,各方大佬吓傻了:狼…狼王!×

左边的ping或者中间的traceroute工具都行,点击箭头选择ipv6,让我们ping一下openwrt的服务器

在路由器本身ipv6配置成功的情况下,左边ping工具正常应该返回如下的结果,traceroute正常也会返回一个多级的追踪结果。

广告股票盯盘+操作提示,这个股票软件太可了!可以自动提示买卖点!×

如果路由器本身没问题,可以进入下一步,如果不正常,返回bad address之类,说明你可能需要检查前面的步骤是否正确操作,并且你关闭了代理工具,上级没有其他不支持ipv6的路由器,或者你所处环境没有ipv6,可以通过电脑直接插网线接口,稍等检查有无ipv6地址排查。

第二步,关于内网nat6的配置。

在路由器自身能够访问ipv6后,我们要解决因为地址不足造成内网设置无法访问ipv6的问题。

重点:让我们在网络接口下面的全局网络选项中,为路由器添加一个自定义的内网前缀

比如我使用就是一个fd34开头的前缀,可以自己设定一个,比如:fd34:fe56:7891:2f3a::/64 ,任意。

之所以要强调这点,是因为网络上部分固件中删掉了这个设置选项,比如esir的固件,恩山论坛上有反馈过这一点。

在  网络-接口 界面下方没有全局网络选项,导致我没办法删除ULA前缀,去年初我装的一个老版本的高大全是有的。想问下诸位大佬们,这个可以通过其他方式,比如命令之类的删除ULA前缀吗

相应的解决问题,这里涉及使用ssh登录openwrt后台使用vim,小白的可以参考后面写的。

新版的ESIR,默认没有 ULA,要显示全局网络选项的话,可以修改路由里的这个文件 /etc/config/network文件里添加一行 config globals globals

打开ula设置选项,添加ula后,设置完之后是这样的,

广告梦幻西游网页版,一天全身无级别,宝宝全红满技能!无限洗练!×

本来在家庭网络设置ipv6的教程中,是应该删除掉ula前缀的,这个善意省事之举,在教育网环境下反而成了麻烦的绊脚石。如果你使用lean原版固件编译的,或者恩山那边编译的,就不会存在这个问题。

绕过上面的小插曲后,我们开始安装NAT6插件和脚本。这里主要参考恩山那边的教程,和上面luci图形操作重合的我就跳过了。

请先下载好这里准备的

1.安装ip6tables和nat6 mod

opkg update

opkg install ip6tables

opkg install kmod-ipt-nat6

这里的话,就是安装两个组件,ip6tables现在很多op都有的,nat6 kmod 在luci 应用那边也有

2.创建一个/etc/init.d/nat6文件,修改对应内容

这里记得下载我从恩山@嘉哥那边转载来的一个脚本,文件放在阿里云盘里面,使用之前请使用工具(比如window的记事本),根据你的网络情况修改其中的两个选项。

脚本链接

这里实际上原始脚本本身可以正常获取这两个接口的,但是由于教育网的网关有时候官网变成了fe80开头的,让脚本无法执行,所以我们可以实际进行修改,偷个懒。

第一个是注释下面不远的"WAN6_INTERFACE=eth2",其中的eth2请根据你的wan口对应的设备名修改

广告竟然爆了把毒开天,全区横着走,刀刀带毒,这款传奇爆率真高!×

这里我的wan对应设备是eth2,你根据情况修改即可。

广告刚出狱的小叔子被嫂嫂带去参加宴会,各方大佬吓傻了:狼…狼王!×

同理,第二个修改,是中间出现的一段定义"WAN6_GATEWAY="2001:da8:xxxx:xxxx::1"

这里面对应的是你的ipv6网关,我们可以在前面提到的traceroute工具或者命令行里面,ipv6 追踪一下

广告2022炒股黑科技!3大高端利器,选股买卖轻松搞定×

第一行就是我们ipv6的网关了,按这个修改脚本内容。

实际上我们的ipv6的网关应该是我们上面获取到那个,但是部分校园网,不知道什么原因变成了fe80开头的网关,希望有人能解答一下(当然论坛有人反馈其实直接填这个fe80开头网关也可以正常进行)

修改完文件后,直接保存,我们登录openwrt直接创建一个nat6文件

> /etc/init.d/nat6

用vim工具复制整个内容到我们的脚本中,然后:wq保存。当然你可以直接用winscp或者op的文件传输把修改完的文件复制到op对应目录中。

3.设置权限让nat6脚本开机运行

chmod +x /etc/init.d/nat6

/etc/init.d/nat6 enable

4.修改 /etc/sysctl.conf文件,添加以下内容。

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

保存好。

5.修改防火墙添加以下内容

iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53

iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53

ip6tables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

前面两行,其实很多openwrt都自带的,就不需要再加了

第三行中的eth2请和前面修改wan6_interface一样,修改成你对应的设备名。

修改完后,我们重启路由器,应该内网就能访问ipv6了

我们可以打开test ipv6检测ipv6的连通性,正常是满分的。

广告十位大帝困于天剑山顶,三万年不敢出山,只因山下有一位少年守着×广告梦幻西游网页版,一天全身无级别,宝宝全红满技能!无限洗练!×

如果可以,我们再打开东北大学纯ipv6测速站测速一下,这个网站只有v4是打不开的,测的是纯粹的ipv6速度

使用很方便。

可以看到基本接近v4的带宽上限

接着我们再打开一下常见的PT站,也就是我们这个教程的目的之一,以六维空间pt站为例

六维空间也是纯教育网ipv6站,必须是教育网ipv6环境才能访问。

打开网站,主站可以正常访问

最后

缺点:

好像有时候变成了纯v6访问,速度好像变慢了一点

不知道是这边网络本身问题还是nat6和openwrt的问题,没有我以前时那么连通性好,上传量偏低,没有真正的ipv6直接快 

到此为止,关于教育网下openwrt配置ipv6 nat6的教程就到此为止了。

说实话,我之前没有看到恩山和这边的帖子,被openwrt这个问题卡了很久了,一直都只能使用ipv4站,而没有公网ip的大内网又导致v4基本上没有速度,下载和做种都很困难,现在终于解决了这个问题。

为了防止使用教育网的同学们踩坑,我决定把上面三个教程结合起来,根据我的实际使用简化一下步骤。

如果是家庭宽带遇到类似的问题也可以尝试一下这个nat6的方法,此外,因为路由器本身有ipv6连通性,也可以在openwrt上直接部署transmission以及其他需要ipv6的组件,算是一个曲线救国的方法。

希望大家使用ipv6快乐。

Reference:

南方科技大学ipv6设置教程 - 戴郭轶的个人博客 (ntdgy.top)

【转载】 通过openwrt的NAT6转发,使后端设备获得ipv6网络 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz! (right.com.cn)

再说 OpenWRT 校园网 IPv6 NAT6 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz! (right.com.cn)

【求助】关于ESIR高大全固件的IPV6设置问题 - 软路由,x86系统,openwrt(x86),Router OS 等 - 恩山无线论坛 - Powered by Discuz! (right.com.cn)