1、先执行vsftpd服务:

#service vsftpd start

2、通过iptables开放21号port

(1) 先查看iptables设置:

#iptables -nL

Chain INPUT (policy ACCEPT)

target     prot opt source               destination        

ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0          

ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22

REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited  //假设不满足以上规则,则统统reject;

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination        

REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

(2) 将21号port插入到INPUT的ACCEPT中

#iptables -I INPUT 5 -p tcp --dport 21 -j ACCEPT  ## rulenum为5 。在INPUT中REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited之前

(3)插入到INPUT的ACCEPT后查看

#iptables -nL --line-numbers

Chain INPUT (policy ACCEPT)

num  target     prot opt source               destination        

1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0          

3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          

4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22

5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21

6    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)

num  target     prot opt source               destination        

1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)

num  target     prot opt source               destination

3、 在client上telnet ip 21。验证

关键点:一定要将插入的规则放在REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited  之前,否则不会起作用!

4、搭建FTP服务

载入ip_conntrack_ftp。完毕搭建

#modprobe ip_conntrack_ftp

注:在iptables的INPUT中"1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED"能够实现pasv模式的ftp连接

引用:

*******************************************************************************************************************

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

Port模式:ftp server:tcp 21 <------client:dynamic ftp server:tcp 20 ------>client:dynamic

    Pasv模式:ftp server:tcp 21 <----client:dynamic ftp server:tcp dynamic <----client:dynamic



    PORT(主动)方式的连接过程是:client向server的FTPport(默认是21)发送连接请求,server接受连接,建立一条命令链路。当须要传送数据时,客户 端在命令链路上用PORT命令告诉server:“我打开了XXXXport。你过来连接我”。

于是server从20port向client的XXXXport发送连接请求,建立一条 数据链路来传送数据。

PASV(被动)方式的连接过程是:client向server的FTPport(默认是21)发送连接请求,server接受连接。建立一条命令链路。当须要传送数据时,服务 器在命令链路上用PASV命令告诉client:“我打开了XXXXport。你过来连接我”。于是client向server的XXXXport发送连接请求。建立一条数据链路来 传送数据。

*******************************************************************************************************************

linux下开启ftp的21号port的更多相关文章

  1. 如何在linux下开启FTP服务

    如何在linux下开启FTP服务 1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:   #which vsftpd   如果看到有vsftpd的目录说明服务器已经安装了ftp软件 2. ...

  2. win10与Ubantu双系统:Linux下开启FTP服务器与创建无线热点(实现文件共享)

    如何在win系统下使用filelizza这个软件搭建FTP服务器,然后建立一个无线局域网,让平板终端连接以后,访问电脑硬盘的文件. 如果是只在win7环境下,一切都很简单,按照上文提供的教程就可以实现 ...

  3. 局域网内Linux下开启ftp服务的“曲折路”和命令复习

    今天主要学习了Linux下网络配置以及vsftp(FTP)和samba的服务配置,学习起来,难度也就一般,并没有特别难,可是在可以做实验的时候,却并没有自己想像的那么顺利,可见,很多事情看起来不难,做 ...

  4. Linux下开启FTP服务

    一.配置步骤 1.安装vsftp 使用yum命令安装vsftp #yum install vsftpd -y 2.添加ftp帐号和目录 先确定nologin的位置,通常在/usr/sbin/nolog ...

  5. Linux下用ftp更新web内容!

    使用ftp更新web!让网页更新一次OK! 配置如下: 1.在Linux下安装ftp服务器! yum -y install vsftpd #ftp由vsftpd提供! 2.配置主配置文件/etc/vs ...

  6. linux下开启SSH,并且允许root用户远程登录,允许无密码登录

    参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh ...

  7. Windows 下开启FTP服务并创建FTP用户

    Windows 下开启FTP服务,并创建用户 此教程教你怎么开启 Windows 的 FTP 服务,并创建用于登入 FTP 的用户.教程用到的操作系统是 Windows 7. 一.创建用于登入 FTP ...

  8. Linux下部署FTP服务器

    Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...

  9. linux 下搭建 ftp

    最近为了方便目标板与PC机上LINUX之间的通讯,就在LINUX搭建了FTP,工作不难,写个总结.主要经过以下几个步骤: 1.检查是否安装了vsftpd服务器 可以用rpm -q vsftpd命令来查 ...

随机推荐

  1. VIJOS【1234】口袋的天空

    背景 小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空. 有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖. 描述 给你云朵的个数N,再给你M个关系,表示哪些云朵可以连在一起. ...

  2. 记忆泛型约束where

    原文发布时间为:2011-03-29 -- 来源于本人的百度文章 [由搬家工具导入] http://msdn.microsoft.com/en-us/library/d5x73970.aspx

  3. 【Visual Studio】简单内存泄漏检测方法 解决 Detected memory leaks! 问题(转)

    原文转自 http://blog.csdn.net/u011430225/article/details/47840647 我的环境是: XP SP2.VS2003 最近在一个项目中, 程序退出后都出 ...

  4. vim中代码注释与取消的两种方法

    一.灵活应用列操作 取消注释(删除列) 1.光标定位到需要注释的第一行的行首. 2.CTRL+v 进入"可视 块"模式,选取需要注释的其他多行. 3.d 删除,注释取消.   添加 ...

  5. AC日记——【模板】KMP字符串匹配 洛谷 3375

    题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next.如果你不知道这是什么意思也不要问,去百度搜[ ...

  6. iOS直播Liveroom组件,游客,用户多次切换登录同一直播间,消息出现多次重复问题解决

    byzqk 新版,加入连麦功能,直播的流程修改很多,每次登录都需要登录liveroom组件 期间遇到一个奇葩的问题,就是游客登录组件之后,切换为用户登录,出现im消息重复的问题,一开始以为是游客退出不 ...

  7. codevs——1154 能量项链(区间DP)

    2006年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解    题目描述 Description 在Mars星球上,每个Mars人 ...

  8. Storyboards Tutorial 02

    内容中包含 base64string 图片造成字符过多,拒绝显示

  9. oracle查询、删除表中相同的数据

    delete FROM tablename a WHERE rowid > ( SELECT min(rowid) FROM tablename b WHERE b.id = a.id and ...

  10. 矩阵快速幂计算hdu1575

    矩阵快速幂计算和整数快速幂计算相同.在计算A^7时,7的二进制为111,从而A^7=A^(1+2+4)=A*A^2*A^4.而A^2可以由A*A得到,A^4可以由A^2*A^2得到.计算两个n阶方阵的 ...