本人准备在Linux下配置一个ftp服务,采用vsftpd自然是首选,但是在配置过程中,执行到:
启动vsftpd服务器:
#service vsftpd restart
#service iptables stop
时,提示iptables:unrecognized service的错误。
于是准备着手解决,解决思路很是明了,就是首先确定Linux是否安装了 iptables 。
service iptables status
但是仍然提示:iptables:unrecognized service。准备安装,根据不同的Linux内核选择不同的方法如下:
yum install iptables #CentOS系统
apt-get install iptables #Debian系统
但是提示已经安装,那为什么状态显示是未识别的服务呢?继续找原因。继续研究发现可能是由于没有安装iptables-ipv6,于是采用
sudo apt-get install iptables-ipv6进行安装,但提示Unable to locate package错误得错误。
考虑到软件间的不兼容,无奈先进行更新:sudo apt-get update,更新后重新安装仍然无法解决定位的问题。
于是采用apt-get install iptables*进行所有可能性查找和安装。经过一轮安装后iptables:unrecognized service的问题仍然没有解决。
继续研读相关资料,最终发现问题所在:
在ubuntu中由于不存在 /etc/init.d/iptales文件,所以无法使用service等命令来启动iptables,需要用modprobe命令。
启动iptables
modprobe ip_tables
关闭iptables(关闭命令要比启动复杂)
iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
modprobe -r ip_tables
依次执行以上命令即可关闭iptables,否则在执行modproble -r ip_tables时将会提示
FATAL: Module ip_tables is in use.
上述问题最总得到解决。
另外附上一些好的配置Vsftpd和iptables的博客站点:
1,http://blog.163.com/xyz_1112/blog/static/3869440220080442851960/
2,http://www.cnblogs.com/hhuai/archive/2011/02/12/1952647.html
3,http://www.cnblogs.com/JemBai/archive/2009/02/05/1384413.html
4,http://www.zrblog.net/7027.html