linux – 如何将FTP请求转发到另一个IP?

前端之家收集整理的这篇文章主要介绍了linux – 如何将FTP请求转发到另一个IP?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个VMware:10.10.10.1,一个位于VMware(访客)的 Linux:10.10.10.128和一个关于Guest的蜜罐:10.10.10.15,以及我的Windows(主机):192.168.1.11.我可以直接从我的主机发送FTP请求到蜜罐,并建立连接.现在我想向访客发送FTP请求,然后将这些请求发送到我的蜜罐.我把这些规则放在了客人的iptables上:
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 10.10.10.15:21
iptables -t nat -A POSTROUTING -p tcp -s 10.10.10.15 --sport 21 -j SNAT --to-source 10.10.10.128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

但我无法得到理想的结果.我能做什么?

注意:当蜜罐运行时,我可以从主机ping它,但我不能从Guest ping它,结果是:

Destination Host Unreachable

我哪里错了?

解决方法

如果要转发FTP请求,则无法转发端口21.
FTP使用2个或更多连接:

端口21上有1个发送命令连接
> FTP服务器确定的可变端口号上的1个或多个连接,用于传输数据

因此,如果您要转发FTP连接,则需要查看服务器配置以检查FTP服务器将用于接受客户端连接的端口范围(假设您的客户端以“被动模式”连接到FTP服务器).
因此,您需要将端口21转发到“被动端口”范围中定义的所有端口.

但这还不够,因为FTP服务器指示FTP客户端在哪个IP上打开数据传输连接,通常这是服务器IP.
FTP服务器不知道您用于转发连接的服务器.

因此,您还应该告诉您的FTP服务器他的“公共IP”不是FTP服务器的IP,而是服务器的IP,它将接受(并转发)来自客户端的FTP连接.

猜你在找的Linux相关文章