我希望在特定用户user
通过 ssh 进入我的服务器(运行 RHEL 7.4)后阻止所有传出连接,也就是说,他们user
不能通过 ssh 进入/ping 网络上的其他服务器。
我最初配置了以下firewall-cmd
规则,并且它正在发挥作用。
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 -m owner --uid-owner user -j DROP
但是,user
现在需要访问也在同一台服务器上运行的 Jupyter Notebook(http://localhost:8888
),但无法访问。websocket 出现错误。删除上述防火墙规则后,user
即可访问 Notebook。
我不确定为什么user
无法访问localhost
,因为我认为该规则仅阻止传出连接。
我如何允许user
访问localhost
任何端口或特定端口范围,同时仍然阻止访问其他地方的网络访问?
答案1
正如 djdomi 提到的,您希望在已有的 DROP 规则之前添加一个例外。这可能有效
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 -m owner --uid-owner user --dport=8888 -j ACCEPT
将其放在您已有的规则之前。
巴西雷亚尔