参考文档

朱双印个人日志

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. Latex 4: WinEdt 10试用时间限制的破解+注册码激活

    方法1:我发现这个方法1,现在(2018.06.05)在winedt 10.2上已经不能用了,在低版本(10.1及以下版本)上还可以用,所以如果方法1不行,请看方法2. WinEdt 是目前我发现最好 ...

  2. 二维码图片流转base64

    @RequestMapping(value = "/weChatImage",method = RequestMethod.GET)public Response weChatim ...

  3. JS 中的面向对象

    创建对象的集中常见方式 1 . 使用 Object 或 对象字面量创建对象 2 . 工厂模式创建对象 3 . 构造函数模式创建对象 4 . 原型模式创建对象 1 . 使用 Object 或 对象字面量 ...

  4. manacher小结

    P3805 [模板]manacher算法 题目大意 n个字符组成的字符串,求最长回文串 $O$$($$n^3$$)$ 枚举两端点,暴力往中间搜 $O$$($$n^2$$)$ 枚举回文串终点,暴力往两边 ...

  5. JS中继承方式总结

    说在前面:为了使代码更为简洁方便理解, 本文中的代码均将"非核心实现"部分的代码移出. 一.原型链方式关于原型链,可点击<深入浅出,JS原型链的工作原理>,本文不再重复 ...

  6. Redmine后台修改admin密码

    Redmine后台修改admin密码 进入redmine安装目录,假设redmine安装在/var/www/html/redmine/目录下. cd /var/www/html/redmine/scr ...

  7. 在ubuntu怎样修改默认的编码格式

    ubuntu修改系统默认编码的方法是: 1. 参考 /usr/share/i18n/SUPPORTED 编辑/var/lib/locales/supported.d/* gedit /var/lib/ ...

  8. c# wpf ComboBox 动态下拉框 及 动态默认值设定

    1.下拉框声明 <ComboBox x:Name="DirComboBox" Width="150" Height="18" Marg ...

  9. matlab之结构体数组struct

    以下内容来自于:https://blog.csdn.net/u010999396/article/details/54413615/ 要在MALTAB中实现比较复杂的编程,就不能不用struct类型. ...

  10. 勤于思考:jQuery Validation 在IE7(兼容模式)下出现“找不到成员”的脚本错误

    今天在调试IE10下使用IE6判断脚本出现错误,处理后说IE7也不行,调试后则会出现以下错误: SCRIPT3: 找不到成员. jquery171.js, 行2582 字符4 其实开始我认为是jque ...