我如何使用iptable规则来防止像Hping和nmap这样的端口扫描?

我想添加一些规则到我的iptables,以防止端口扫描,我该怎么做?
我find了一些解决scheme,但效率不高。

端口装jar解决scheme

最好的办法是在iptables中有一个默认的删除策略,然后只允许需要什么。 就像是:

 #默认丢弃所有的报文
 iptables -P INPUT DROP
 #允许预先存在的连接
 iptables -A INPUT -m状态 - 状态ESTABLISHED,RELATED -j ACCEPT
 #允许来自192.0.2.0/24的SSH
 iptables -A INPUT -p tcp -s 192.0.2.0/24 --destination-port 22 -i eth0 -j ACCEPT
 #允许所有的HTTP
 iptables -A INPUT -p tcp --destination-port 80 -i eth0 -j ACCEPT

它不会阻止人们进行端口扫描,但是这意味着他们只能看到端口80打开。

对于nmap端口扫描 ,您可以检查以下答案: iptables提示与技巧

我不熟悉Hping,但是如果Hping使用NULLflags,我上面链接的答案也应该可以工作。