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综述的更多相关文章

  1. iptables学习笔记

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3812510.html ...

  2. iptables之centos6版本详解

    1 Linux防火墙概述 Linux防火墙实际指的是Linux下的Netfilter/Iptables.Netfilter/Iptables是2.4.x/2.6.x版本Linux内核集成的IP信息包过 ...

  3. iptables

    一.在服务器上打开 22.80.9011端口: iptables -A INPUT -p tcp --dport 9011 -j ACCEPT iptables -A OUTPUT -p tcp -- ...

  4. 浅谈iptables 入站 出站以及NAT实例

    --------------本文是自己工作上的笔记总结,适合的可以直接拿去用,不适合的,适当修改即可!--------------- iptbales默认ACCEPT策略,也称通策略,这种情况下可以做 ...

  5. 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 ...

  6. CentOS7安装iptables防火墙

    CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st ...

  7. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  8. CentOS系统配置 iptables防火墙

    阿里云CentOS系统配置iptables防火墙   虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...

  9. /etc/sysconfig/下找不到iptables文件解决方法

    时间:2014-12-19 01:17来源:csdn 作者:大智 举报 点击:5639次 本想做些防火墙策略.防火墙策略都是写在/etc/sysconfig/iptables文件里面的.可我发现我也没 ...

随机推荐

  1. luasql在Fedora20下的安装与使用示例

    主要参考:http://www.boll.me/archives/614 luasql安装, 在终端通过yum命令安装: yum -y install lua-sql 接下来写个测试的lua脚本文件( ...

  2. hadoop本地测试命令

    http://www.cnblogs.com/shishanyuan/p/4190403.html if have assign the /etc/profile: hadoop jar /usr/l ...

  3. 删除C盘垃圾文件bat

    @ECHO OFF@echo 此批处理由59互联(http://www.59.cn)整理发布@echo @echo 清理几个比较多垃圾文件的地方DEL /F /S /Q "C:\WINDOW ...

  4. spring 事物管理没起到作用

    今天在做项目的时候发现配置的spring 事物管理没起到作用.可是配置又是依据官网配置的,不可能会错.最后发现使mysql的问题 普通情况下,mysql会默认提供多种存储引擎,你能够通过以下的查看: ...

  5. 浅谈无缓存I/O操作和标准I/O文件操作差别

    首先,先略微了解系统调用的概念:        系统调用,英文名system call,每一个操作系统都在内核里有一些内建的函数库,这些函数能够用来完毕一些系统系统调用把应用程序的请求传给内核,调用对 ...

  6. mybatis由浅入深day01_4入门程序_4.6根据用户id(主键)查询用户信息

    4 入门程序 4.1 需求 根据用户id(主键)查询用户信息 根据用户名称模糊查询用户信息 添加用户 删除 用户 更新用户 4.2 环境 java环境:jdk1.7.0_72 eclipse:indi ...

  7. TestNG入门教程

    阅读目录 TestNG介绍 在Eclipse中在线安装TestNG 在Eclipse中离线安装Testng TestNG最简单的测试 TestNG的基本注解 TestNG中如何执行测试 使用testt ...

  8. SVN-001

    1.cd到指定目录: 2.执行:svn cleanup:

  9. unix:/tmp/php-cgi.sock

    为什么要用unix:/tmp/php-cgi.sock,最主要的特征就是unix socket比tcp快,当网站流量大的时候,服务器的优化是分毫必争的. 当我们用php-fpm来管理我们的php启动时 ...

  10. cocos2d-x游戏引擎核心之十一——并发编程(消息通知中心)

    [续] cocos2d-x游戏引擎核心之八——多线程 这里介绍cocos2d-x的一种消息/数据传递方式,内置的观察者模式,也称消息通知中心,CCNotificationCenter. 虽然引擎没有为 ...