用iptables阻止程序

我有两个程序都在Java中。

计划A是由我写的。 如果它想build立一个外部连接,我没关系。

计划B不是由我写的。 如果它想build立一个外部连接,我不会这样做。

我怎样才能configurationiptables允许java A发出连接,但java B被拒绝?

如果iptables不能用于这个,我还有什么其他的select?

如果您以不同的用户身份运行程序,则可以使用owner模块。

 iptables -A OUTPUT -m owner --uid-owner javaauser -j ACCEPT iptables -A OUTPUT -m owner --uid-owner javabuser -j REJECT 

您必须阻止您不希望外部访问使用的程序的端口。 假设它使用端口30000:

  # iptables -A OUTPUT -s 0/0 -d 0/0 -p tcp --dport 30000 -j DROP 

这是一个简单的规则,你可以学习更多这个简单的howto 。 根据您使用的分发版本,您还可以尝试AppArmor (内核级应用程序防火墙)。