您好,我想阻止所有 Linux 计算机 (Debian Wheezy) 上的一名用户上网、聊天和发送电子邮件。然而,他们使用基于 Linux 的 Rip 站进行大幅面打印机,因此他们需要能够访问本地网络上的所有内容。但是,他们不需要访问本地网络之外的任何内容。
答案1
使用iptables
规则阻止特定用户的出站流量:
这样您甚至可以完全控制通过的 ip 范围(例如,仅允许 LAN 地址块)。仅阻止特定端口可能也很有用。但是...如果您允许 ssh,精明的用户将建立隧道并摆脱防火墙。如果您允许 ssh 到本地计算机,则必须在用户可以访问的所有计算机上设置此防火墙,否则,您只能通过隧道连接到最近的不受限制的计算机并从那里访问网络。
这完全取决于您拥有什么样的用户。如果用户必须能够使用 ssh,而您确实想阻止他,那么您就有问题了。如果它适用于没有 ssh 知识的非技术用户,只需阻止所有出站流量并关闭 ssh 端口即可。
答案2
如果您只是尝试阻止某个节点对 Internet 的出站访问,并且确定它们只需要本地子网上的资源,那么请删除该主机的默认网关路由。
ip route delete <gateway address> dev <interface>