Freebsd

FreeBSD nat via PF:如何從隨機 UDP 埠更改為增量埠?

  • September 21, 2009

我正在測試 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選項應該做你想做的事。

使用 nat 規則,靜態埠選項可防止 pf(4) 修改 TCP 和 UDP 數據包上的源埠。

從而給你一個規則。

nat on rl0 from sk0:network to any -> (rl0) static-port

我很好奇你為什麼要這樣做。埠隨機化並不是一件壞事,並且可以在某種程度上保護易受攻擊的協議。例如,去年的 Kaminsky DNS 問題。

只是猜測,但你可以試試

# sysctl net.inet.ip.portrange.randomized=0

引用自:https://serverfault.com/questions/67249