iptables综述
1 概述
如下图所示,iptables共有Filter,Nat,Mangle和RAW共四个table,每个table还有若干个chain,每个chain中还包含若干个rule

1.1 Filter table概述

如上所示,对于Filter table,封包的处理将分为以下三种情况:
- 当封包的目的地是本地主机时:当封包进入主机时首先会由Packet IN标记的位置进入,接着封包由ROUTING TABLE进行处理,在本例中,封包将送往本机的Process,因此封包将由INPUT Chain进行处理,若INPUT Chain内的规则不允许封包进入,则将被丢弃,否则封包被送往Local Process
- 当本地的Process产生封包往外发送时:这时Local Process将产生封包对外发送,首先进入ROUTING TABLE进行处理,接着封包被送往OUTPUT Chain,若OUTPUT Chain内的规则不允许封包离开本机,则封包被丢弃,否则封包从Packet OUT标记的位置离开本机
- 当封包穿越本机时:封包首先由Packet IN的位置进入,接着封包进入ROUTING TABLE进行处理,在本例中,封包将由另一个接口送出,因此封包被送往FORWARD Chain,若FORWARD Chain内的规则不允许封包穿越,那么封包将被丢弃,否则,封包由Packet OUT处离开本机
1.2 规则匹配方式

下面我们将以Filter Table中的INPUT Chain作为例子进行说明。如上所示,第一个被加进来的规则会存放在INPUT Chain的rule1中,以此类推。当一个封包进入,进行具体的匹配工作时,将从rule1开始依次往下匹配。当有一条rule满足匹配规则时,那么它可以决定封包的命运,无论封包是进入Local Process还是丢弃,INPUT Chain之后所有的rule都不再进行匹配。另外我们可以注意到,在每个Chain的结尾都有一个Default Policy,它的作用是在所有rule都未匹配成功的时候进行最后的裁决,它的状态不是ACCEPT,就是DROP。
1.3 iptables命令格式

// 将Filter Table中的INPUT Chain列出
iptables -t filter -L INPUT // 将Filter Table中的所有内容删除
iptables -t filter -F // 将规则加入到Filter Table中的INPUT Chain
iptables -t filter -A INPUT -p icmp -j ACCEPT // 把FORWARD Chain的Default Policy设置为DROP
// 需要注意的是,iptables的-F参数不会影响到Default Policy的状态,若要改变Default Policy的状态
// 一定要用-P来指定
iptables -t filter -P FORWARD DROP // 在INPUT Chain中插入新的规则
iptables -t filter -I INPUT 2 -p tcp -j ACCEPT // 取代INPUT Chain内已存在的规则
iptables -t filter -R INPUT 2 -p tcp -j ACCEPT // 删除INPUT Chain内已存在的规则
iptables -t filter -D INPUT 2
iptables综述的更多相关文章
- iptables学习笔记
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3812510.html ...
- iptables之centos6版本详解
1 Linux防火墙概述 Linux防火墙实际指的是Linux下的Netfilter/Iptables.Netfilter/Iptables是2.4.x/2.6.x版本Linux内核集成的IP信息包过 ...
- iptables
一.在服务器上打开 22.80.9011端口: iptables -A INPUT -p tcp --dport 9011 -j ACCEPT iptables -A OUTPUT -p tcp -- ...
- 浅谈iptables 入站 出站以及NAT实例
--------------本文是自己工作上的笔记总结,适合的可以直接拿去用,不适合的,适当修改即可!--------------- iptbales默认ACCEPT策略,也称通策略,这种情况下可以做 ...
- Failed to stop iptables.service: Unit iptables.service not loaded.
redhat 7 [root@lk0 ~]# service iptables stop Redirecting to /bin/systemctl stop iptables.service Fai ...
- CentOS7安装iptables防火墙
CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st ...
- linux iptables常用命令之配置生产环境iptables及优化
在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...
- CentOS系统配置 iptables防火墙
阿里云CentOS系统配置iptables防火墙 虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...
- /etc/sysconfig/下找不到iptables文件解决方法
时间:2014-12-19 01:17来源:csdn 作者:大智 举报 点击:5639次 本想做些防火墙策略.防火墙策略都是写在/etc/sysconfig/iptables文件里面的.可我发现我也没 ...
随机推荐
- 【Java面试题】52 java中会存在内存泄漏吗,请简单描述。
所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中.Java中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉.由于Jav ...
- myeclipse配置Hadoop插件
每个版本的 hadoop 都有相应版本的 MyEclipse 插件,官网并没有提供插件的jar包下载.在hadoop/src/contrib 目录下有一个 eclipse-plugin 项目,此项目就 ...
- 【Matlab】运动目标检测之“帧差法”
videoObj = VideoReader('4.avi');%读视频文件 nframes = get(videoObj, 'NumberOfFrames');%获取视频文件帧个数 : nframe ...
- day26<网络编程>
网络编程(网络编程概述) 网络编程(网络编程三要素之IP概述) 网络编程(网络编程三要素之端口号概述) 网络编程(网络编程三要素协议) 网络编程(Socket通信原理图解) 网络编程(UDP传输) 网 ...
- Java精选笔记_面向对象(构造方法、this关键字、static关键字、内部类)
构造方法constructor构造器 构造方法的定义 [修饰符] 类名 (形式参数列表){ //语句 } 构造器用于构造该类的实例.作用:用来初始化对象!一般由系统在创建对象(即类的 ...
- RF使用的相关库API
RF内置库: http://robotframework.org/robotframework/ SSHLibrary: ---WEB自动化测试 http://robotframework.org ...
- 查看系统资源使用情况:vmstat
vmstat命令可以动态地查看系统资源的使用情况,如内存/交换分区/CPU的使用情况,通过使用该命令可以判断系统的瓶颈在哪里: [root@localhost ~]$ vmstat 1 5 # 表示每 ...
- android基础组件---->Button的使用
按钮由文本或图标(或文本和一个图标)组成,当用户触摸到它时,会发生一些动作.今天我们开始Button的学习.少年的爱情永远不够用,一杯酒足以了却一件心事. Button的简要说明 根据你是否想要一个带 ...
- Linux性能监控——CPU,Memory,IO,Network
版权声明:本文由刘爽原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/107 来源:腾云阁 https://www.qclou ...
- jquery类似方法的比较(一)
1. $(div + p) & $(div ~ p) & $(div p) & $(div > p) $(div + p)选择紧挨在div后面的P元素 $(div ~ p ...