当前位置:网站首页 / Linux / 正文

vsftpd被动模式及对应iptables配置方法

时间:2019年03月26日 | 作者 : liuhui | 分类 : Linux | 浏览: 5190次 | 评论 0

阿里云限量代金券 | 此广告位出租25元/月

主动模式设置
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"这样的行就先把它注释了,要不然新加的模块就不会加载。


推荐您阅读更多有关于“”的文章

猜你喜欢

网站分类
关注电脑博士
友情链接

分享:

支付宝

微信