我知道什么是主动 FTP,基本上是我的计算机连接到 FTP 服务器,然后 FTP 服务器连接到我的计算机。
我在防火墙后面,并且没有设置任何端口转发(尽管我的电脑上确实打开了端口)。
但是,设置连接良好!!
我是不是漏掉了什么?当我在防火墙后面时,它如何连接到我的电脑?
答案1
为了允许这种行为,大多数防火墙实现中都有“连接跟踪器”模块,它们的工作方式如下:
- 在传出部分,防火墙读取通过网络传输的数据(在许多情况下对其进行操纵)。这样,防火墙就知道何时即将出现由传出连接“命令”的传入连接。
- 当此传入连接到达时,防火墙会将其转发到发起机器。
在您的案例中,防火墙会读取、解析和操作 FTP 命令通道段中的 IP 和端口PORT
:您的 PC 的内部 IP(由您的 FTP 客户端发送)和端口被防火墙的外部 IP 替换,并且很可能是不同的端口。这对三元组与到期时间一起存储。
当 FTP 服务器重新连接到此 IP 和端口时,将查找该元组,如果未过期,则重新连接到您的 PC 和 FTP 客户端。然后丢弃该元组对,因为它仅有效一次。
虽然这种行为对于 FTP 来说并不是必需的(只需使用被动模式),但对于需要回连功能的其他协议来说,它非常有用。请记住:NAT 是一个相当新的概念,在发明 IP 协议套件时并没有预料到。