一、简介
1、iptables的定义:
防火墙分为硬件防火墙和软件防火墙。
iptables是软件防火墙,工作在OSI的第三、四层,是从操作系统层面对网络流量进行监控和防护。
延伸:
(1)Linux系统内核集成了网络访问控制的功能,通过netfilter模块来实现,是内核的一部分(内核空间)。
(2)用户层(用户空间)可以通过iptables程序对netfilter进行控制管理,进而实现网络的访问控制。
(3)TCP_Wrapppers也是网络控制的一个工具,作用在应用层(7层防火墙)
小结:
netfilter模块:内核空间,是内核的一部分。
iptables组件: 用户空间,提供管理防火墙的手段,主要作用在传输层(4层防火墙)。

其他参考:http://www.zsythink.net/archives/1199/

2、iptables的结构:
众多的路由规则(Rule)和预设的规则(policy)组成了一个功能链(chain),多个链组成一个表,多个表就组成了防火墙iptables。
最常用的就是filter表,nat表。

iptables是(4张)表的集合:filter、nat、mangle、raw
表是(5条)链的集合:PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING

链是规则的集合。
5条链和路由表组成2条通路:
(1)不通过服务器内部的通路
PREROUTING、路由表、FORWARD、POSTROUTING
(2)通过服务内部的通路
PREROUTING、路由表、INPUT、本地服务、OUTPUT、POSTROUTING

3、常用表功能:filter、nat
(1)filter表:用于数据包的过滤和网络控制。
含3条链:INPUT、OUTPUT、FORWARD
(2)nat表:用于地址转换(地址映射)和端口转换。如修改源地址和目标地址、修改端口号
含3条链:PREROUTING、OUTPUT、POSTROUTING

(3)mangle表,对数据包进行修改,例如给数据包打标记MARK

(4)raw表,主要做连接追踪。

iptables为我们定义了4张"表",当他们处于同一条"链"时,执行的优先级如下。

优先级次序(由高而低):

raw --> mangle --> nat --> filter

二、安装和简单使用
1、安装iptables
yum install iptables -y

2、开启和关闭iptables
service iptables start
service iptables stop

3、查看iptables
iptables -L
iptables -t filter -L # INPUT、OUTPUT、FORWARD
iptables -t nat -L # PREROUTING、OUTPUT、POSTROUTING
iptables -t mangle -L # PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING
iptables -t raw -L # PREROUTING、OUTPUT

iptables -t filter -L --line-numbers # 查看规则编号

三、规则配置
1、规则永久设置
vim /etc/sysconfig/iptables

2、清空防火墙
iptables -F

3、举例
iptables -t filter -I INPUT -j ACCEPT

iptables-1基本知识和工作原理的更多相关文章

  1. strut2的核心知识和工作原理

    http://blog.csdn.net/laner0515/article/details/27692673/     写的很详细

  2. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

    RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

  3. ping命令知识 Ping命令工作原理详解

    在网络应用中,ping网速与IP地址等都是非常常用的命令,但大家知道ping命令的工作原理吗?要知道这其中的奥秘,我们有必要来看看Ping命令的工作过程到底是怎么样的.下面介绍下ping命令的详细知识 ...

  4. iptables防火墙工作原理

    iptables防火墙工作原理 简介:iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率: iptables属 ...

  5. 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

    原文地址:http://www.cnblogs.com/baiboy/p/orc3.html 阅读目录 目录 RAC 工作原理和相关组件 ClusterWare 架构 RAC 软件结构 集群注册(OC ...

  6. 场效应管种类-场效应管N、P沟道与增强、耗尽型工作原理等知识详解 如何选用晶体三极管与场效应管的技巧

    http://www.kiaic.com/article/detail/1308.html 场效应管种类场效应管 场效应晶体管(Field Effect Transistor缩写(FET))简称场效应 ...

  7. JAVA知识积累 JSP第一篇【JSP介绍、工作原理、生命周期、语法、指令、行为】

    什么是JSP JSP全名为Java Server Pages,java服务器页面.JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在! 为什么需要JSP JSP是为了简化Servle ...

  8. 转载:【Oracle 集群】RAC知识图文详细教程(三)--RAC工作原理和相关组件

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  9. 11.深入k8s:kubelet工作原理及源码分析

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 源码版本是1.19 kubelet信息量是很大的,通过我这一篇文章肯定是讲不全的,大家可 ...

随机推荐

  1. TCP的拥塞窗口和快速恢复机制的一些备忘及一点想法

    rwnd(窗口,代表接收端的处理能力).cwnd(拥塞窗口,从发送端看当前网络整体承载能力).ssthresh(快速增长切换成慢速增长的界限值) 1.慢启动,是指数增长(对面确认多少个包,就增加多少) ...

  2. 这42个Python小例子,太走心

    告别枯燥,60秒学会一个Python小例子.奔着此出发点,我在过去1个月,将平时经常使用的代码段换为小例子,分享出来后受到大家的喜欢. 一.基本操作 1 链式比较 i = 3print(1 <  ...

  3. ThinkPHP5最新URL访问:PATH_INFO和兼容模式

    https://www.jianshu.com/p/c43fb5817ae1 http://tp5.com/index.php?s=USER/manger_user/add&n=2000&am ...

  4. IEnumerable是什么

    首先怎么认识一个对象 IE+number+able  IE数字 可能 从名字上看不出什么玩意,以至于很久都没人真正认识这个接口 先看官方的解释 IEnumerable Interface Expose ...

  5. android基础---->ListView的使用

    简单说明 ListView在android程序中比较常用,在此做一下简单的总结 内容:自定义ListView, 自定义Adapter,ListView滚动事件的应用! 项目结构如下图

  6. js 打印条形码

    相应的文件大家去github上下载吧 https://github.com/lindell/JsBarcode <!DOCTYPE html> <html> <head& ...

  7. 六、spring之通过FactoryBean为ioc容器中添加组件

    前面我们已经介绍了几种为容器中添加组件的方法,今天一起学习通过FactoryBean添加组件的方法. 首先我们准备一个类,也就是我们需要注册进spring的ioc容器中的类 类Color: // 不必 ...

  8. 在ensp上配置Trunk接口

    什么是Trunk接口? 在以太网中,通过划分 VLAN 来隔离广播域和增强网络通信的安全性.以太网通常由多台交换机组成,为了使 VLAN 的数据帧跨越多台交换机传递,交换机之间互连的链路需要设置为干道 ...

  9. [转帖]Windows 7寿终正寝 为何Windows 10屡被吐槽它却无比经典?

    Windows 7寿终正寝 为何Windows 10屡被吐槽它却无比经典? https://www.cnbeta.com/articles/tech/908897.htm 是的,一代经典操作系统Win ...

  10. time包 — 汇总

    time包学习 package main; import ( "time" "fmt" ) func main() { //time.Time代表一个纳秒精度的 ...