iptables 之 REJECT 与 DROP 对比

前言

在访问国外网站时,F12 看 console,下面两种错误很常见:

(1),Failed to load resource: net::ERR_CONNECTION_REFUSED
(2),Failed to load resource: net::ERR_CONNECTION_TIMEOUT
不考虑网络状况的情况下,一般是不同的 iptables 策略导致的。
本文简单分析不同 iptables 策略下不同的现象。

Netcat 监听端口

Linux 服务器配置防火墙策略时,对一些不希望对外开放的端口,一般会用 iptables 过滤掉。
例如服务器上使用 nc 命令监听如下端口(选择一个未使用的 5568 端口作为对比):

nc -l 4444
nc -l 5555
nc -l 5566
# 未使用的 5568 端口作为参照

然后用 iptables 过滤掉这些端口:

iptables -A INPUT -p tcp -m tcp --dport 4444 -j DROP 
iptables -A INPUT -p tcp -m tcp --dport 5555 -j REJECT --reject-with icmp-port-unreachable
iptables -A INPUT -p tcp -m tcp --dport 5566 -j REJECT --reject-with tcp-reset
# 未被使用的 5568 端口作为参照

nmap 扫描端口

使用 nmap 分别扫描上面的 4 个端口,结果如下所示:

  1. 扫描 4444 端口(DROP),并使用 time 命令查看耗时,time nmap -p4444 127.0.0.1
    端口扫描结果 filtered, 耗时 2.2 秒
    nmap 扫描 4444 端口
  2. 扫描 5555 端口(REJECT unreachable),并使用 time 命令查看耗时,time nmap -p5555 127.0.0.1
    端口扫描结果 filtered, 耗时 0.2 秒
    nmap 扫描 5555 端口
  3. 扫描 5566 端口(REJECT tcp-reset),并使用 time 命令查看耗时,time nmap -p5566 127.0.0.1
    端口扫描结果 closed, 耗时 0.2 秒
    nmap 扫描 5566 端口
  4. 扫描 5568 端口,并使用 time 命令查看耗时,time nmap -p5568 127.0.0.1
    端口扫描结果 closed, 耗时 0.2 秒
    nmap 扫描 5568 端口

Tcpdump 抓包分析

使用下面命令发起 TCP 连接请求(nc 或者 telnet):

nc 127.0.0.1 4444
nc 127.0.0.1 5555
nc 127.0.0.1 5566
nc 127.0.0.1 5568

tcpdump 抓包结果如下:

  1. tcpdump -i lo port 4444
    过滤策略为 DROP,会不断重试发送 SYN 直到超时,占用了带宽资源

  2. tcpdump -i lo port 5555
    过滤策略为 reject with icmp-port-unreachable 的,发两次就停止

  3. tcpdump -i lo port 5566
    过滤策略为 reject with tcp_reset,发出 SYN 包,收到 reset

  4. tcpdump -i lo port 5568
    端口未使用的,发出 SYN 包,收到 reset

结论

-j REJECT –reject-with tcp-reset-j DROP好,干脆利落,节约时间,节约带宽。

版权

本文转自 iptables 之 REJECT 与 DROP 对比 - SegmentFault 思否 稍加排版编辑

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值