在 IPTABLES 中阻止所有流量并仅允许来自定义 IP 的流量

在 IPTABLES 中阻止所有流量并仅允许来自定义 IP 的流量

我想为我的网络创建一个网关防火墙。我想阻止网关上的所有内部流量,并仅允许两台计算机的流量。在网关上

--> eth0 是网关电脑上连接互联网的网卡

--> eth1 是网关 PC 上的网卡,用于连接我的内部网络

我只想接受来自内部网络的两个 IP 的流量并将它们从 eth0 转发到主互联网并阻止所有其余流量。

Allow ip 192.168.10.25 and 192.168.10.14

我的规则如下。

iptables -P INPUT DROP 
iptables -P OUTPUT DROP    
iptables -P FORWARD DROP    
iptables -I INPUT -s 192.168.10.25 -j ACCEPT    
iptables -I INPUT -s 192.168.10.14 -j ACCEPT    
iptables -I OUTPUT -s 192.168.10.25 -j ACCEPT    
iptables -I OUTPUT -s 192.168.10.14 -j ACCEPT

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE    
iptables --append FORWARD --in-interface eth1 -j ACCEPT

echo "1" > /proc/sys/net/ipv4/ip_forward

请任何人都可以纠正我的规则。

答案1

您应该将规则应用于FORWARD链:

iptables -I FORWARD -s 192.168.10.25 -j ACCEPT    
iptables -I FORWARD -s 192.168.10.14 -j ACCEPT

我想你会愿意接受这样的回应:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

相关内容