OpenWRT固件设置IPv6 网关OpenWrt ipv6 nat内网设备获取ipv6
OpenWRT 路由器作为 IPv6 网关的配置
OpenWRT 是一种嵌入式 Linux 操作系统,广泛应用于家用路由器/网关。本文将介绍几种在清华校园网中,使用 OpenWRT 路由器为接入设备提供 IPv6 服务的配置方法。
IPv6 NAT
虽然 IETF 的设计中,IPv6 不再有 NAT (网络地址转换), 但 Linux 内核从 3.7 版本开始实现了 IPv6 的 NAT。早年也曾有过 NAT66 等非官方项目,但缺乏维护,目前已经不再推荐使用。 OpenWRT IPv6 NAT 配置部分。
较新的OpenWrt已经内置了IPv6支持。对于较老的版本(Backfire 10.03 或 Attitude Adjustment 12.09及之前),还需要安装kmod-IPv6。
kmod开头的内核模块一般无法通过opkg直接安装,其他软件包虽然可以通过opkg install直接安装,但会多占路由器存储空间,推荐在编译固件时就将这些软件包都放入固件
kmod-ipt-nat6提供IPv6 NAT支持,ip6tables kmod-ip6tables kmod-ip6tables-extra等提供IPv6防火墙,luci-proto-ipv6为LuCI提供IPv6设置选项,iputils-traceroute6为IPv6提供traceroute功能(mtr是个不错的支持双栈的traceroute替代品,如果路由器存储空间够大的话)
打开 OpenWRT IPv6 私网地址分配
OpenWRT默认会分配IPv6私网地址,在Network->Interfaces页面底下有个Global network options,IPv6 ULA-Prefix这里应该有一个随机的fd开头的/64地址,LAN客户端应该能自动获得这个地址范围内的IPv6地址,DHCPv6和SLAAC默认都开了
为了让OpenWRT后面的设备始终能够获得IPv6网关,需要在Network->Interfaces->LAN下方的DHCP Server部分的IPv6 Settings部分,勾选Always announce default router。否则,由于默认分配的是私网地址,OpenWRT不会向下游设备公布IPv6默认路由(即网关),可能导致路由器上IPv6连通但下游设备不通的情况。
打开 IPv6 NAT
客户端有了正确的地址以后,需要在路由器上打开IPv6 NAT。OpenWRT默认的防火墙配置不会管IPv6的nat表,可以在/etc/firewall.user里面加上
WAN6=eth0 LAN=br-lan ip6tables -t nat -A POSTROUTING -o $WAN6 -j MASQUERADE ip6tables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT ip6tables -A FORWARD -i $LAN -j ACCEPT
WAN6和LAN分别改成外网IPv6和内网网卡(interface)的名字,注意不是防火墙区域(zone)的名字,也不是LuCI里面Network->Interfaces里面看到的名字,而是ifconfig看到的名字
正确配置网关
在路由器上
ip -6 route
看一下自己的默认网关。如果获得的是
default from 2402:f000:x:xxxx::/64 via fe80::xxxx:xxxx:xxxx:xxxx dev eth0 proto static metric 512
这样坑爹的网关,在转发NAT包的时候会有问题,需要把去掉from 2402:f000:x:xxxx::/64这一部分的以后的默认路由添加到路由表中。可以新建一个/etc/hotplug.d/iface/99-ipv6,它的内容是
#!/bin/sh[ "$ACTION" = ifup ] || exit 0 iface=wan6 [ -z "$iface" -o "$INTERFACE" = "$iface" ] || exit 0 ip -6 route add `ip -6 route show default|sed -e 's/from [^ ]* //'`logger -t IPv6 "Add IPv6 default route."
这里iface是LuCI里面Network->Interfaces里面看到的名字,一般叫wan6。这个脚本的意思是在wan6起来以后读取默认网关,把带from的内容去掉,再加到系统路由表里。记得
chmod +x /etc/hotplug.d/iface/99-ipv6
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包