在 FreeBSD 上使用 natd 标志进行重定向

在 FreeBSD 上使用 natd 标志进行重定向

我正在尝试设置一个基本的 NAT 服务器。我希望所有来自外部世界到 NAT 服务器的流量都被重定向到另一台机器,我在那里运行一个 lipcap 服务来解析这些流量。

我尝试在 rc.conf 中的 natd_flags 部分中使用 -redirect_port 和 -redirect_address,但没有任何作用...有什么想法吗?

答案1

用户空间natd需要ipfw启用。IPFW 捕获数据包并将其重定向到natd转换地址。但现在您可以使用嵌入到 ipfw 中的内核 nat。

启用 IPFW 引擎

# /etc/rc.conf
. . . . .
gateway_enable="YES"
firewall_enable="YES"
firewall_nat_enable="YES"
firewall_script="/etc/rc.ipfw"
. . . . .

让我们配置内核重定向:

# /etc/rc.ipfw
. . . . .
oip="1.2.3.4"   # Outer IP looking to the internet
tip="10.0.0.100 # Target host
ipfw nat 1 config redirect_addr ${tip} ${oip}
. . . . . 

就这样。

答案2

PF 防火墙内置有 NAT 和重定向。将其添加到 /etc/rc.conf:

gateway_enable="YES"
pf_enable="YES"

并配置防火墙。在 /etc/pf.conf 中添加以下几行:

ext_if=em0
ext_addr = N.N.N.N  (your external IP)

int_if=em1
int_net=10.0.0.0/8
int_addr=10.0.0.1
libcap_host=10.0.0.2

nat on $ext_if from $int_net to any -> $ext_addr
rdr on $ext_if from any to $ext_addr -> $libcap_host

NAT 规则将按照您的预期执行,通过网关的外部 IP 将您的互联网网络上生成的所有流量发送到世界各地。rdr 规则会将所有传入连接路由到您的目标主机。

相关内容