Iptables:偽裝和路由

Iptables:偽裝和路由

我有一個 WAN 路由器,它透過 WAN 子網路連結到 isp /30。但它也作為本地公共 WAN 子網路的路由器/29,該子網路連接到我的幾台伺服器。流量/29透過子網路路由到 ISP /30。出於有線原因,我想偽裝(NAT)具有/30ip 的介面。因此,具有 ip 的介面/30應該在我的網路中顯示為偽裝的192.168.1.0/24,並且它也應該充當我的 WAN 公共子網路的普通非 NAT 路由器/29。這可以在 Linux 機器上使用 iptables 來完成嗎?

編輯1: 我的防火牆規則目前如何:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#WAN Security
iptables -A INPUT -d 1.2.3.3 -m state --state INVALID -j DROP
iptables -A INPUT -d 1.2.3.3 -m state --state ESTABLISHED,RELATED -j ACCEPT

#NAT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.2.3.3

#FORWARD
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT


iptables -A INPUT -d 1.2.3.3 -j DROP

答案1

是的,這會很好用。設定資料包過濾和路由,就像根本不使用任何 NAT 時一樣,然後添加如下內容:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.2.3.3

(假設你的ISP連線的是eth0,你的公網IP是1.2.3.3。)

這將僅將 NAT 套用至來自 LAN 且具有專用 IP 位址的封包。

相關內容