NAT转发Ftp数据

网络结构如下,仅一台服务器有公网ip,其余均为内部网络

image

需求:需要在内网搭建一台或多台ftp服务器(彼此独立),然后通过公主机端口转发来达到FTP数据传输

服务器介绍:

Server A(公主机),公网ip:123.123.123.123,内网ip:10.10.10.10

Server B (内机),内网ip:10.10.10.13

问题:按《Vsftp服务安装搭建,虚拟用户配置》搭建好后使用帐号连接发现可以连接ftp但却不能获得ftp文件列表

检查:检查公主机的iptables转发规则等,端口是否开启,均无错误,但缺少数据传输端口。

修改:通过查看vsftpd.conf配置文件发现默认数据传输端口为20(默认是不启用20的),直接修改以及nat此参数21020端口号,发现无任何作用。

最后查找配置发现vsftpd还有几个参数,添加后解决问题

pasv_addr_resolve # 允许vsftpd去欺骗客户

pasv_address # 切记,这个是公网IP,是从ftp客户端可以连接的# 允许vsftpd去欺骗客户

ftp_data_port=21020 # 默认的FTP数据连接端口是20,因为这个机器是在内部环境,所以需要修改此端口

具体配置文件如下

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
nopriv_user=vsftpd
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to KINGGOO.COM - FTP service.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
port_promiscuous=yes
pasv_addr_resolve=yes
pasv_address=123.123.123.123
listen=YES
listen_port=21021
ftp_data_port=21020
pasv_enable=YES
pasv_min_port=21022
pasv_max_port=21030
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_config

文章内无iptables抓发参数,如需要请留言

- THE END -
版权声明:
转载原创文章请注明,文章出处:http://kinggoo.com
原文地址:http://kinggoo.com/ftp-nat.htm
发表评论?

0 条评论。

发表评论