博客
关于我
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/

你可能感兴趣的文章
Python Matplotlib 中如何用 plt.savefig 存储图片
查看>>
Python matplotlib 中更换画布背景颜色
查看>>
Python进阶03 模块
查看>>
python matplotlib简单使用
查看>>
Python mock Patch os.environ 和返回值
查看>>
Python mock 修补另一个函数调用的函数
查看>>
python mqtt 客户端实现
查看>>
Python Multiprocessing - 将类方法应用于对象列表
查看>>
Python multiprocessing.Queue 与 multiprocessing.manager().Queue()
查看>>
Python multiprocessing使用详解
查看>>
python mysql 基于 sqlalvhrmy_Python操作MySQL:pymysql和SQLAlchemy
查看>>
python mysql 布尔类型_python语言的基础学习:基本类型,函数,面向对象,模块,mysql数据库...
查看>>
Python NLP完整项目实战教程(1)
查看>>
Python NLP自然语言处理详解
查看>>
python nltk nltk_data 离线安装,chatterbot
查看>>
Redis 限流的 3 种方式,还有谁不会?
查看>>
Python这么慢,为啥大公司还在用?
查看>>
python note 06 编码方式
查看>>
python numba 转灰度图_使用NumPy、Numba的简单使用(二)
查看>>
Python Numpy 关于 linspace()函数 使用详解(全)
查看>>