有人用 UDP 数据包淹没我们的服务器。我只是设置了 iptable 规则来阻止该 IP。但是,当我运行 iftop 命令时,我可以看到大量流量涌入我的服务器。当我查看 iptables 以查看它阻止了多少流量时;它仅显示该特定 IP 已阻止了几 MB 的数据。它不应该显示大量流量已被阻止吗?
当我使用 tcpdump 分析数据包时,我在 tcpdump 日志中看不到该 IP。当 iftop 显示来自该 IP 的大量入站流量时,为什么 tcpdump 没有该 IP 的任何踪迹?
我已经使用 iptable 规则阻止了 IP:iptables -I INPUT 1 -s XX.XX.XX.XX -j DROP
iftop 显示来自 x.ip-xX-XX.net 的流量。这可能是它不是 IP 的原因吗?我尝试使用 iptables 将此地址放入阻止列表中,但 iptable 将其解析为 IP 地址以阻止它。
问题:
1 -如果 iptables 阻止流量进入我的服务器,为什么 iftop 会显示这么多流量?
2 -为什么如果 iptables 试图阻止它却没有显示任何巨大的阻止流量?
3 - 在 iptables 中阻止 IP 和阻止域地址有什么区别?
更新
tcpdump 确实捕获了流量。攻击发生在 eth1 上时,我正在为 eth0 运行命令。
tcpdump -C 50 -W 3 -p -n -nn -s 0 -i eth1 -w pkts.pcap
答案1
如果 iptables 阻止流量进入我的服务器,为什么 iftop 会显示这么多流量?
因为 pcap 实用程序在应用任何 netfilter(iptables)规则之前从接口捕获数据。
您的规则阻止流量将阻止该流量被转发或由服务器上运行的任何软件处理。Netfilter 无法阻止数据包首先到达您的系统。为此,需要在上游进行某种过滤。
iptables 中阻止 IP 和阻止域名地址有什么区别?
Netfilter(iptables)主要在网络模型的第 3 层运行。它只知道 IP 地址和端口。将规则添加到内核(netfilter)的 iptables 工具将尝试为您解析规则的 DNS,但这是在将规则插入内核时发生的。