Carry の Blog Carry の Blog
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carry の Blog

好记性不如烂键盘
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工作笔记

  • K8S

  • Systemd

  • Nginx

  • Supervisord

  • OpenLdap

  • OpenVPN

  • GitLab

  • Sshd

  • WebDev

  • Docker

  • Prometheus

  • Rclone

  • Iptables

    • iptables基础知识
      • 常用的 Linux iptables 规则
    • Firewalld

    • Linux笔记
    • Iptables
    Carry の Blog
    2022-03-08
    目录

    iptables基础知识原创

    # 什么是iptables?

    iptables是一个用户空间工具,允许系统管理员配置Linux内核中的IPv4包过滤规则。它是Netfilter项目的一部分,Netfilter是Linux内核中的一个框架,用于各种网络相关操作,如包过滤、网络地址转换(NAT)等。

    # iptables的基本概念

    1. 表(Table):

      • filter 表:默认表,用于包过滤。
      • nat 表:用于网络地址转换。
      • mangle 表:用于修改包的服务类型(TOS),TTL等字段。
      • raw 表:用于配置特殊的处理,主要用于连接跟踪机制前的包处理。
    2. 链(Chain): 每个表包含若干链,链是规则的集合,常用的链有:

      • INPUT 链:处理入站流量。
      • OUTPUT 链:处理出站流量。
      • FORWARD 链:处理转发的流量。
      • PREROUTING 链:处理入站包在路由前。
      • POSTROUTING 链:处理出站包在路由后。
    3. 规则(Rule): 每个链中包含若干规则,每条规则定义了对符合特定条件的网络包应采取的动作。规则由匹配条件和动作(target)组成。

    # iptables 的工作流程

    当一个包进入网络接口时,iptables根据配置的表和链来决定如何处理这个包。以下是一个基本的数据流示例:

    1. PREROUTING:在包被路由之前,首先经过PREROUTING链。用于DNAT(目的网络地址转换)和改变包的目标地址。
    2. INPUT:针对入站流量,经过路由判定后,入站包将进入INPUT链,决定是否允许该包进入本地系统。
    3. FORWARD:针对转发流量,如果包不是发往本地的,而是需要转发到其他地方,则进入FORWARD链。
    4. OUTPUT:针对本地生成的出站流量,经过OUTPUT链决定是否允许该包发送出本地系统。
    5. POSTROUTING:在包离开网络接口之前,经过POSTROUTING链。用于SNAT(源网络地址转换)和改变包的源地址。

    # iptables 的基本命令

    以下是一些常见的iptables命令:

    • 列出当前的规则:

      iptables -L
      
      1
    • 添加一条规则:

      iptables -A INPUT -p tcp --dport 22 -j ACCEPT
      
      1
    • 删除一条规则:

      iptables -D INPUT -p tcp --dport 22 -j ACCEPT
      
      1
    • 保存规则(Debian/Ubuntu):

      sudo sh -c "iptables-save > /etc/iptables/rules.v4"
      
      1
    • 恢复规则:

      sudo iptables-restore < /etc/iptables/rules.v4
      
      1
    上次更新: 4/24/2025

    ← rclone常用命令参数详解 常用的 Linux iptables 规则→

    最近更新
    01
    tidb fast ddl
    04-04
    02
    TiDB配置文件调优 原创
    04-03
    03
    如何移除TiDB中的表分区 原创
    04-03
    更多文章>
    Theme by Vdoing
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式