pureftpd的安装很简单,具体怎么安装这里就不说了。之前我的内网环境中已经有一台用pureftpd搭建的ftp服务器,现在的要求是把这个ftp共享给外部使用。外网ftp我使用的是被动传输模式,规划被动模式使用的端口范围50000到50100 。ftp和一般的端口映射有些区别,需要分别映射控制端口和数据端口。
ftp主动模式和被动模式具体可以参考这篇文章:http://www.szl724.com/?p=1874.html
内网的环境大致如下:
把192.168.188.104这台ftp服务器映射给外网,必须经过防火墙和路由器。
先修改pureftpd配置,指定被动传输端口为50000~50100 。
# port range for passive connections replies. - for firewalling.passiveportrange? 50000 50100然后添加iptables防火墙端口转发规则。
iptables -t nat -a prerouting -d 192.168.178.100 -p tcp --dport 18021 -j dnat --to-destination 192.168.188.104:21iptables -t nat -a postrouting -d 192.168.188.104 -p tcp --dport 21 -j snat --to 192.168.188.1iptables -t nat -a prerouting -d 192.168.178.100 -p tcp --dport 50000:50100 -j dnat --to-destination 192.168.188.104iptables -t nat -a postrouting -d 192.168.188.104 -p tcp --dport 50000:50100 -j snat --to 192.168.188.1接着在路由器上添加端口转发。
本来以为这样外网就可以访问这台ftp服务器了,但是我碰到一个奇怪的现象,flashfxp可以访问,而windows的资源管理器不行。
最后我修改了pureftpd的配置,把forcepassiveip这项强制配上内网的公网ip地址,重启ftp后资源管理器就可以访问外网的ftp了。
# force an ip address in pasv/epsv/spsv replies. - for nat.# symbolic host names are also accepted for gateways with dynamic ip# addresses.forcepassiveip? xxx.xxx.xxx.xxx外网被动模式配置完成,但是内网现在只能使用flashfxp客户端的主动模式来连接了。
参考链接:http://grefr.iteye.com/blog/1874865
百度云服务器屏幕不全企业邮箱问题-其他问题真邮箱、假通知 这样的诈骗招数不得不防企业级云服务器租赁价格众安保险CEO姜兴:云计算是保险科技中最为重要的基础设施之一租云端服务器要多少钱daodiangou.com三个月身价翻了近百倍,域名遇上好终端,天作之合!虚拟机和云服务器到底哪个好