博客
关于我
IPTABLE 规则详解
阅读量:641 次
发布时间:2019-03-14

本文共 1397 字,大约阅读时间需要 4 分钟。

iptables 常用命令与规则操作指南

1. 规则表概述

iptables 是 Linux 防火墙工具,主要用于管理网络流量规则。其核心功能包括过滤、重定向、伪装、日志记录等。iptables 有三个内建规则表:natmanglefilter。默认规则表为 filter,其他规则表在特定场景下使用。

nat 规则表

  • 功能:主要用于 SNAT(源网络地址转换)和 DNAT(目的网络地址转换)。
  • 特点
    • SNAT:改写封包来源 IP,适用于静态 IP 转换。
    • DNAT:改写封包目的 IP,适用于动态 IP 转换。
    • 优点:每个封包只经过一次规则表处理,提升处理效率。

mangle 规则表

  • 功能:支持 Prerouting、FORWARD 和 Postrouting 三个规则链。
  • 用途
    • 修改封包属性(如 TTL、TOS、MARK)。
    • 适用于特殊应用场景(如流量统计、防洪水攻击)。

filter 规则表

  • 功能:用于基本的封包过滤操作。
  • 规则链:包括 INPUT、FORWARD 和 OUTPUT。
  • 用途:定义封包处理动作(如 ACCEPT、DROP、REJECT 等)。

2. 常用 iptables 命令

1. 规则添加与删除

  • -A, --append:新增规则到指定规则链,规则按顺序执行。
  • -D, --delete:删除指定规则或规则链中的所有规则。
  • -R, --replace:替换规则,原有规则被新规则完全取代。
  • -I, --insert:插入规则,原有规则向后移动。

2. 规则列表

  • -L, --list:列出指定规则链中的所有规则。
  • -F, --flush:清除指定规则链中的所有规则。
  • -Z, --zero:重置规则链中的封包计数器。

3. 新规则链定义

  • -N, --new-chain:定义新规则链。
  • -X, --delete-chain:删除指定规则链。

4. 处理策略定义

  • -P, --policy:定义规则链的处理策略(默认策略)。
  • -E, --rename-chain:重命名规则链。

3. 封包比对参数

1. 通讯协议类型

  • -p, --protocol:指定比对的通讯协议。
    • 示例:iptables -A INPUT -p tcp
    • 特殊用语:
      • ! tcp:除 tcp 外的所有协议。
      • all:所有协议。

2. IP 地址比对

  • -s, --src, --source:指定来源 IP 或 IP 范围。
    • 示例:iptables -A INPUT -s 192.168.1.1
    • 特殊用语:
      • ! 192.168.0.0/24:除指定网络的 IP。
  • -d, --dst, --destination:指定目的地 IP 或 IP 范围。

3. 网络接口比对

  • -i, --in-interface:指定进入规则链的网络接口。
    • 示例:iptables -A INPUT -i eth0
    • 特殊用语:
      • ! eth0:除指定接口的所有接口。

4. 埠号比对

  • -sport, --source-port:指定来源埠号或范围。
  • -dport, --destination-port:指定目的地埠号或范围。

5. TCP 状态比对

  • --tcp-flags:比对 TCP 状态旗号。
    • 示例:iptables -p tcp --tcp-flags SYN,FIN,ACK SYN
    • 可选

转载地址:http://zublz.baihongyu.com/

你可能感兴趣的文章
OpenGL 的内置矩阵种种
查看>>
OpenGL/OpenGL ES 入门:基础变换 - 初识向量/矩阵
查看>>
OpenGL中shader读取实现
查看>>
OpenGL中旋转平移缩放等变换的顺序对模型的影响
查看>>
Opengl中的gluProject函数认识
查看>>
OpenGl介绍
查看>>
OPENGL半透明图像产生黑色光环
查看>>
OpenGL和图形卡
查看>>
OpenGL字体绘制
查看>>
OpenGL学习
查看>>
openGL学习步骤
查看>>
OpenGL的基本概念介绍
查看>>
OpenGL着色器、纹理开发案例
查看>>
OpenGL程序无法启动此应用程序,因为计算机中丢失glut32.dll(转))
查看>>
opengl绘制几何体的函数
查看>>
openGL缓存概念和缓存清除(01)
查看>>
OpenJDK11 下的HSDB工具使用入门
查看>>
openjdk踩坑
查看>>
openjudge 1792 迷宫 解析报告
查看>>
OpenJudge/Poj 1658 Eva's Problem
查看>>