我正在测试 NAT 渗透代码,需要一个对称 NAT。我已经用 PF 配置了 FreeBSD,非常简单的规则:
# rl0 in WAN on DHCP, sk0 is LAN with computers behind this NAT.
nat on rl0 from sk0:network to any -> (rl0)
这很好用,NAT 对 UDP 数据包是对称的,但不幸的是,对于到不同目的地的每个数据包,传出端口号是随机的。它是一种配置 PF 的方法,所以端口不是随机的,而是一种增量的?例如,发往主机 A 的 UDP 数据包将获得传出 UDP 端口号 50000,发往主机 B 的 UDP 数据包将获得端口号 50001,发往主机 C 的 UDP 数据包为 50002 等等?
该
static-port
选项应该做你想做的事。从而给你一个规则。
我很好奇你为什么要这样做。端口随机化并不是一件坏事,并且可以在某种程度上保护易受攻击的协议。例如,去年的 Kaminsky DNS 问题。
只是猜测,但你可以试试