前几天架设了一台FTP服务器用于玩家下载客户端,环境是:CENTOS6。 VSFTPD是一个比较流行简单易用的FTP服务器,安装过程很简单。主要问题是需要根据自己的需求修改服务器参数,这一块之前弄过,所以我也很快完成。兴高采烈地(想到玩家可以用客户端)测试时却发现无法用FTP工具或浏览器来访问,只端口访问行。奇怪了之前也是这样弄的呀? 接下来的一天开始了我苦闷的尝试: 换FTP版本,修改各种参数, 安装各种插件,创建了虚拟用户......。 每次都是能正常启动却不能IE访问, 消耗大量精力还是以失败告终。
第二天游戏开新区, 我给它准备好相关环境,包括安装数据库搭环境等。在设置安全策略时,头脑猛地一惊醒:会不会浏览器FTP访问会使用其它端口? 想起我配置文件(vsftpd.conf)里有这样的参数:
pasv_min_port=50000
pasv_max_port=60000
呵呵,问题就是这里了。急忙在IPTABLES放开这个范围的端口,一测试,嘎嘎,成了。
总结: 习惯认为FTP只用到20和 21两端口,所以防火墙也只开放这两端口,在我找原因过程中就压根没想过这里会有问题. 这次用一天的时间买了个教训:任务问题的出现都是有原因滴,呵呵。
vsftpd.conf:
# Standalone mode
listen=YES
max_clients=200
max_per_ip=4
# Access rights
anonymous_enable=YES
local_enable=NO
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
# Security
anon_world_readable_only=YES
connect_from_port_20=YES
hide_ids=YES
pasv_min_port=50000
pasv_max_port=60000
# Features
xferlog_enable=YES
ls_recurse_enable=NO
ascii_download_enable=NO
async_abor_enable=YES
# Performance
one_process_model=YES
idle_session_timeout=120
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
anon_max_rate=50000