![Iptables - 首先检查源还是目标?](https://linux22.com/image/614338/Iptables%20-%20%E9%A6%96%E5%85%88%E6%A3%80%E6%9F%A5%E6%BA%90%E8%BF%98%E6%98%AF%E7%9B%AE%E6%A0%87%EF%BC%9F.png)
因此,我正在运行一个带有 iptables 配置的服务器,并且只检查目的地。配置结构如下。配置顶部有一个要丢弃的 IP 地址列表,然后对特定目标端口进行速率限制,然后接受速率受限的端口。最后我阻止了所有端口。因此,不被接受的端口将被阻止。
现在我需要在配置中的某个地方修复源端口匹配。我想阻止 udp 源端口 X,那么这在哪里呢?
我将其放在配置的末尾,但不确定它是否有效。它会先检查该源端口的目的地并允许它吗?还是只会阻止源端口。
更新:
它看上去是这样的。
# Block Source Port 53 - The commands below slow the SSH down
#-A INPUT -p udp --sport 53 -j DROP
#-A INPUT -p tcp --sport 53 -j DROP
#
# Destinations
#
# Accept PPTPD VPN Ports
// Commands go here
# Accept IP Rules and Port Range
// Commands go here
# Rate-Limit ICMP Ping Requests
// Commands go here - Used with the iptables recent module
# Rate-Limit Game Servers Ports
// Commands go here - Used with the iptables recent module
# Accept the Ports Rate-Limited above
// Commands go here
# Drop All Other TCP & UDP Ports
-A INPUT -p tcp -j DROP
-A INPUT -p udp -j DROP
-A INPUT -j DROP
我尝试在配置末尾阻止源端口 53,但似乎不起作用,可能是因为该源的目标匹配首先出现。现在我将其放在配置的顶部或中间某处,它似乎可以工作,但我的 SSH/SFTP 登录似乎非常延迟,以至于有时在我输入用户名后它甚至会超时,尽管我自己的 IP 在接受的 IP 地址中被接受。我还尝试在 UDP 上阻止源端口 53,因为这是我真正需要的,但它仍然会导致延迟。不确定 UDP 与 ssh/sftp 有什么关系。也许延迟实际上是由源端口检查引起的?
答案1
我阻止了源端口 53,这是导致问题的 DNS 响应。撤消该操作后,问题就解决了。