zoukankan      html  css  js  c++  java
  • iptables-1基本知识和工作原理

    一、简介
    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

  • 相关阅读:
    关于JQuery 中$.ajax函数利用jsonp实现Ajax跨域请求ASP.NET的WebService成功获取数据的案例
    js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本
    判断是否是IE浏览器
    点击不同位置实现同一个文件上传框上传头像
    如何去掉a标签的下划线
    jquery $(document).ready() 与window.onload的区别
    Java 程序 关于Properties 类使用Store方法时不能会覆盖以前Properties 文件的内容
    dom4j读取某个元素的某个属性
    字节流与字符流的区别详解
    Eclipse修改方法内容不用重启Jetty服务器
  • 原文地址:https://www.cnblogs.com/andy9468/p/11474260.html
Copyright © 2011-2022 走看看