当前位置: 代码迷 >> 综合 >> 客户端访问异网段FTP服务穿透宿主机
  详细解决方案

客户端访问异网段FTP服务穿透宿主机

热度:25   发布时间:2024-02-04 17:10:05.0

环境介绍:

现有3台机器,
A客户端 (192.168.1.X),需要访问FTP服务(windows)   
B宿主机 (192.168.1.X, 192.168.43.X),提供端口FTP转发
C是B中的虚拟机 (192.168.43.X),NAT网络模式,网段不同。

因为A与B是同一个网段,B与C是同一个网段(B双网卡),所以A不能直接访问C,需要B在中间做端口转发

但是FTP建立连接后数据端口不固定,导致建立连接成功,但无法返回数据,为解决这个问题,需要以下几步:
1.C机器中FTP服务使用被动模式
2.指定IP,并在B中转发所有数据端口。(C这里的FTP服务使用的是VSFTPD)

1.修改配置


需要修改以下内容:
vim /etc/vsftpd/vsftpd.conf

1.通讯端口
listen_port=21

2.打开被动模式
pasv_enable=YES

3.被动模式最小端口
pasv_min_port=19006

4.被动模式最大端口
pasv_max_port=19010

5.被动模式所暴露机器IP(即宿主机IP,也就是这里面的B)
pasv_address=192.168.1.X

6.打开地址控制
pasv_addr_resolve=YES


2.重启VSFTPD服务


systemctl restart vsftpd

3.配置端口转发(B)


上述一共需要在B中将C的21,19006-19010端口转发
21为FTP通信端口,19006-19010为FTP数据端口

Windows端口转发(B->C):
netsh interface portproxy add v4tov listenport=19010 listenaddress=192.168.1.X connectport=19010 connectaddress=192.168.43.X

  相关解决方案