vsftpd被动模式及对应iptables配置

主动模式设置
Port_enable=YES               开启主动模式
Connect_from_port_20=YES      当主动模式开启的时候 是否启用默认的20端口监听
Ftp_date_port=%portnumber%    上一选项使用NO参数是 指定数据传输端口

主动模式iptables设置如下:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --sport 20 -j ACCEPT

 

主动模式下vsftpd.conf配置参考:

listen=YES
listen_port=21
port_enable=YES
connect_from_port_20=YES
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=web
anon_world_readable_only=NO
max_clients=1000
max_per_ip=100
idle_session_timeout=600
data_connection_timeout=1200
accept_timeout=600
connect_timeout=600
pam_service_name=ftp.vsftpd
chroot_local_user=YES
user_config_dir=/etc/vsftpd/virtual/
local_umask=011

 

被动模式
PASV_enable=YES   开启被动模式
PASV_min_port=%number% 被动模式最低端口
PASV_max_port=%number% 被动模式最高端口

被动模式的iptables设置如下:

1、编辑/etc/sysconfig/iptables-config文件,添加以下两行:

IPTABLES_MODULES="ip_conntrack_ftp"
IPTABLES_MODULES="ip_nat_ftp"

请一定注意两行内容的位置关系不要搞反了。如果将"ip_nat_ftp"放到前面是加载不到的。如果你的ftp服务是过路由或者防火墙(即内网映射方式一定需要此模块)。以上等同于在加载iptables之前运行modprobe命令加载"ip_nat_ftp"和"ip_conntrack_ftp"模块。

2、编辑iptables文件添加如下两行:

[root@xmydlinux ~]# grep 21 /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --sport 21 -j ACCEPT

3、检查iptables文件是否存在以下行(默认是有的),如没有则添加;

-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

4、重启iptables服务

[root@xmydlinux ~]# service iptables restart
清除防火墙规则: [ 确定 ]
把 chains 设置为 ACCEPT 策略:filter [ 确定 ]
正在卸载 Iiptables 模块: [ 确定 ]
应用 iptables 防火墙规则: [ 确定 ]
载入额外 iptables 模块:ip_nat_ftp [ 确定 ]

可以使用以下命令查看模块是否加载成功

[root@xmydlinux ~]# lsmod |grep ftp
ip_nat_ftp 8881 0
iptable_nat 27237 1 ip_nat_ftp
ip_conntrack_ftp 76273 1 ip_nat_ftp
ip_conntrack 45957 4 ip_nat_ftp,iptable_nat,ip_conntrack_ftp,ipt_state

以上说明模块加载成功。。

被动模式下vsftpd.conf的配置参考:

listen=YES
listen_port=21
pasv_enable=YES
pasv_min_port=5000
pasv_max_port=6000
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=web
anon_world_readable_only=NO
max_clients=1000
max_per_ip=100
idle_session_timeout=3600
data_connection_timeout=7200
accept_timeout=600
connect_timeout=600
pam_service_name=ftp.vsftpd
chroot_local_user=YES
user_config_dir=/etc/vsftpd/virtual/
local_umask=011

注意:在配置文件vsftpd.conf里参数的后面不能有空格,要不然会提示无法识别的参数。如果在配置文件里有IPTABLES_MODULES="ip_conntrack_netbios_ns"这样的行就先把它注释了,要不然新加的模块就不会加载。


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值