本帖最后由 xiazaibaobao 于 2021-3-31 23:42 编辑
此文可能更合适需要外网ipv6访问内网的小白,因为自己也是小白,所以请各位大神批评指正。设置方法是瞎琢磨的,不能保证具有普适性,但是可能会给同样困惑的朋友一点点提示或者参考。需要看具体设置的,请直接跳过背景介绍(新手赚点回复,所以设置了隐藏,写的比较啰嗦,不好意思哈)。
先说一下家庭网络环境。上海移动宽带(大内网),光猫拨号(现在上海移动新的光猫已经无法简单改桥接,之前旧的光猫也存在桥接网络不稳定现象,据说是移动官方封多拨造成的),华硕AC86U作为主路由器,接威联通NAS实现外网ipv6访问。但是梅林的插件已经力不从心,经常无法正常播放视频。遂打算入手软路由实现上网功能。计划选择双网口机器,接交换机作为主路由使用;而之前没用过openwrt,查了很多资料,发现ipv6可能不太好设置,所以先买一款便宜的好刷系统的r2s试水。
结果不出所料,作为主路由先后刷过骷髅头编译固件、Esir编译固件、soffchen编译固件、QiuSimons GC404编译固件、klever 1988编译固件等等的最新固件,刷好后将网络—DHCP/DNS—高级设置—取消勾选 “禁止解析 IPv6 DNS 记录”和将ipv6防火墙设置为accept,都是无法通过test-ipv6.com的ipv6测试。只有klever 1988大神的12-05minimal版本可以通过ipv6测试(我这里12-12版本就不行),但是根据很多资料的方法设置也无法实现外网ipv6访问NAS,而外网NAS对于我来说是刚需。为此,还专门花了2块注册恩山,结果发现帖子介绍的各类方法都不适用,自己发的求助帖也没人回复,可能是我的路由无法改成桥接模式造成的。
目前华硕路由器通过关闭ipv6防火墙(会影响安全性,建议通过端口映射等方法实现,可惜我没搞定 )和设置passthrough模式是可以外网ipv6访问NAS的(判断标准:威联通的myQNAPcloud软件能够正确获取ipv6地址),所以万般无奈下决定把R2S作为旁路由试试看。R2S固件采用klever 1988大神的12-05minimal版本的openwrt(固件版本下载地址:https://github.com/klever1988/na ... -Minimal-2020-12-13)。
我发现在选择openwrt版本时,必须能够作为主路由,在test-ipv6.com能够测试ipv6通过;其中,测试的DNS解析这一项可以忽略,这是因为没有在openwrt里填写DNS服务器,填写后就能够全部测试通过,但是作为旁路由时不要填写,否则openwrt会崩溃,而且不填写也不影响外网访问。也许光猫桥接后,就可以实现外网ipv6访问了,但我没有这个网络条件无法测试。我猜测之所以test-ipv6能通过而无法外网访问NAS,是因为主路由是光猫下的二级路由造成的。至于如何解决这一问题,我还没找到好办法,也请知道怎么设置的大佬帮忙指导。
更新:R2S作为旁路由已经稳定运行一周 我今天重刷同样的openwrt系统,发现旁路由状态无法上网,通过更新防火墙规则(见具体设置的红字部分)又能够实现相关功能了。再插几句,R2S作为主路由,试了很多固件和设置,对于我的网络和设备而言,骷髅头编译固件和klever 1988编译固件是能够通过简单设置获得ipv6地址的,但是最佳效果也只能保证初始时NAS可以正确获取ipv6 DDNS地址,NAS重启或者过一段时间就再次失效,并且无法重新获取。期待大神们尽快完善openwrt的ipv6机制,也许对于大多数而言,ipv6是鸡肋,但是对于我这样要用ipv6公网的则是必须考虑和解决的问题。
好了,现在开始具体设置。
先单独使用r2s作为主路由,浏览器输入192.168.2.1,用户名root,密码password,进入openwrt系统。
网络——DHCP/DNS——高级设置——禁止解析 IPv6 DNS 记录 取消打勾。
网络——接口——LAN——修改 将“IPV4地址”修改为和以后主路由一致的网段,华硕是192.168.50.1,我将r2s修改为192.168.50.100(最后一位从2开始均可,注意不要和网络内的其他设备地址一样而造成冲突)。“IPV4网关”和“使用自定义的DNS服务器”都修改为主路由的ip地址,即192.168.50.1。DHCP服务器——基本设置——忽略此接口打勾。如下图所示:
网络——接口——LAN——物理设置——取消桥接——其他默认,保存并应用。如下图所示:
这个过程会假死很久,而且无法登录系统。我等了5分钟,直接拔电源。然后将主路由换回AC86U,r2s的LAN口连接AC86U的LAN口。 输入192.168.50.100,重新进入openwrt,防火墙——自定义规则 加入新规则(先试验wifi是否正常,如果不正常,填写这条规则) iptables-t nat -I POSTROUTING -j MASQUERADE 但是这条规则会导致NAS myQNAPcloud的ipv6地址失效。 接下来,删除两条原有规则,目的是恢复NAS的DDNS ipv6地址。 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 点击重启路由器,如下图所示: 如果上述防火墙规则无效,可以尝试加入下面这条规则。 防火墙——自定义规则 iptables -t nat -IPOSTROUTING -o eth1 -j MASQUERADE eth1对应的是网络——接口——LAN——物理设置以太网适配器: "eth1" ( lan),修改为系统中相应的端口号。 这时不需要删除原有两条规则。 点击重启路由器。
旁路由设置完毕,接下来设置主路由。输入192.168.50.1进入AC86U,将DHCP中的默认网关和DNS服务器都设置为旁路由的ip地址,即192.168.50.100。如下图所示:
最后重启主路由和旁路由。现在就可以愉快的在外网访问家中的NAS了。接下来按需自行设置各类软件插件,这里就不介绍了。
附参考资料:
PS:R2S的体制确实很差,同一位开发者的不同固件以及不同TF卡都会导致无法启动。这时就只能换其他固件刷了。
|