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

Pasv模式:ftp server:tcp 21

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开放21通信,linux下开启ftp的21号port相关推荐

  1. 如何起Linux服务器的21端口,linux下开启ftp的21号端口

    linux下开启ftp的21号端口 1.先运行vsftpd服务: #service vsftpd start 2.通过iptables开放21号端口 (1) 先查看iptables设置: #iptab ...

  2. Linux下开启FTP的21端口

    这几天一直在学习在CentOS7.0创建本地yum源和局域网yum源,准备两台CentOS7.0虚拟机,一个做服务器,一个做客户端:由于开发环境只有局域网,没法使用网上的各种yum源,来回拷贝rpm包 ...

  3. 打开21端口 linux,Linux开启FTP的21端口

    Linux下开启FTP的21端口 通常情况下,我们会使用SFTP与服务器进行文件的传输,但是若服务器采取的为最小安装模式,则可能不存在FTP服务,那么21端口也就默认关闭,所以在服务器上部署使用了FT ...

  4. linux+创建一个v文件共享,win10与Ubantu双系统:Linux下开启FTP服务器与创建无线热点(实现文件共享)...

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

  5. linux 服务器间通信,Linux 下的进程间通信:套接字和信号 | Linux 中国

    原标题:Linux 下的进程间通信:套接字和信号 | Linux 中国 学习在 Linux 中进程是如何与其他进程进行同步的. -- Marty Kalin 本篇是 Linux 下(IPC)系列的第三 ...

  6. Linux开放8080端口,防火墙开启/关闭/重启

    0. 查看端口8081的占用情况 netstat -anp | grep 8081 1. Linux开放端口(以端口8180为例) 查看端口8180是否开放 firewall-cmd --query- ...

  7. linux开放mysql远程连接_Linux开启MySql远程连接

    Linux - CentOS7.0给Mysql数据库开启远程连接 博客分类: Liunx 默认是不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放 首先登录 ...

  8. linux mysql 端口号_linux下mysql 查看默认端口号与修改端口号方法

    一.查看默认端口号 1.登录mysql [root@localhost ~]# mysql -uroot -p Enter password: 输入数据库密码: 2.使用show global var ...

  9. svchost.exe 占用 21 端口,无法开启FTP服务(已解决)

    win7 64  Xlight FTP server 21端口无法使用 查看端口占用情况 netstat -ano | findstr 21 # 查看占用端口的进程可以看到21端口被进程1236占用 ...

最新文章

  1. Python中如何写控制台进度条的整理
  2. POJ - 1328 Radar Installation(贪心+思维)
  3. 【php】利用php的构造函数与析构函数编写Mysql数据库查询类 (转)
  4. Double得有效位
  5. 手把手教你使用Bitvise Tunnelier设置SSH代理服务器
  6. ubuntu版网易云音乐下载
  7. Grafana实现参数查询功能
  8. 问题处理——无法导航到插入符号下的符号
  9. 计算机四级考448分算低吗,英语4级成绩,四级300多成绩单有用吗。
  10. 方程检验格式图片_解方程并检验(图片) x+3.5=3.5解方程
  11. android怎么删除插件,Android手机如何添加删除桌面图标和插件
  12. 多通道国产源表之VCSEL老化测试
  13. iphone鉴权,idps,iPhone蓝牙回控,iphone键盘,iphone手机互联,USB外设开发
  14. FM/AM收音机原理
  15. Redis学习 - NoSQL简介、redis安装、redis基础知识、数据类型、持久化、订阅发布、主从复制、哨兵模式、缓存击穿和雪崩
  16. Luedecke LPH-23
  17. 将excel数据导入数据库的表中的方法
  18. 关于程序化交易系统的详细定义
  19. Hype教程:设置字体样式
  20. After Effect(AE)PuppetTools脚本插件使用

热门文章

  1. 【elasticsearch】ES数据库重建索引 -- Reindex(数据迁移)
  2. 【Scala】Scala Java Error: value filter is not a member of *
  3. Spring Boot : Spring Boot Slf4j 以及 log4j 以及门面日志
  4. Docker : 获取运行容器的IP地址
  5. 【Spark】扩展Spark Catalyst,打造自定义的Spark SQL引擎
  6. 源码:Hadoop-3.0.3 启动过程中执行start-all.sh开始
  7. android网页接口实现方法,Android 程序员搞 web 之 webApi (十 四)
  8. 2019.8.8 2048小游戏
  9. XML fragments parsed from previous mappers already contains value for xxxxx
  10. @codeforces - 553E@ Kyoya and Train