0%

为安装了Pandorabox的小米路由器Pro配置ipv6

参考来源: Openwrt配置NAT6

假如你家的路由器是Pandorabox(或者其他openwrt,lede)的路由器,并且你家的网络支持ipv6, 那怎样设置路由器来实现网络提速呢?
先来看一下我家网络的提速效果:

speed test

之前家里的网络速度一直徘徊在100M以下,设置了ipv6之后,一直保持在100M左右。

ipv6比ipv4更快吗?

ipv6比ipv4更快吗?

说 IPv6 能提高「网速」通常是指新建的 IPv6 网络通常具有更大的带宽(比如中国正在新建的 CERNET2 骨干网动辄 10Gbps、100Gbps 的连接带宽)、更好的流量控制、更少的 NAT 从而实现更高效的网络拓扑结构(IP 地址资源多从而不需要对数据包进行多次地址翻译和转发)。在这些方面 IPv6 确实是能提高「网速」的。

NAT的工作原理

当内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包的报头,获取该数据包的源IP信息,并从它的NAT映射表中找出与该IP匹配的转换条目,用所选用的内部全局地址(全球唯一的IP地址)来替换内部局部地址,并转发数据包。
当外部网络对内部主机进行应答时,数据包被送到NAT路由器上,路由器接收到目的地址为内部全局地址的数据包后,它将用内部全局地址通过NAT映射表查找出内部局部地址,然后将数据包的目的地址替换成内部局部地址,并将数据包转发到内部主机。
nat工作原理

设置步骤

查看/设置ipv6前缀

在管理界面的网络>接口画面可以看到

默认ipv6的前缀是设置好的,当然也可以自己定义一下。
CbfB6O.md.jpg

设置DHCPv6

在网络>接口-LAN>DHCP服务器中进行如下设置,使连接到网络的设备能自动获取ipv6地址:

  • 路由器通告服务: 服务器模式
  • DHCPv6服务: 服务器模式
  • DHCPv6模式: 无状态的+有状态的

Cbfwp6.md.png

配置防火墙

ssh进你的路由器,执行下列命令

1
ip6tables -t nat -A POSTROUTING -o eth0.2 -j MASQUERADE

等同于在路由器管理界面的防火墙中添加下列NAT规则

CbfDXD.md.png

配置网关

同样利用ssh,查看自己路由器的默认ipv6网关

1
ip -6 route | grep default

得到的结果类似于

1
default from (your ipv6) via (gateway) dev eth0.2 proto static metric 512

(gateway)的部分就是你的默认ipv6网关

执行下列命令设置你的默认ipv6网关

1
route -A inet6 add default gw <your default gw> dev eth0.2

执行下列命令重启防火墙和网络使设置生效

1
2
/etc/init.d/firewall restart
/etc/init.d/network restart

配置开机自动设置ipv6路由默认网关

上述配置在重启路由器后会失效,需要在开机的时候自动设置网关。

在/etc/hotplug.d/iface/目录下新建名字为 90-ipv6 的文件
修改内容为

1
2
3
#!/bin/sh
[ "$ACTION" = ifup ] || exit 0
route -A inet6 add default gw <your default gw> dev eth0.2

给予可执行权限

1
chmod +x 90-ipv6

配置DNS服务器

DNS有可能被污染 手动修改wan6的dns方法是:

  1. 修改wan6-高级设置
  2. 取消勾选对端通告的DNS服务器
  3. 自定义为谷歌的v6dns

Cbf01K.md.png

测试IPv6是否正常

通过 http://test-ipv6.com/

或者 http://ipv6-test.com/

测试IPv6是否正常

Cbfsne.md.jpg