一:iptables

1.iptables简介
什么是iptables?我们首先应该知道它是Linux平台最著名的防火墙工具,系统自带的,从什么版本的内核开始自带的呢,2.4以后。
它的全称应该是netfilter/iptables,从这个名称上看,它其实是两个软件。netfilter是运行在内核之中的,对数据包进行分析处理;iptables是提供用户的一个配置管理工具,它可以设置一些表、表中有一些链条、链条上面有一些规则。通过iptables建立的一整个的规则体系,netfilter来对数据包进行分析处理。

2.什么是防火墙?
防火墙一直被认为是保护敏感信息的第一道防线。它们在安全和受控内部网络之间建立了一道屏障,提供低级网络保护,以及重要的日志记录和审计功能。
它能监视传入和传出的网络流量,并根据一组已定义的安全规则决定是允许还是阻止特定流量。

3.防火墙种类
1.硬件防火墙(主机防火墙)
F5
2.软件防火墙(网络防火墙)
iptables
firewalld

二:iptables基本介绍

  • 流程
用户层  --->  调用iptables  --->  ip_tables内核模块  --->  Netfilter(系统安全框架) --->  过滤请求
1.解析内容
1.iptables:
iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的 “安全框架中” 才是真正的防火墙,这个框架的名字叫netfilter
iptables其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架。 2.ip_tables内核模块:
ip_tables模块它是防火墙的核心模块,负责维护防火墙的规则表,通过这些规则,实现防火墙的核心功能。归纳起来,主要有三种功能:包过滤(filter)、NAT以及包处理(mangle) 3.netfilter:
netfilter才是防火墙真正的安全框架,netfilter位于内核空间
Netfilter是Linux操作系统核心层内部的一个数据包处理模块,它具有如下功能:网络地址转换(Network Address Translate), 数据包内容修改, 以及数据包过滤的防火墙功能

三:iptables流程(讲解)

1.流入本机

2.解析(流入本机)
讲解:
当外部的数据进入时通过网卡进入本机后,在网络层时会经过PREROUTING链,PREROUTING链继续前进到达用户层之前,会经过INPUT链。 解析流程:
数据进入(通过网线) --> 链接网卡设备 --> 网络接口层 --> Netfilter -->
在网络层时会经过PREROUTING链 --> TCP UDP协议 --> 进入用户层之前(INPUT链)
--> 到达用户层
3流出本机

4.解析(流出本机)
讲解:
当用户从用户层发出数据之后,会先经过OUTPUT链,在经过了OUTPUT链到达Netfilter防火墙,在经过防火墙到达设备驱动之前,会经过POSTROUTING链,之后在发送出去。 流程图解析:
用户操作命令工具(iptables) --> OUTPUT链 --> ip_tables内核模块 -->
Netfilter(防火墙) --> 网络层 --> 网络接口层 --> POSTROUTING链
-- 设备驱动 --> 网络传输出
5.经过本机

6.解析(经过本机)
讲解:
报文经过路由并且发觉目的并不是本机,在经过PREROUTING链进入本机发现最终目的并不是本机时被转到FORWORD链后经过POSTROUING链转发出去。 流程解析:
数据进入 --> PREROUTING --> FORWARD --> POSTROUTING --> 出去

四:什么是包过滤防火墙

1.什么是包?
在数据传输过程,并不是一次性传输完成的;而是将数据分成若干个数据包,一点一点的传输。

2.什么是包过滤防火墙?
过滤数据包的防火墙。
3.包过滤防火墙如何实现?
通过系统安全框架,过滤数据包。

五:Iptables四表五链的概念

1.什么叫表?
具备某种功能的集合叫做表
2.那四个表,有哪些作用?
filter:  负责做过滤功能呢	:    	INPUT、OUTPUT、FORWARD
nat: 网络地址转换 PREROUTING、INPUT、OUTPUT、POSTROUTING
mangle: 负责修改数据包内容 PREROUTING、INPUT、OUTPUT、POSTROUTING、FORWARD
raw: 负责数据包跟踪 PREROUTING、OUTPUT 解析内容:
filter:
负责过滤数据包功能(过滤,防火墙) nat :a-b网络,中间经历c网络,本来访问b,但是通过c访问的b,这个时候由a访问c,转变成a访问b,中间就有一个地址转换(网络地址转换,端口映射,地址映射等) mangle:
用于对特定数据包的修改(修改数据包的服务类型、TTL、并且可以配置路由实现QOS)
raw:
跟踪数据包走到那个位置了(决定数据包是否被状态跟踪机制处理)
3.那五条链,运行在那些地方?
1) PREROUTING: 主机外报文进入位置,允许的表mangle, nat(目标地址转换,,通常指响应报文)
2) INPUT:报文进入本机用户空间位置,允许的表filter, mangle
3) OUTPUT:报文从本机用户空间出去的位置,允许filter, mangle, nat
4) FOWARD:报文经过路由并且发觉不是本机决定转发但还不知道从哪个网卡出去,允许filter, mangle(中转)
5) POSTROUTING:报文经过路由被转发出去,允许mangle,nat(源地址转换,把原始地址转换为转发主机出口网卡地址)
五链
PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING

