我想用iptables阻止除了80,443,1005以外的每个端口到一个特定的用户(所有者)。
我应该使用什么命令?
你可以使用“所有者”匹配。 例如:
iptables -A OUTPUT -o eth0 -m owner –uid-owner nikesh -j ACCEPT
阅读更多信息: http : //linuxpoison.blogspot.it/2010/11/how-to-limit-network-access-by-user.html#ixzz3UOJ2glqS
无论如何,一个简单的谷歌“iptables比赛所有者”将返回大量的结果。 在发布问题之前请给你自己的研究。
更新要阻止每个端口,您有两个不同的选项。
1.改变连锁政策。 作为一个例子,对于INPUT链:
iptables -P INPUT REJECT
2.将链策略保留为默认(ACCEPT),但创build最后匹配规则以拒绝所有stream量。 例:
iptables -A INPUT -j拒绝
之后,您可以重新启用发出多个ACCEPT规则所需的端口。 例如:
iptables -I INPUT 1 -m owner –dport 80 –uid-owner nikesh -j ACCEPT
iptables -I INPUT 1 -m owner –dport 443 –uid-owner nikesh -j ACCEPT
iptables -I INPUT 1 -m owner –dport 1005 –uid-owner nikesh -j ACCEPT
这些只是例子。 花些时间来规划你的规则集。 最重要的是,请阅读IPTABLES MAN PAGE 。 尝试configuration任何关键服务(作为networking防火墙)而不阅读手册是一个灾难的秘诀。