我正在寻找一种可靠的方法来阻止不必要的TCP/IP通信。
在我的linux机器上,iptables和ipset似乎提供了一种很好的方法。
直到现在我才做过这样的事:
ipset create ipsok hash:net maxelem (result of wc -l for my cidr list in a file)
ipset add <network address>并确保这是唯一使用以下命令的ipset:
service ipset status这只显示有正确数目的条目的ipset ipsok。我还确保在重新启动之后使用ipset。然后我将ipset添加到iptable规则中:
iptables -I INPUT -m set --match-set ipsok src -j ACCEPT为了测试这是否有效,我让TOR为我提供一个ip地址,并使用以下方法检查这个地址:
ipset test ipsok <tor ip address>这告诉我地址不在ipsok集中。
当我将tor浏览器指向我的机器时,连接就建立了。这是正确的吗?我认为连接会失败,因为ip地址在ipset中找不到。
要使iptable(和ipset)阻止来自ipset ipsok中任何网络地址的流量,我需要做什么?
发布于 2015-03-20 19:10:11
Iptables的默认策略是ACCEPT。因此,通过将IP添加到您的列表中,您只需要将它们添加两次。
您的iptables -L应该显示同样多的内容--也就是说,唯一的规则将是接受规则。
将默认值更改为“删除”,然后添加要接受的项。
在您的匹配集规则之前尝试以下操作:iptables -P INPUT DROP
小心--不要远程这么做,否则你很可能会把自己锁在外面。
https://serverfault.com/questions/672877
复制相似问题