Iptables开放FTP(主/被)模式端口

FTP是File Transfer Protocol(文件传输协议),它有两种工作模式,分别是主动模式(post)和被动模式(passive)

PORT主动模式

FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据。

PASV被动模式

FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输。

  1. 工作在主动模式下
[[email protected] mnt]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
[[email protected] mnt]# iptables -I OUTPUT -p tcp --sport 22 -j ACCEPT
[[email protected] mnt]# iptables -P OUTPUT DROP
[[email protected] ~]# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
[[email protected] ~]# iptables -I OUTPUT -p tcp --sport 20:21 -j ACCEPT
[[email protected] ftp]# netstat -anpt | grep vsftp
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      1895/vsftpd
tcp        0      0 192.168.60.20:21            192.168.60.10:13153         ESTABLISHED 2066/vsftpd

2. 工作在被动模式下

[[email protected] ftp]# vi /etc/vsftpd/vsftpd.conf
pasv_enable=yes         //开放FTP PASV模式;
pasv_min_port=24500    //开放数据连接端口号24500—24600之间;
pasv_max_port=24600
[[email protected] ftp]# service vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]
[[email protected] ftp]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ssh
[[email protected] ftp]# iptables -I INPUT -p tcp --dport 20:21 -j ACCEPT
[[email protected] ftp]# iptables -I INPUT -p tcp --dport 24500:24600 -j ACCEPT
[[email protected] ftp]# iptables -I OUTPUT -p tcp --sport 21 -j ACCEPT
[[email protected] ftp]# iptables -I OUTPUT -p tcp --sport 24500:24600 -j ACCEPT
[[email protected] ftp]# netstat -anpt | grep vsftp
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      2543/vsftpd
tcp        0      0 192.168.60.20:24537         0.0.0.0:*                   LISTEN      2618/vsftpd
tcp        0  23400 192.168.60.20:24537         192.168.60.10:13417         ESTABLISHED 2620/vsftpd
tcp        0      0 192.168.60.20:21            192.168.60.10:13415         ESTABLISHED 2618/vsftpd

注意:FTP的工作模式是基于客户端而定,网上有很多这种更改模式的客户端软件(我这里使用的是CuteFtp)

时间: 2024-08-10 23:19:04

Iptables开放FTP(主/被)模式端口的相关文章

CentOS7和rhel7配置主备模式端口聚合实现冗余目的

一.实施步骤 1.备份网卡目录# cp -r /etc/sysconfig/network-scripts/    /etc/sysconfig/network-scripts.bak 2.查看需要聚合的端口是否为“UP”状态:ethtool eth0 |grep "Link detected: yes" 2.创建脚本文件 3.chmox +x test.sh 4.运行脚本文件 ./test.sh 5.由于NetWorkManager服务和network服务两者有冲突,需关闭NetWo

iptables开放FTP端口

FTP是File Transfer Protocol(文件传输协议),它有两种工作模式,分别是主动模式(post)和被动模式(passive) 主动模式:默认TCP的21端口用来建立连接(控制连接),20端口用来数据传输 被动模式:默认TCP的21端口和主动模式一样用来控制连接,而数据连接则是通过大于1023的端口进行 如果FTP工作在主动模式下只要开放20,21端口即可,但如果工作在被动模式下则不能指定数据传输的端口,则要用到iptables中stata(状态追踪) state中有四种状态:N

Ubuntu下iptables开放ftp端口的一个坑:227 Entering Passive Mode

事情是这样的,我搭的VSFTP服务器在一次重启后竟然外界连不上了,进去系统查看发现服务在正常运行着:内部也可登上排查发现是防火墙iptables的坑. 原来这个iptables规则是临时的,需要写入并save,不然重启后规则就清空了,造成外界无法登陆. 先说解决办法: iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT iptables -A OUTPUT -p

iptables和FTP的pasv模式

Linux里面自带的防火墙iptables一般就是端口开启,对于FTP协议里的PASV(被动)模式,有2次连接,这第二次连接似乎和第一次的21端口没啥关联,21端口连接的是通信控制,第二次连接的才是数据通信,比如说,login进去后,无法看见列表就是这个原因.这第二次连接的端口是动态的,无法配置iptables.如果使用FTP服务软件的配置,强制固定数据端口,然后在iptables里面加上,就显得非常低能.我们知道智能防火墙是可以跟踪这个动态端口的.iptables会不会智能一些? FTP协议里

iptables下开放ftp连接端口

iptables下开放ftp连接端口 转载 2014年04月19日 10:04:27 2275 iptables 就是linux系统的防火墙,很多人安装iptables之后重启服务器发现网站无法访问,ftp无法连接.关闭iptables之后网站和ftp服务器都能正常访问,但是为了服务器的安全,不建议关闭防火墙. 要想配置好iptables让ftp服务器正常访问,我们首先要了解一下ftp服务器的工作机制. ftp协议是一个简单.保密性差(明码)的tcp协议,它的工作原理是客户端先连服务器端的21端

iptables 下开放ftp

这两天在给客户安装服务器时也顺便给他们使用iptables,不用不知道,一用才发现iptables还有很多东西可以学的,比如开放ftp.iptables 的filter表的INPUT链的默认策略设为了DROP,其余的链均为ACCEPT. 该服务器即要作ftp服务器,也要连上别的ftp服务器.即是说要把源端口和目的端口都开放21才行: iptables -A INPUT -p tcp –sport 21 -j ACCEPTiptables -A INPUT -p tcp –dport 21 -j

iptables开放端口的使用方法总结

# iptables -I INPUT -p tcp --dport 80 -j DROP # iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT# iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT iptables -I INPUT -p tcp --dport 9889 -j DROP iptables -I INPUT -s 192

【阿里云】windows 2012R2 ftp服务搭建图文全过程及主被模式理解

题外话:相信拿到阿里云服务器,首先要配置的就是ftp服务(本地的项目要上传到服务器上线啊),对于一个刚入门小白来说,官方给的文档根本不足以完整的跑起来ftp服务. 正体: 一:服务器上配置ftp服务 ①服务器管理器上安装ftp服务 ②进入iis配置ftp服务站点 至此,ftp的基本安装完成了,但在阿里云上根本跑不起来!! 二.端口的配置 ①有一点了解的可能会知道,开放阿里云安全组的20/21端口,当然要开启,但你开启后使用FileZilla依然连接不上! 出现下列报错 状态: 已登录状态: 读取

iptables防火墙之主机型

iptables防火墙本身是不防火的,是靠其中的规则判断数据是丢弃还是放行,而这些规则就存放在iptables的四表五链中. iptables四表五链 四表 filter(过滤数据包):INPUT,OUTPUT,FORWARD nat(地址转换):PREROUTING,POSTOUTING,OUTPUT mangle表(拆开,修改,封装数据):五个链全部包含 raw(状态追踪):PREROUTING,OUTPUT 五链(根据数据报文的流向,判断报文放在那里) INPUT:到本机内部来的数据 OU