Lock Asked: 2013-03-14 17:44:09 +0800 CST2013-03-14 17:44:09 +0800 CST 2013-03-14 17:44:09 +0800 CST 允许出站流量,但不允许入站网络 772 我有网络 A(远程)和网络 B(本地)。 网络 B 需要能够访问网络 A,但任何人都不能访问网络 B。我将如何在路由器中为网络 B 设置 IPTABLES 规则来执行此操作? linux 2 个回答 Voted Andrew B 2013-03-14T19:47:54+08:002013-03-14T19:47:54+08:00 可以使用 执行此操作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系统日志中的消息。 Best Answer SnakeDoc 2013-03-14T18:25:52+08:002013-03-14T18:25:52+08:00 尝试添加入站规则以丢弃子网的流量: # iptables -A INPUT -s 192.168.100.0/24 -j DROP
可以使用 执行此操作
iptables
,但您需要注意连接状态。您必须允许来自网络 A 的回复数据包,但不允许它们启动与网络 B 的新连接。像这样的事情应该做:
请注意,我们在
FORWARD
这里使用的是表格,而不是INPUT
. 这是因为您的机器正在网络之间路由数据包,而您想要捕获未绑定到路由器本身的数据包。如果您只想将这些规则应用于通过这两个接口转发的所有流量,则可以省略-s
and语句。-d
请注意,这依赖于 iptables 的连接跟踪功能(如果您有任何规则,它已经加载),如果您来回发送大量数据包
-t nat
,您可能需要对参数进行一些调整。ip_conntrack
最常见的警告标志是table full, dropping packet
系统日志中的消息。尝试添加入站规则以丢弃子网的流量: