在 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 和重定向功能。

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 規則會將所有傳入連線路由到您的目標主機。

相關內容