当前位置: 首页 > news >正文

iptables 里INPUT、OUTPUT、FORWARD 三个链(Chain)详解

iptables 里,INPUTOUTPUTFORWARD 是最核心的三个链(Chain),它们定义了数据包在本机处理过程中的三个关键路径。下面我会通俗地解释它们的含义和作用:


🔁 总体概念:什么是链(Chain)?

iptables 把数据包的处理过程分为多个“链”,每条链就是一组规则,规则之间按顺序匹配。三大最常用的链如下:

链名称作用方向数据包路径
INPUT进入本机外部数据包 → 本地程序
OUTPUT从本机发出本地程序 → 外部网络
FORWARD本机转发(不处理)外部设备 → 外部设备(经由本机)


📥 1. INPUT 链

作用:控制访问本机的网络流量

  • 只要是别人访问你(比如你开了一个 web 服务,别人访问你的 80 端口),就会经过 INPUT 链。

  • 适用于:SSH、HTTP、HTTPS、Ping 等所有入站连接

示例:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许其他主机访问本机的 22 端口(SSH)。


📤 2. OUTPUT 链

作用:控制本机发出的流量

  • 当你在本机执行 curl、ping、apt-get、wget、ssh 等命令时,这些“出站”请求都会经过 OUTPUT 链。

示例:

iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

允许本机访问外部 HTTP(80 端口)网站。


🔀 3. FORWARD 链

作用:控制“路由转发”流量(本机作为中转,不是源也不是目的)

  • 本机如果做了网关、路由器、NAT、VPN、Docker 桥接等转发行为,就会用到 FORWARD 链。

  • 比如一个包从网卡 eth0 进来,经由本机,从网卡 eth1 转出去,就会用到 FORWARD 链。

示例:

iptables -A FORWARD -s 192.168.1.0/24 -d 10.0.0.0/24 -j ACCEPT

允许本机转发来自 192.168.1.* 到 10.0.0.* 的流量。


🧠 总结对比

链名称流量方向是否发给本机是否来自本机示例
INPUT入站流量✅ 是❌ 否别人访问你
OUTPUT出站流量❌ 否✅ 是你访问别人
FORWARD转发流量❌ 否❌ 否本机充当中转(如路由器)

http://www.dtcms.com/a/316337.html

相关文章:

  • 编程算法:技术创新与业务增长的核心引擎
  • 如何在虚拟机(Linux)安装Qt5.15.2
  • STM32 外设驱动模块一:LED 模块
  • 第13届蓝桥杯Scratch_选拔赛_初级组_真题2021年10月23日
  • 基于MATLAB实现的频域模态参数识别方法
  • SpringAI:AI基本概念
  • 基于ARM+FPGA多通道超声信号采集与传输系统设计
  • PCIe Base Specification解析(六)
  • 五、逐波限流保护电路-硬件部分
  • 从零搭建Cloud Alibaba (下) Sentinel篇
  • VUE-第二季-02
  • Sentinel全面实战指南
  • 制作一款打飞机游戏85:Hyper模式
  • JavaScript:Proxy 代理
  • 【数据结构初阶】--排序(三):冒泡排序,快速排序
  • 编码器模型和解码器模型解析
  • MongoDB学习专题(一)介绍安装基本操作
  • ✨OpenVoice 全流程实战:多语言语音合成系统安装与使用教程(附踩坑经验)
  • Makefile工具、双向链表
  • xshell、xftp使用案例
  • 【2025年8月5日】将运行一段时间的单机MongoDB平滑迁移至副本集集群
  • java回顾八股文中想起的知识点
  • 为什么不用rocketmq直接发送,用StreamBridge
  • 使用Playwright MCP探索网站并编写测试
  • 解锁n8n:开启自动化工作流的无限可能
  • 面试题:vue3使用proxy相较于vue2的优点在哪里
  • 03-基于深度学习的钢铁缺陷检测-yolo11-彩色版界面
  • postman接口测试实战
  • 鸿蒙组件装饰器深度解析:@Component vs @ComponentV2
  • 【实时Linux实战系列】基于实时Linux的智能交通系统设计