我有两个程序都在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 (内核级应用程序防火墙)。