500 OOPS: could not bind listening IPv4 socket的分析以及我的解决办法
像其它守护程序一样,vsftpd提供了standalone和inetd(inetd或xinetd)两种运行模式。
简单解释一 下,standalone一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,因此经常应用于对实时反应要求较 高的专业FTP服务器。
inetd恰恰相反,由于只在外部连接发送请求时才调用FTP进程,因此不适合应用在同时连接数量较多的系统。此外,inetd模 式不占用系统资源。除了反应速度和占用资源两方面的影响外,vsftpd还提供了一些额外的高级功能,如inetd模式支持per_IP(单一IP)限 制,而standalone模式则更有利于PAM验证功能的应用。
1.xinetd运行模式
大多数较新的系统采用的是xinetd超级服务守护进程。使用"vi /etc/xinetd.d/vsftpd"看一下它的内容,如下:
disable = no
socket_type = stream
wait = no
# 这表示设备是激活的,它正在使用标准的TCP Sockets。
如果“/etc/vsftpd.conf”中的有选项为“listen=YES”,注销它
最后,重启xinetd,命令如下:
$ /etc/rc.d/init.d/xinetd restart
或者service xinetd restart
需要注意的是,“/etc/xinetd.d”目录中仅能开启一个FTP服务。
2.standalone模式
standalone模式便于实现PAM验证功能。进入这种模式首先要关闭xinetd下的vsftpd,设置
“disable = yes”,或者注销掉“/etc/inetd.conf”中相应的行。然后修改“/etc/vsftpd.conf”中的选项为“listen=YES”
ju
问题解决前:
XM-ITLIFE365.COM:/etc # ftp 192.168.1.8
Connected to 192.168.1.8.
500 OOPS: could not bind listening IPv4 socket
ftp> bye
问题解决后:
XM-ITLIFE365.COM:/etc # ftp 192.168.1.8
Connected to 192.168.1.8.
220 (vsFTPd 2.0.7)
Name (192.168.1.8:root): myftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> bye
221 Goodbye.
#配置修改配置如下:
# mangling on files when in ASCII mode.
# Beware that turning on ascii_download_enable enables malicious remote parties
# to consume your I/O resources, by issuing the command "SIZE /big/file" in
# ASCII mode.
# These ASCII options are split into upload and download because you may wish
# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
# on the client anyway..
#
ascii_upload_enable=YES 去除#
ascii_download_enable=YES 去除#
# Uncomment this to allow local users to log in.
#
local_enable=YES 改为YES
# General Settings
# Uncomment this to enable any form of FTP write command.
write_enable=YES 改为YES
# Anonymus FTP user Settings
#
# Allow anonymous FTP?
#
#anonymous_enable=YES 添加#
# Set listen=YES if you want vsftpd to run standalone
#listen=YES 添加#