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. 【自己的练习git】自己的git练习

    liqiang@username MINGW64 ~/Desktop$ mkdir TestGit        新建目录 liqiang@username MINGW64 ~/Desktop$ cd ...

  2. IPC最快的方式----共享内存(shared memory)

    在linux进程间通信的方式中,共享内存是一种最快的IPC方式.因此,共享内存用于实现进程间大量的数据传输,共享内存的话,会在内存中单独开辟一段内存空间,这段内存空间有自己特有的数据结构,包括访问权限 ...

  3. Java发送邮件--web.xml配置,Java代码配置

    前言:我目前总结的使用java发送邮件的方式有两种,分别是在spring框架xml配置文件使用bean标签,另一种方法是把发送功能封装成一个对象,废话不多说上代码, 边看代码边讲解,希望对需要的人能有 ...

  4. 牛客网 牛客练习赛13 A.幸运数字Ⅰ

    A.幸运数字Ⅰ 链接:https://www.nowcoder.com/acm/contest/70/A来源:牛客网     水题.   代码: #include<iostream> #i ...

  5. Ansible之Playbook详解

    1.Playbook详解 playbook是一个非常简单的配置管理和多主机部署系统,可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式. 核心元素 Hosts:主机 Tasks:任务,由 ...

  6. Mac下ll、l、la、等简写命令不能使用

    Mac默认用的也是Unix系统,Unix系统本身是没有这些简写命令的,可以通过给命令设置别名来使得可以使用这些简写命令 查看本机所有已经设置的命令别名:alias 设置命令别名:alias ll='l ...

  7. Vuex 通俗版教程

    作者 Yeaseon 已关注 2017.03.16 16:44* 字数 1245 阅读 243评论 2喜欢 4 本文基本上是官方教程的盗版,用通俗易懂的文字讲解Vuex,也对原文内容有删减. 如果你对 ...

  8. OpenSceneGraph-3.3.3

    OpenSceneGraph-3.3.3, [/b]released on 19th December 2014, key deliverables in this dev release are: ...

  9. 人工神经网络--ANN

    神经网络是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术. 本文以一种简单的,循序的方 ...

  10. 转:java的各个拓展类库的推荐方案

    from: 链接:https://www.zhihu.com/question/21142149/answer/109854408 Java是世界上最强大的编程语言之一,很多开发人员和大型企业都偏爱J ...