![如何通过主机名正确连接到 FTP?](https://linux22.com/image/1557087/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E4%B8%BB%E6%9C%BA%E5%90%8D%E6%AD%A3%E7%A1%AE%E8%BF%9E%E6%8E%A5%E5%88%B0%20FTP%EF%BC%9F.png)
我正在尝试通过应用程序为我的 Galaxy S7 设置自己的同步规则。我无法在 Windows 上设置 SMB 共享(同步文件夹所在的位置),因此我尝试使用 FTP 服务器的其他方法。
我安装了 Filezilla FTP 服务器并正确设置了它。我可以在 PC 上连接到它(通过输入 localhost:port、ip:port 或 hostname:port)。我可以通过 ip:port 从我的手机或同一子网中运行的任何其他机器连接到它。但是我如何通过 hostname:port 正确地连接到它?当我通过主机名定义目标时,同一子网上的任何设备(无论是手机、另一台 PC/笔记本电脑还是路由器本身)都无法“看到”我的机器。甚至无法 ping 它。
我尝试这样做的主要原因是我用笔记本电脑和手机连接到多个 AP(工作、家庭、父母家)。我希望能够在这些地方运行同步,我认为使用主机名方法设置同步规则比使用三个具有不同 IP 范围的规则更容易(因为所有这些地方都使用不同的范围)。
我需要做些特别的事情吗?
答案1
实际上有两种相关的方法可以解决这个问题......
动态 DNS
更简单的选择是使用动态 DNS 服务向公众公开具有 Filezilla FTP 服务器的计算机。
本质上,您需要选择一个动态 DNS 提供商,在您的“文件服务器”上安装更新程序,然后在您的路由器中转发适当范围的 FTP 端口(可能是 Filezilla 正在监听的任何端口,然后是与您服务器下定义的端口匹配的一系列“传输”端口Passive mode settings
)。
这将解决主机名和远程连接问题,但其一个主要缺点是需要互联网连接(即使文件正在“本地”传输)。还请注意,在极少数情况下,缺乏发夹形(NAT 环回)在某些路由器上可能会出现问题。
本地 DNS 服务器
或者,你始终可以选择运行本地 DNS 服务器,例如绑定。这将有效地替代第一个解决方案的“动态 DNS”部分(您仍然需要使用端口转发来使服务器可远程访问)。
优点
允许定义您希望在本地使用的任何主机名,并允许所有设备连接到该主机名。
可以与自定义的、可访问互联网的注册域名一起使用(例如示例.com)。
允许“本地”传输,无需互联网连接。
可能解决任何与发夹环/NAT 环回有关的问题。
缺点
设置更复杂。可能需要定期(小规模)维护(例如更新动态 IP)。
一台计算机必须始终保持“开启”状态(充当 DNS 服务器),否则名称将无法解析。此外,这台计算机还需要使用您的本地互联网连接。
介绍一些额外的小安全注意事项。