系统环境:centos-6.5

服务器:thinkserver

知识扫盲:

NEW:这个包是我们看到的第一个包

ESTABLISHED:一个连接要从NEW变 为ESTABLISHED,只需要接到应答包即可,不管这个包是发往防火墙的,还是要由防 火墙转发的。

FTP服务器有两种工作模式:主动模式和被动模式。这两种方式的特点如下:
 (1)主动模式下:
  tcp, 20(20号端口用于数据传输),21(21号端口用于控制连接)
 (2)被动模式:
  tcp, 21(用于控制连接) >1023(端口号大于1023的随机端口用于数据传输)
  所以如果FTP工作在被动模式下,无法指定数据传输的端口,于是引入了RELATED状态。RELATED主要用于追踪与其相关的端口。注意:ftp工作在主动模式或者被动模式与客户端的请求有关。

ssh、http服务分别工作在22、80端口,第一次进入server端的包为NEW状态,所以要求INPUT链能过ACCEPT客户端的第一次发来的数据包。而后,发给客户端的包,使得该客户端与服务端通信来往包的状态变为ESTABLISHED,所以INPUT链允许通过的状态为NEW、ESTABLISHED,而OUTPUT链,只需ESTABLISHED。

1、设置21,22,80端口INPUT链和OUTPUT链,设置INPUT、FORWORD、OUTPUT链的默认策略为DROP

  1. iptables -I INPUT -d 10.79.32.22 -p tcp -m multiport --destination-ports 21,22,80 -m state --state NEW -j ACCEPT
  2. iptables -I INPUT 1 -d 10.79.32.22 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
  3. iptables -I OUTPUT 1 -s 10.79.32.22 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
  4. iptables -P FORWARD DROP
  5. iptables -P OUTPUT DROP
  6. iptables -P INPUT DROP

2、查看iptables状态

  1. # iptables -L -n

3、保存iptables当前配置,该配置文件位于/etc/sysconfig/iptables

  1. #service iptables save
  1. <p>#vim /etc/sysconfig/iptables</p>

4、修改iptables启动时装载模块,这里增加的两个模块可以为“nf_nat_ftp nf_conntrack_ftp”,也可以写成“ip_nat_ftp ip_conntrack_ftp”

#vim /etc/sysconfig/iptables-config

5、重新启动iptables服务

# service iptablesrestart

6、查看内核是否装载有上述配置的两个有关ftp模块

最新文章

  1. csv
  2. 初遇 dotcloud
  3. 【源码下载】分享一个支持自安装自卸载的Windows服务
  4. OpenSSL 双向认证
  5. UVa 11090 Going in Cycle!!【Bellman_Ford】
  6. IntentFilter
  7. Oracle EBS-SQL (PO-8):检查有供货比例无采购员.sql
  8. [Oracle] 接线表
  9. Redis数据结构简介
  10. Postgres 优雅存储树形数据
  11. 全面系统讲解CSS 工作应用+面试一步搞定
  12. Mac下 .bash_profile 和 .zshrc 两者之间的区别
  13. 汇编语言--微机CPU的指令系统(五)(移位操作指令)
  14. 2018-11-21 手工翻译Vue.js源码第一步:14个文件重命名
  15. 2 Modals of necessity
  16. Promise-async-await处理函数
  17. crontab定时任务第一个周期未完成下一个周期执行就来了
  18. 源码管理工具Git-windows平台使用Gitblit搭建Git服务器
  19. NewStyleClass学习笔记[一]
  20. JavaScript 创建动态表格

热门文章

  1. [转]MySQL与Oracle 差异比较之一数据类型
  2. vscode快捷键-for mac
  3. 可添加头部尾部RecyclerView,很帅哦~
  4. 【spring cloud】spring cloud打包最外层项目报错:&#39;packaging&#39; with value &#39;jar&#39; is invalid. Aggregator projects require &#39;pom&#39; as packaging. @ line 9, column 13
  5. iOS:ShareSDk的分享
  6. iOS:触摸控件UITouch、事件类UIEvent
  7. Wishbone接口通用RAM
  8. all-oone-data-structure(好)
  9. .NET Fframework
  10. OIT