仅允许通过 VPN 进行 FTP

仅允许通过 VPN 进行 FTP

我已经浏览了所有可能的线索和答案,但仍然不确定如何实现这一目标。首先,以下情况是否可能?

我的 ubuntu 16.04 服务器已安装并运行 OpenVPN。我可以通过 Windows 客户端连接到此 VPN。服务器还托管一些我需要访问的文件,我想暂时使用 FTP(我知道 SFTP 更好)。我可以使 FTP 端口只能通过我的 VPN 连接访问吗?

因为我不确定,而且同样的问题已经被问了数百次,有人能指出我正确的方向吗?

答案1

您有多种选择。

  1. 将您的 FTP 服务器配置为仅侦听您的 OpenVPN 接口/地址。

  2. 使用 iptables 过滤来自 OpenVPN 接口以外的流量。如果您的默认策略是 DROP 并且您的 OpenVPN 接口名称是tun0接受来自 OpenVPN 接口的所有流量:

    iptables -A INPUT -i tun0 -j ACCEPT
    

    或者接受 OpenVPN 网络的匹配,例如,如果您的 OpenVPN 配置使用 10.8.0.0/24 网络中的地址:

    iptables -A INPUT -s 10.8.0.0/24 -j ACCEPT
    

    如果您想要更具体的规则来限制仅适用于 FTP 的规则,则需要匹配 FTP 端口,并且对于被动 FTP 还可以使用RELATED目标。提供了相当好的解释这个答案关于服务器故障。对于 SSH(和 SFTP)来说,按端口号配置匹配规则更简单,因为它不使用任何其他传入端口。

    当 OUTPUT 链的默认策略是 DROP 时,您还需要有类似的规则来允许传出流量(分别为-A OUTPUT -o tun0 -j ACCEPT-A OUTPUT -d 10.8.0.0/24 -j ACCEPT

相关内容