短网址服务已推荐

openwrt配置IPv6 NAT6,使后端设备获得ipv6网络

软件及网络 shuodatong 1143℃ 0评论

前提,你的openwrt路由器已经能获取到公网IPV6地址,我用的是电信宽带,通过PPPoE拨号获得IPv4和IPv6地址各一个。之前想尝试过很多办法,都有各种问题,最后还是直接NAT6安心。。。

下面内容全部进行过测试,全新安装后仍成功,按顺序
潘多拉,openwrt,lede原版按照此方法都可以

(红字部分为代码,使用putty登陆openwrt后使用)

1、安装kmod-ipt-nat6

opkg update && opkg install kmod-ipt-nat6

2、将”IPv6 ULA Prefix” 第一个字母 f 改为 d

uci set network.globals.ula_prefix=”$(uci get network.globals.ula_prefix | sed ‘s/^./d/’)”

uci commit network

3、Set the DHCP server to “Always announce default router”

uci set dhcp.lan.ra_default=’1′

uci commit dhcp

4、生成nat6脚本,脚本内容在附件里,别忘了粘贴

touch /etc/init.d/nat6

vi /etc/init.d/nat6

nat6附件:点此下载

5、修改权限,并启用

chmod +x /etc/init.d/nat6

/etc/init.d/nat6 enable

6、伪装已开启,关闭 “Allow-ICMPv6-Forward”

uci set firewall.@rule[“$(uci show firewall | grep ‘Allow-ICMPv6-Forward’ | cut -d'[‘ -f2 | cut -d’]’ -f1)”].enabled=’0′

uci commit firewall

7、修改/etc/sysctl.conf,把文件中相关内容改为以下内容,没有的话就添加,接收广播并开启ipv6转发

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

8、加入转发规则,编辑/etc/firewall.user,或路由器界面防火墙规则里加上

ip6tables -t nat -I POSTROUTING -s $(uci get network.globals.ula_prefix) -j MASQUERADE

9、重启路由器,配置正确的话就可以用了。

除了vi和opkg,其他命令正常是没有返回的。

转载请注明:openwrt配置IPv6 NAT6,使后端设备获得ipv6网络 - https://shuodatong.com/openwrt-ipv6-nat6/

喜欢 (3)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址