RouterOS配置IPv6 NAT66
IPv6的NAT设置与IPv4流程完全相同,配置内网IP地址到LAN接口,配置公网IP地址到WAN接口,然后设置默认路由,最后配置NAT规则,完成内网IP地址到公网IP地址的NAT转换,只是部分细节需要考虑,
基本IP和路由设置
首先在LAN网络接口上配置邻居发现ND,例如你的LAN网络接口是bridge,设置如下:
/ipv6 nd set [ find default=yes ] interface=bridge
由于设置的是IPv6 NAT网络,因此需要在内网配置一个IPv6的私网IP地址,相当于 IPv4 私网。IPv6 ULA(Unique Local Address)前缀用于在局域网内使用,不会被路由到全球互联网。ULA拥有固定前缀FC00::/7,分为两块:FC00::/8与FD00::/8。例如:fd00:1234:5678:9abc::/64
在bridge接口中添加 IPv6 ULA,作为内网IP地址段。
/ipv6 address add address=fd00:1234:5678:9abc::/64 advertise=yes interface=bridge
配置WAN接口IP地址,这里WAN接口是ether1
/ipv6 address add address=2001:1234::1/64 interface=ether1
根据 IPv6 公网连接的来源,选择正确的网关,WAN口是ether1,添加默认路由。
/ipv6 route add dst-address=::/0 gateway=ether1
启用 NAT66
这个配置和IPv4的nat策略类似,定义互联网出口out-interface=ether1,或者out-interface-list=WAN取决于互联网分配的IPv6 地址接口。
添加 NAT 条目。
如果是动态 IPv6 地址,可以选择masquerade伪装策略。
/ipv6 firewall nat add action=masquerade chain=srcnat out-interface=ether1
如果是静态 IPv6 地址,需要指定NAT出口IPv6地址,可以选择src-nat策略,RouterOS就不会一直检查 IPv6 地址是否已更改,使用to-address设置互联网的 IPv6 地址。2001:1234::1/128
/ipv6 firewall nat add action=src-nat chain=srcnat out-interface=ether1 to-address=2001:1234::1/128
允许 IPv6 防火墙接受NAT端口转发的数据包。(可选设置)
/ipv6 firewall filter set [find action=drop chain=forward in-interface-list="!LAN"] comment="defconf: drop everything else not coming from LAN not DSTNATed" connection-nat-state=!dstnat
IPv6优先级问题
IPv6 ULA前缀比IPv4优先级低,因此需要在操作系统调整配置,如果你使用非ULA前缀,此设置仅供参考
Windows可以使用命令netsh interface ipv6 show prefixpolicies
C:\Windows\system32>netsh interface ipv6 show prefixpolicies 查询活动状态... 优先顺序 标签 前缀 ---------- ----- -------------------------------- 50 0 ::1/128 40 1 ::/0 35 4 ::ffff:0:0/96 30 2 2002::/16 5 5 2001::/32 3 13 fc00::/7 1 11 fec0::/10 1 12 3ffe::/16 1 3 ::/96
Win + R 进入运行对话框,输入 cmd,注意需要以管理员身份运行,执行调整命令,可以通过命令调整IPv4的优先级(::ffff:0:0/96),优先顺序数字越大,优先级越高
C:\Windows\system32>netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 100 4
设置IPV6 ULA地址优先级高,可以如下修改
C:\Windows\system32>netsh interface ipv6 set prefixpolicy fc00::/7 100 13
尝试 ping IPv6 服务器或使用test-ipv6.com测试。例如直接ping test-ipv6.com会优先返回IPv6地址。