我原来的问题:FTP 客户端/服务器切换到 PASV 模式失败
基于此,我想知道是否/如何可以从使用 Dual-Stack Lite 的 ISP 网络内部的计算机打开 FTP 连接到只能通过 IPv4 访问的 FTP 服务器。
显然,被动 FTP 不起作用,但是主动 FTP 可以起作用吗(如果我在所有者的路由器上添加了端口转发)?
答案1
Dual-Stack Lite 是一种 NAT 解决方案。主动模式要求客户端可直接访问服务器(例如,中间没有地址转换),因此如果客户端位于任何类型的 NAT 后面,则它将不起作用。被动模式要求客户端可直接访问服务器,因此如果服务器位于 NAT 后面,则它将不起作用。
更糟糕的是,如果双方都处于 NAT 之后,FTP 将根本无法工作,除非这些 NAT 解决方案包含重写 FTP 流量的帮助程序。一种解决方法是使用不使用任何动态端口的协议(如 ssh/scp/sftp),或者在本地和 FTP 服务器网络之间建立 VPN,以便它们可以在没有 NAT 的情况下相互访问。
如果您可以限制客户端(主动模式)或服务器(被动模式)使用的已分配端口范围,并为整个范围建立端口转发,则简单端口转发可能会起作用。此外,客户端(主动模式)或服务器(被动模式)不得在 PORT 命令或对 PASV 的响应中发送自己的 IP 地址,而应发送对方可见的公共 IP 地址。是否可以在客户端/服务器端配置所有这些以及如何配置它们取决于特定的客户端/服务器。
答案2
有一种解决方案,即使使用双栈精简版,也可以使用 raspberry pi 和德国服务 feste-ip.net 连接到家庭网络。请阅读(德语)我的网页上的博客条目如果你想学习如何去做。
答案3
假设您的意思是服务器位于公共 IPv4 互联网上,而客户端位于 DS-Lite 后面。
被动模式可以正常工作。客户端可以连接到服务器上的任意端口。
仅当 AFTR 中的 NAT 了解 FTP 并为其做出特殊规定时,主动模式才会起作用。
从概念上讲,这与传统的 NAT44 并无二致。然而实际上 DS-Lite 非常新,而 NAT44 已经存在多年。因此,找到一个能够理解和转换主动 FTP 的 AFTR 实现可能比找到一个能够理解和转换主动 FTP 的 NAT44 实现更难。