路由器之ipv6折腾记

最后由 Tabing010102 更新于 2019年9月14日

(我又来厚颜无耻的更新了,这次又拖了不知道多长时间了,可能有一两个月了吧)

其实还是主要起记录作用,我要是不记的话估计明天早上就不知道我怎么整的了,,,

听说最近普及了ipv6来着,正好那一台NAS被我搬回家里了,我就想在我家里整一个ipv6以供直连,地址灵活而且不需要中转,正好避免了frp的xtcp(p2p)模式不稳定和s3中转延迟高丢包高的问题,下面主要记录了折腾的过程。

首先是光猫电信F612,一开始整个网络都没有ipv6,于是就尝试电脑直接连接光猫拨号获取,结果也没有v6,说明整个光猫没有支持,但是光猫后面大大的写着1GBpsIPV6 GPONxxx,说明光猫本身的硬件支持ipv6,那就只能说明是配置的问题。于是电脑直连光猫,然后光猫重启(避免管理界面限制MAC访问),进入管理界面输入默认的超级账户密码,进入设置,然后把网络侧带有INTERNET的设置项模式更改为IPV4/IPV6(原来是IPV4),有部分光猫不支持修改,只能删除重新添加,把各种参数复制下来就好,我这里是桥模式,VLAN ID 2236,总之把原来可以使用的配置复制下来,不然无法拨号上网,忘掉的话就只能找运营商的人来修了。

光猫设置好了之后,电脑直连光猫应该就有ipv6地址而且可以通过ipv6测试。

之后就是路由器侧的了,我家里有两台路由器,网络连接情况如下,其中主路由器和从路由器之间是物理网线直连:

之前R3G用的是OpenWRT来着,但是OpenWRT不支持远程管理,我当时的ipv6配置是NAT66,这就意味着为内网的设备都分配一个ipv6地址就需要额外的设置,此时恰巧看到了这篇文章,完美满足了我对网络的要求,ipv6为Native模式,而且是官方系统,于是R3P和R3G都被刷回官方系统并开启了ssh。然后ipv6原生支持开启的方法就是修改/etc/config/ipv6文件,该文件原本如下:

config ipv6 'settings'
        list if_off 'wan'
        list if_on 'ipv6'
        option enabled '1'

修改之后是这个样子:

config ipv6 'settings'
        list if_on 'wan'
        option enabled '1'
        list if_on 'ipv6'
        option enabled '1'

这样便开启了原生ipv6支持。

之前,从路由器是工作在路由模式下的,拥有独立地址192.168.28.1,并有主路由器分配的192.168.31.95,于是从从路由器接出去的网络便有了ipv6无法访问的问题,之前想着用6relayd(虽然我也不知道他是干什么的),结果6relayd也不稳定,估计不是NDP的问题,最后放弃,从路由器便被设置成了路由模式,不做DHCP服务,不过在装6relayd的时候发现了这篇文章,顺便就把opkg装上了,过程如下:

cd /data #/data目录没有限制
mkdir root
mkdir opt
#挂载
mount --bind /data/root /root
mount --bind /data/opt /opt
#下载脚本&安装
#小米路由器3G和Pro都是mipsel架构
wget http://pkg.entware.net/binaries/mipsel/installer/installer.sh && chmod +x installer.sh  && ./installer.sh
#修改/etc/profile,在PATH后面增加/opt/bin:/opt/sbin
vi /etc/profile
#修改如下图(懒了,直接搬图了)
source /etc/profile #刷新环境变量

之后就可以进行opkg的操作了。

最麻烦的就是ipv6外网暴露了,路由器默认阻止外部网络访问内部ipv6设备,所以需要使用防火墙放开限制,一开始用的是这套指令:

ip6tables -F
ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD ACCEPT

这样相当于暴露了全部内网设备,降低安全性,而且各种开机自动执行这个命令的方法都失败了,最后在一次偶然重启防火墙(指令:/etc/init.d/firewall restart)中发现防火墙启动时会运行/etc/firewall.user中的脚本,而这个文件一开始是不存在的,于是新建一个文件,再次重启发现其中的指令确实被稳定的执行了。之后开始研究ip6tables,经过查阅,小米路由器的默认分配方式对于单个设备ipv6地址,后4段是不变的,于是就可以通过ipv6地址进行过滤,指令为:ip6tables [-A/-I] [TYPE] -d ::xxxx:xxxx:xxxx:xxxx/::ffff:ffff:ffff:ffff -j ACCEPT,总结起来,最终防火墙侧的配置就是新建了/etc/firewall.user文件,加上可执行权限,其中的内容为:

ip6tables -I INPUT -d ::f0a3:xxxx:xxxx:1c16/::ffff:ffff:ffff:ffff -j ACCEPT
ip6tables -I FORWARD -d ::f0a3:xxxx:xxxx:1c16/::ffff:ffff:ffff:ffff -j ACCEPT
ip6tables -I INPUT -d ::cd95:xxxx:xxxx:2910/::ffff:ffff:ffff:ffff -j ACCEPT
ip6tables -I FORWARD -d ::cd95:xxxx:xxxx:2910/::ffff:ffff:ffff:ffff -j ACCEPT

这样就完成了这两台主机的外网访问支持,至此,ipv6支持终于被完整的弄完了,累死我辽

其实还是我太菜了,我要是NB了,就。。。

Views: 169

发布者:Tabing010102

???

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据