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地址。

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章很值,打赏犒劳作者一下