参考文档

朱双印个人日志

netfilter/iptables架构

位置 钩子函数/规则链 说明
数据包刚刚进入网络层的位置 PREROUTING 在这里处理目标地址转换
经过路由判断,数据包从内核流入本机用户空间的位置 INPUT 在这里处理INPUT包过滤
数据包从本机用户空间进程发出的位置,后接路由判断出口的网络接口 OUTPUT 在这里处理OUTPUT包过滤
经过路由判断,数据包不进入本机用户空间,只是进行转发的位置 FORWARD 在这里处理FORWARD包过滤
数据包将通过网络接口出去的位置 POSTROUTING 在这里处理源地址转换

为了方便管理钩子函数(黄色模块链),iptables按照钩子函数实现的功能,将其分别存储于4张表中(蓝色模块),类似于编程中指向链表的指针数组,链表存在优先级顺序

功能 涉及链
Filter 数据包的过滤 INPUT、OUTPUT、FORWARD
NAT 网络地址的转换 PREROUTING(DNAT)、POSTROUTING(SNAT)
Mangle 修改数据包的原始数据,一般用于防火墙标记 PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING
Raw 配置免除 PREROUTING、OUTPUT

iptables命令语法

# iptables [-t table] command [chain] [rules] [-j target]

规则查询

### 查询filter表规则
# iptables -t filter -L
### 查询filter表INPUT链规则
# iptables -t filter -L INPUT
### 查询filter表INPUT链详细规则
# iptables -t filter -vL INPUT
### 查询filter表INPUT链详细规则,并显示规则编号
# iptables -t filter --line-number -vL INPUT
### 查询filter表INPUT链规则以及默认规则
# iptables -t filter -nL INPUT ### 说明
pkts: 对应规则匹配到的报文个数
bytes: 对应规则匹配到的报文包的大小总和
target: 匹配到对应规则时的动作
prot: 表示规则对应的协议
opt: 表示规则对应的选项
in: 表示需要进行规则匹配的数据包流入的网卡
out: 表示需要进行规则匹配的数据包流出的网卡
source: 表示规则对应的源地址(IP/网段)
destination: 表示规则对应的目标地址(IP/网段)
policy:表示当前链的默认策略

iptable学习的更多相关文章

  1. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  2. LInux iptables学习

    作者原文 : http://blog.chinaunix.net/uid-9950859-id-98277.html       要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多 ...

  3. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  4. Web后端 JAVA学习之路

    1.Java分类 Java按应用来分,可以分为J2ME(手机版),J2SE(标准版),J2EE(企业版)三部分. ・J2ME:已经被安卓开发取代. ・J2SE:Java的核心类,其中包括桌面应用,但一 ...

  5. MTK 使用iptable 命令来完成网络路由(android WIFI/4G分享网络)

    很多时候,总有些奇怪的需求,这时候是发挥我们的聪明才智的时候!! 有客户的需求是: 公网 WIFI 4G/其他网络 以太网1 以太网2 内部设备 描述下需求:现今有一个控制设备,里面有WIFI,物联网 ...

  6. 大数据下基于Tensorflow框架的深度学习示例教程

    近几年,信息时代的快速发展产生了海量数据,诞生了无数前沿的大数据技术与应用.在当今大数据时代的产业界,商业决策日益基于数据的分析作出.当数据膨胀到一定规模时,基于机器学习对海量复杂数据的分析更能产生较 ...

  7. Linux防火墙iptables学习

    http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...

  8. Linux内核project导论——linux学习和职业曲线(刚開始学习的人,中级,高级都可參考)

    Linux世界介绍 给自己定级 门外汉: 不会安装操作系统 不会用虚拟机(安装和使用) 入门级: 熟悉常见的发行版,甚至装过而且能用一些特殊发行版(比如kali)做过一些简单的图形界面的使用. 会一些 ...

  9. 学习RadonDB源码(一)

    1. 可能是开始也可能是结束 RadonDB是国内知名云服务提供商青云开源的一款产品,下面是一段来自官方的介绍: QingCloud RadonDB 是基于 MySQL 研发的新一代分布式关系型数据库 ...

随机推荐

  1. eclipse中 svn出现 E220000 解决办法

    这种情况,先试试修改svnserve.conf 中的 anon-access = none 然后重启eclipse   如果还是不行,还有可能是因为你修改了svn的配置链接后 跟他人的svn连接方式有 ...

  2. 关于wx.redirectTo、wx.navigateTo失效问题

    问题:在app.json页面中若配置了tabBar,并且要跳转的目标页面也在tabBar中时,那么常用的几种页面跳转方式便失效了.即不能跳转到tabBar中定义的页面. 解决办法:若要跳转至tabBa ...

  3. jquery .html(),.text(),.val()用法

    .html()用为读取和修改元素的HTML标签 .text()用来读取或修改元素的纯文本内容 .val()用来读取或修改表单元素的value值. 这三个方法功能上的对比 .html(),.text() ...

  4. P3968 [TJOI2014]电源插排

    P3968 [TJOI2014]电源插排 线段树维护最长空区间及左端点位置,这个和$nlongn$的动态最大子序和差不多,就不多解释了 $n$较大哈希优化空间 My complete code: #i ...

  5. Java接口 详解(一)

    一.基本概念 接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合.接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 如果一个类只由 ...

  6. 分享知识-快乐自己:Struts2框架 工作原理及执行流程图(拦截器的使用)

    Struts2 架构图: 1):提交请求 客户端通过 HttpServletRequest 向 Servlet (即Tomcat)提交一个请求. 请求经过一系列的过滤器,例如图中的 ActionCon ...

  7. 搭建自己的AppRTCDemo服务器

    http://www.jianshu.com/p/c55ecf5a3fcf http://io.diveinedu.com/2015/02/05/%E7%AC%AC%E5%85%AD%E7%AB%A0 ...

  8. 常用SASS封装

    结合Compass库和工作总结,列出了项目中最为常用的SASS片段.内容收集于网络,我进行了简单整理并测试正常,可以根据实际项目情况进行取舍,值得学习或直接应用,感谢! //重置浏览器默认样式@imp ...

  9. redis cluster 实践总结

      最近项目接触到了redis cluster,现在趁着使用做一下总结,记录一下遇到过的问题,简单的概述一下常用到的命令和功能. 本篇文章主要是以运维的角度去讲述如何去更好的规划redis clust ...

  10. 瞎写的树dfs序

    这里枚举了树的DFS序来解决树上问题的多个板子,自己最好多看看. ↓改↓ ↓求↓ 点 点 ————————>>>这个就算了 点 树 简单, BIT 点 链 重点! 树 树 简单, 线 ...