Iptables:伪装和路由

Iptables:伪装和路由

我有一个 WAN 路由器,它通过 WAN 子网连接到 ISP 。但它也充当本地公共 WAN 子网/30的路由器,该子网连接到我的几台服务器。来自 ISP 的流量通过子网路由到 ISP 。出于有线原因,我想伪装(NAT)具有IP 的接口。因此,具有 IP 的接口应该显示为我的网络伪装,并且它还应该充当我的 WAN 公共子网的普通非 NAT 路由器。可以在 Linux 机器上使用 iptables 完成此操作吗?/29/29/30/30/30192.168.1.0/24/29

编辑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 应用于来自具有私有 IP 地址的 LAN 的数据包。

相关内容