Centos下搭建vsftpd服务(2)---- 远程用户无法登陆解决方法
方法一:关闭防火墙
[root@localhost init.d]# /etc/rc.d/init.d/iptables stop Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ] [root@localhost init.d]# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ] [root@localhost init.d]#
方法二:选择主动模式,配置iptables
客户连接TCP/21,服务器通过TCP/20连接客户的随机端口。这种情况下,通过状态防火墙可以解决。
iptables中配置vsftp
问题:配置iptables后,能够登录到vsftpd服务器,但ls列目录失败(超时)。
[root@localhost vsftpd]# cat /etc/sysconfig/iptables # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT ------新增 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT ------新增 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT [root@localhost vsftpd]#
state说明:
NEW:该包想要开始一个新的连接(重新连接或连接重定向)
RELATED:该包是属于某个已经建立的连接所建立的新连接。如FTP的数据传输连接和控制连接之间就是RELATED关系。
ESTABLISHED:该包属于某个已经建立的连接。
INVALID:该包不匹配于任何连接,通常这些包被DROP。
方法三:选择被动模式,配置iptables
客户连接TCP/21,客户再通过其他端口连接服务器的随机端口,卡住的原因,是因为服务器在被动模式下没有打开临时端口让client连过来。
iptables中配置vsftp
问题:配置iptables后,能够登录到vsftpd服务器,但ls列目录失败(超时)。
临时打洞的方法:
优点:不影响ftp配置;缺点:客户会感觉到连接有些延迟。原因参见ip_conntract的实现原理
在/etc/modprobe.conf中添加
alias ip_conntrack ip_conntract_ftp ip_nat_ftp
在/etc/rc.local中添加
/sbin/modprobe ip_conntract /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp
限制被动模式连接端口的方法:
优点:对连接速度没有影响。缺点:限制了客户端并发连接的数量。
在/etc/vsftpd/vsftpd.conf中添加以下内容:
pasv_enable=YES pasv_min_port=2222 pasv_max_port=2225
/etc/sysconfig/iptables开放端口段2222:2225,配置如下:
[root@localhost ~]# cat /etc/sysconfig/iptables # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp --dport 2222:2225 -j ACCEPT ---------新增 -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT ---------新增 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT [root@localhost ~]#
相关推荐
85407718 2020-02-13
安得情怀似旧时 2020-06-11
yshlovelx 2020-05-27
wangqd 2020-11-09
liupengqwert 2020-10-28
一叶梧桐 2020-10-14
lzzyok 2020-10-10
88550291 2020-08-21
yang0cs 2020-07-04
MichelinMessi 2020-06-13
fengshantao 2020-06-11
llxxyy0 2020-06-05
houjinkai 2020-06-03
Dukezhao 2020-05-29
dancheng 2020-05-26
songjie 2020-02-14
TMD咯MySQL 2020-05-09
简单的快乐 2020-05-09