允许出站流量,但不允许入站到网络

允许出站流量,但不允许入站到网络

我有网络 A(远程)和网络 B(本地)。

网络 B 需要能够访问网络 A,但没有人能够访问网络 B。我该如何在路由器中为网络 B 设置 IPTABLES 规则来实现这一点?

答案1

尝试添加入站规则以丢弃子网的流量:

# iptables -A INPUT -s 192.168.100.0/24 -j DROP

答案2

可以使用 来实现这一点iptables,但您需要注意连接状态。您必须允许来自网络 A 的回复数据包,但不允许它们发起到网络 B 的新连接。

类似这样的事情应该做:

iptables -A FORWARD -i eth_netA -o eth_netB -s 10.1.2.3/24 -d 10.4.5.6/24 -m state --state=established,related -j ACCEPT
# if your default policy is ALLOW:
iptables -A FORWARD -i eth_netA -o eth_netB -s 10.1.2.3/24 -d 10.4.5.6/24 -j DROP
# if your default policy is DROP:
iptables -A FORWARD -i eth_netB -o eth_netA -s 10.4.5.6/24 -d 10.1.2.3/24 -j ACCEPT

请注意,我们在这里使用的是FORWARD表格,而不是INPUT。这是因为您的机器正在网络之间路由数据包,并且您想要捕获未发往路由器本身的数据包。如果您只想将这些规则应用于通过这两个接口转发的所有流量,则可以省略-sand语句。-d

请注意,这依赖于 iptables 的连接跟踪功能(如果你有任何-t nat规则,它已经加载),你可能需要做一些调优ip_conntrack如果您来回发送大量数据包,则参数很重要。最常见的警告信号是系统table full, dropping packet日志中的消息。

相关内容