吴小剑的World

一个野生程序猿的小站

在LEDE(OpenWrt、PandoraBox)上配置原生IPv6 NAT

2018.5.4 | 419阅读 | 0条评论 | 分享

在LEDE(OpenWrt、PandoraBox)上配置原生IPv6 NAT

参考链接:在OpenWrt上配置原生IPv6 NAT

我的网络环境

  • 网络:教育网原生双栈,IPv6地址自动获取
  • 路由器:斐讯 K1 (PSG1208)
  • 固件版本:lede-17.01.4-ramips-mt7620-psg1208-squashfs-sysupgrade
  • 内核版本:4.4.92

 

准备工作

配置好路由使其能够连接网络,WAN口能够获取全球单播IPv6地址,在我的环境下WAN口是可以自动获取到IPv6地址的,因此如果你的环境不能自动获取到IPv6地址,请谷歌一下解决办法。

(目前推荐LEDE固件,OpenWrt、PandoraBox貌似已经停止维护,至于如何给路由器刷固件不在本文讨论范围之内)

 

详细步骤

1.安装ip6tables和kmod-ipt-nat6。(安装方法自行谷歌,可以离线安装或者在线安装,本文为在线安装)

  • opkg update
  • opkg install ip6tables
  • opkg install kmod-ipt-nat6

 

2. 在路由器WEB配置清空,网络-接口界面中IPv6 ULA 前缀;利用WinSCP软件SSH连接登陆路由器,更改/etc/config/network文件内容,在config interface ‘lan’下添加一行:

  • option ip6addr ‘fc00:100:100:1::1/64’

 

3. 更改/etc/config/dhcp文件,将config dhcp ‘lan’那一栏改为以下内容:

  • config dhcp ‘lan’
  • option interface ‘lan’
  • option start ‘100’
  • option limit ‘150’
  • option leasetime ’12h’
  • option dhcpv6 ‘server’
  • option ra ‘server’
  • option ra_management ‘1’
  • option ra_default ‘1’

 

4. 更改/etc/firewall.user,假设WAN对应的接口为eth0.2,则添加以下内容:

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

 

5. 重启路由,看看电脑是否能够ping通IPv6地址,如果不能,再进行以下补充步骤。

 

6. 将网线直接连电脑上,待能够正常上网后,运行CMD,输入以下命令:

  • tracert ipv6.google.com (或者tracert neu6.edu.cn)

 

7. tracert结果的第一跳就是你目前的网关,记下后面的IPv6地址,假设是2001:1234:1234:1234::1

 

8. SSH连接路由器,输入以下命令:

  • route -A inet6 add default gw 2001:1234:1234:1234::1 (记得改成自己的网关)

为路由器添加默认网关。这一步非常重要,不进行的话是上不了IPv6的

 

以上步骤如果没有问题的话,连接到路由器的计算机应该可以访问IPv6网站了。

 

重启之后,需要重新添加网关,如果要做到路由器开机自动添加该网关,可以在/etc/hotplug.d/iface/下新建一个文件90-ipv6,给予可执行权限,内容为(注意替换为自己的网关地址)

#!/bin/sh

[ “$ACTION” = ifup ] || exit 0

route -A inet6 add default gw 2001:1234:1234:1234::1

暂无评论

发表评论