![限制连接双方的 FTPS 端口的方法?](https://linux22.com/image/586553/%E9%99%90%E5%88%B6%E8%BF%9E%E6%8E%A5%E5%8F%8C%E6%96%B9%E7%9A%84%20FTPS%20%E7%AB%AF%E5%8F%A3%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%9F.png)
有没有办法可以限制连接的服务器端和客户端的 FTPS 端口?
我已经读过了这个答案并且我已将 vsftpd 设置为将服务器端的被动端口使用限制在一个狭窄的范围内。我已经验证了此限制确实有效——对于服务器而言。但是,如果客户端本身位于防火墙后面,并且仔细限制了该端的访问,则连接会失败。使用 tcpdump 检查,似乎客户端的任意高端口都被使用了。
SFTP 不是一个选项。(相信我,我希望它是一个选项。)
答案1
理论上是的,但我不知道有任何 FTP 客户端软件允许您指定源端口,老实说,如果您开始在客户端设备上弄乱源端口,它可能会导致比解决的问题更多的问题。实际上只有目标端口会进行调整,我从未见过防火墙根据源端口锁定内部或外部端口,它始终是目标
不要过多地调整源端口的另一个原因是,当它到达源客户端路由器/防火墙时,它很可能会发生改变。大多数办公室/家庭只有 1 个外部 IP,因此为了跟踪连接,防火墙会动态更改内部 IP 和源端口,这通常称为端口地址转换 (PAT),因此,即使您确实在客户端上指定了源端口,也不能保证它在到达服务器时会保持不变。
答案2
但是,如果客户端本身位于防火墙后面,并且严格限制该端的访问,则连接会失败。
客户(或其 IT 部门)必须在防火墙上允许这些端口。除了告诉他们哪些端口需要向外开放外,您实际上做不了什么。
客户端上的那些高端口可能只是尝试建立连接的主机上的临时端口,而出站目标端口(您在服务器端配置的端口)很可能在其防火墙上被阻止用于出站使用。