zoukankan      html  css  js  c++  java
  • iptables基本原理和规则配置

    iptables原理图

    1.表的作用

    Mangle:打个标记,更改ttl值,更改查看tos
    Nat:做DNAT、SNAT和端口映射
    Filter:通过五元组控制数据包
    Conntrack:跳过连接跟踪以及加速数据包到达本地或出去
    路由判决:查路由看是转发还是找自己的
    优先级顺序:raw > mangle > nat > fiter

    2.Iptables查看表

    格式:iptables [-t 表名] -A 链名 匹配条件 -j 动作
    Iptables -t raw -nvL        查看raw表
    Iptables -t mangle -nvL     查看mangle表
    Iptables -t nat -nvL        查看nat表
    Iptables -t filtes -nvL      查看filtes表

    3.表的定义

    -t table :4个表(nat filtes raw mangle)
    Command: 定义如何对规则进行管理,如添加、更改、删除、插入
    Chain: 指定接下来的规则,到底是哪一个链上操作
    CRETIRIA: 指定匹配条件

    4.链

    -p:设置默认策略(设置开或关)
    -F:清空链中的规则
       (默认清空filtes表,iptables -t nat -F 清空nat表的所有链)
    -Z:清空链及链中默认规则的计算器
    -A:追加(后面跟链)
    -I:插入
    -R:替换
    -D:删除

    5.通用匹配

    -s :源IP
    -d :目的IP
    -i eth0 :指定入接口
    -o teh0 :指定出接口
    -p tcp :tcp协议扩展
    – -dport 80 :指定目标端口
    – -m multiport :多个端口设定

    6.常用的动作

    -j 后面跟动作
    DROP:悄悄丢弃
    REJECT:明示拒绝
    ACCEPT:允许
    DNAT:目的IP转换
    SNAT:源IP转换
    MASQUERADE:源地址伪装

    7.举例

    例一:

    在filter表的input链上添加一条阻断源IP是10.10.10.10 目的IP是23.23.23.23 协议是tcp 目的端口是80 的数据包。

    $iptables -t filter -A INPUT -s 10.10.10.10 -d 23.23.23.23 -p tcp --dport 80 -j DROP

    -t filter -A INPUT 在filter表的input链里添加一条规则

    -s 10.10.10.10 源IP是10.10.10.10

    -d 23.23.23.23 目的IP是23.23.23.23

    -p tcp 协议是tcp

    — dport 80 目的端口是80

    -j DROP 丢弃数据包,不给发包的终端回应

    添加策略之后使用一下命令查看

    $iptables -t filter -nvL

    下面我们来删除刚才添加的规则

    指定删除某条规则的时候,要把规则的匹配条件全部输上去。如下:

    $iptables -t filter -D INPUT -s 10.10.10.10 -d 23.23.23.23 -p tcp --dport 80 -j DROP

    例二:

    在nat表的postrouting链上添加一条源IP是10.10.10.10的做SNAT:

    $iptables -t nat -A POSTROUTING -s 10.10.10.10 -j SNAT --to 11.11.11.11

    -t nat -A POSTROUTING 在nat表的postrouting链上天机一条规则

    -s 源IP是10.10.10.10

    -j SNAT 动作是做SNAT

    –to 11.11.11.11 SNAT转换的地址是11.11.11.11

    例三:

    清空所有表的规则:

    $iptables -F

    这个命令默认是清空filter的所有规则,其他表的规则并没有清空

    清空其他表的规则需要加参数,比如清空nat表的规则:

    $iptables -t nat -F

    清空raw的规则:

    $iptables -t raw -F

    清空mangle表的规则:

    $iptables -t raw -F


  • 相关阅读:
    VIVADO固化
    Keil MDK 编译器 AC5 和 AC6 优化选项重要内容和区别
    STM32时钟
    STlink/v2中SWD模式连线方式
    搭载M33内核,支持最新蓝牙5.1,晚到的DA1469x生正逢时
    超全国内外蓝牙芯片原厂总结(含芯片型号)
    芯片封装类型大全
    国务院办公厅关于2012年部分节假日安排的通知
    美国摇滚乐队Metro致敬黄家驹,全粤语翻唱Beyond经典《海阔天空》
    国务院办公厅发布2010年部分节假日安排通知
  • 原文地址:https://www.cnblogs.com/APeng2019/p/10719432.html
Copyright © 2011-2022 走看看