我们有一个基于Linux的局域网,请看下面的架构图
我们有通过networking交换机连接的服务器和客户端机器,当有来自客户端的任何请求时,我们可以阻止服务器(192.168.12.10)中的请求。 但是,客户端1向客户端2请求我们无法控制的任何TCP / IP请求,并且我们无法在服务器中阻止,是否可能? 如果可能请解决我的问题。 服务器端阻塞我正在使用iptables。
例子 :
Client1尝试使用22端口连接clinet2,现在我想阻止服务器的自身(192.168.12.10)clinet1请求,而不是在客户端,我想pipe理主服务器中的所有客户端请求。
编辑:我想要路由所有stream量通过我的服务器(192.168.12.10)
Client1 – > SSH – >服务器 – > SSH – > Client2
如果客户端也在运行Linux,你也应该可以使用iptables来阻止它们。
例如,如果您希望阻止来自客户端2和3的所有传入TCP IPstream量,则在客户端1上:
iptables -I INPUT -s 192.168.12.2 -j REJECT iptables -I INPUT -s 192.168.12.3 -j REJECT
并在客户端1上,如果您想要阻止所有传出的TCP IP通信到客户端和3:
iptables -I OUTPUT -d 192.168.12.2 -j REJECT iptables -I OUTPUT -d 192.168.12.3 -j REJECT
您不能简单地控制您的问题中提出的设置您的客户之间的stream量。 这是因为客户端不需要通过路由器或防火墙就可以直接对话。 您的客户端连接到相同的子网(假设/24掩码)。
如果你想通过路由器/防火墙控制stream量,你需要改变networking的子网。 每个客户端必须位于其自己的子网/ VLAN中。 所以,当需要与任何其他客户端通话时,需要与其网关(您的服务器)通话。
还有其他不清晰的选项,如ARP欺骗 。
在linux中没有传递过滤解决scheme。 所以你的服务器需要是一个透明的网桥,位于交换机和路由器之间。 否则,你将无法控制客户的互联网接入。
您可以尝试的解决scheme
窗口传递过滤解决scheme。 http://www.imfirewall.us
linux透明桥。 然后你可以使用iptables和tc进行阻塞和带宽整形。