六:iptables全面流程图(详解)

1.解析流程顺序
流入本机: A  --->  PREROUTING  --->  INPUT ---> B
解析:
网络经过该流程才能发出(出去) 流出本机:OUTPUT ---> POSTROUTING ---> B
网络经过该流程才能进入(进来) 经过本机: A ---> OUTPUT ---> POSTROUTING | ---> PREROUTING ---> FORWARD ---> POSTROUTING ---> C ---> PREROUTING ---> INPUT ---> B
2.内容解析
 A ---> OUTPUT ---> POSTROUTING
作用于A阶段(出去) c相当于是一个防火墙
PREROUTING ---> FORWARD ---> POSTROUTING ---> C
作用于C阶段(出去) PREROUTING ---> INPUT ---> B
作用于B阶段(进入)

七:链包含表

filter :  INPUT 、OUTPUT 、FORWARD
nat : PREROUTING 、 OUTPUT、 POSTROUTING
raw : PREROUTING、 OUTPUT
mangle : PREROUTING INPUT FORWARD OUTPUT POSTROUTING

什么是iptables?的更多相关文章

  1. iptables

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

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

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

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

  4. CentOS7安装iptables防火墙

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

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

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

  6. CentOS系统配置 iptables防火墙

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

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

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

  8. docker通过iptables修改或新增镜像映射端口

    443 8088 22 端口是初始映射端口 [root@SERVER ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAM ...

  9. lnmp 预设iptables设置

    「LNMP」iptables初始配置   首先使用命令iptables -P INPUT ACCEPT允许所有连接,否则容易把自己关在外边.然后使用iptables -F;iptables -X;ip ...

  10. 关闭SELinux和iptables防火墙

    1.关闭SELinux: 编辑SELinux配置文件: [root@Redis selinux]# vim /etc/selinux/config 修改SELINUX配置项为disable SELIN ...

随机推荐

  1. C++基础之虚析构函数原理

    结论 虚函数表指针 + 虚函数表 共同实现 演示 VS2017(32位) 基类有析虚构函数 一段代码演示 #include <iostream> #include <memory&g ...

  2. 【LeetCode】292. Nim Game 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  3. codeforce A. 2Char(水题,暴力)

    今晚发了个蛇精病,然后CF了,第一题这好难啊,然而水题一个,暴力飘过. 链接http://codeforces.com/contest/593/problem/A: 题意比较难懂吗?傻逼百度都翻译不对 ...

  4. Problem 2221 RunningMan(fuzoj)

     Problem 2221 RunningMan Accept: 130    Submit: 404Time Limit: 1000 mSec    Memory Limit : 32768 KB ...

  5. AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets

    目录 概 主要内容 符号说明 Original Generator Transfer the Generator Wang X., He K., Guo C., Weinberger K., Hopc ...

  6. Proximal Algorithms 5 Parallel and Distributed Algorithms

    目录 问题的结构 consensus 更为一般的情况 Exchange 问题 Global exchange 更为一般的情况 Allocation Proximal Algorithms 这一节,介绍 ...

  7. 一文搞懂Google Navigation Component

    一文搞懂Google Navigation Component 应用中的页面跳转是一个常规任务, Google官方提供的解决方案是Android Jetpack的Navigation componen ...

  8. 【优雅代码】01-lombok精选注解及原理

    [优雅代码]01-lombok精选注解及原理 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺手点 ...

  9. JavaScript实现简单的打字游戏

    完整项目下载:https://download.csdn.net/download/weixin_44893902/13131694 演示地址:https://url_777.gitee.io/typ ...

  10. Windows下安装配置jdk

    1.jdk安装 从官网获取jdk安装包后, 双击图形化安装,一路next即可. 2.配置JavaHome 打开计算机->系统属性->高级系统设置->环境变量 在系统变量下面添JAVA ...