iptables之tcp重置
在iptables中,我们一般封闭端口都是使用DROP参数,这样client端是不知道服务器已经DROP掉对应请求了,会继续进行等待,直到超时。
而像nc这种软件会根据这个其实是可以检测到服务器是否开启了这些端口。
但是我发现使用firewalld封闭后,用nc测试直接显示refused的
1 | $ nc 202.96.209.5 29327 -v |
而用iptables的话必须得是
1 | # iptables -A INPUT -p tcp -m tcp --dport 29327 -j REJECT --reject-with tcp-reset |
这个man里也意思很明确
tcp-reset can be used on rules which only match the TCP protocol: this causes a TCP RST packet to be sent back. This is mainly useful for blocking ident (113/tcp) probes which frequently occur when sending mail to broken mail hosts (which won’t accept your mail otherwise).
不过在iptables限制扫描的标准做法应该是如下:
1 | sudo iptables -N block-scan |