我有这条规则,它正在阻止该组的所有连接:
iptables -I OUTPUT 1 -m owner --gid-owner has-internet -j DROP
但是我想修改它以阻止除此组之外的所有连接。我正在这样做:
iptables -I OUTPUT 1 -m owner ! --gid-owner has-internet -j DROP
但它不起作用。我做错了什么?
答案1
实际上,您需要两条规则。
首先,要制定一个规则来接受来自该组的流量。
iptables -I OUTPUT 1 -m owner --gid-owner has-internet -j ACCEPT
接下来,制定一条阻止所有其他流量的规则。
iptables -I OUTPUT 2 -j DROP
iptables
(注意:如果这些是您的'表中的唯一规则OUTPUT
,则只需使用-A OUTPUT
而不是-I OUTPUT #
,但要按顺序执行。除非您在指定的表中有其他规则,并且尝试在表内除末尾以外的其他位置插入规则,否则不需要使用-I
。)
请注意,这也可能遇到一些其他问题,例如root
,超级用户或其他服务帐户试图联系时出现的问题,并且可能导致系统本身的网络连接出现与 Internet 访问无直接关系的其他问题。