iptables是Linux系统上用于配置网络包过滤规则的工具,它使用表(tables)和链(chains)来组织规则。以下是iptables中的五表五链及其对应的实例说明:

五表

  1. filter表:默认表,用于过滤数据包,允许或拒绝数据包通过。它包含INPUT、OUTPUT和FORWARD三个链。
  2. nat表:用于网络地址转换(NAT),例如端口转发和地址转换。它包含PREROUTING、POSTROUTING和OUTPUT三个链。注意,虽然OUTPUT链在nat表中存在,但实际上在iptables中,OUTPUT链通常只用于filter表和mangle表。在nat表中,OUTPUT链很少使用,因为对于从本机发出的数据包,其源地址转换通常在路由选择之前就已经确定了。
  3. mangle表:用于修改数据包的各种属性,例如TTL(Time To Live)或TOS(Type of Service)字段。它也包含PREROUTING、POSTROUTING、INPUT、OUTPUT和FORWARD五个链。
  4. raw表:用于处理数据包的连接追踪,通常与mangle表结合使用来实现一些特殊功能。它包含PREROUTING和OUTPUT两个链。
  5. security表:用于强制访问控制(MAC)的网络安全策略(注:这实际上是IPsec功能的一部分,但在许多iptables实现中并不常用或并不直接支持)。security表并不常用,而且其具体的链和用法可能因不同的系统或iptables版本而有所不同。

五链

  1. INPUT链:处理进入本机的数据包。
  2. OUTPUT链:处理从本机发出的数据包。
  3. FORWARD链:处理需要本机转发的数据包(即本机作为路由器时)。
  4. PREROUTING链:在进行路由选择之前修改数据包,如DNAT(Destination NAT,目的网络地址转换)。
  5. POSTROUTING链:在进行路由选择之后修改数据包,如SNAT(Source NAT,源网络地址转换)。

实例

filter表实例

# 允许来自任何地方的SSH连接
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 拒绝来自192.168.1.0/24网络的所有输入流量
iptables -A INPUT -s 192.168.1.0/24 -j DROP # 允许本地回环地址的流量
iptables -A INPUT -i lo -j ACCEPT # 设置默认策略为拒绝所有输入流量
iptables -P INPUT DROP

nat表实例

# 将到达本机的80端口的流量转发到内部服务器192.168.1.100的8080端口
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080 # 修改从本机发出的流量的源地址为1.2.3.4(需要内核支持及路由设置)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 1.2.3.4

mangle表实例

# 修改TTL值为64
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN SYN -j TCPMSS --set-mss 1460 # 这是一个较为复杂的例子,实际中TCPMSS的用法可能会有所不同

raw表实例

# 关闭NAT表上的连接追踪功能,加速某些特定类型的数据包(例如ICMP)
iptables -t raw -A PREROUTING -p icmp -j NOTRACK

请注意,以上命令应在具有相应权限(通常是root)的情况下运行,并且需要根据具体的网络环境和需求进行调整。

关于security表,由于其实际在iptables中的使用较少,且主要与IPsec和网络安全策略配置相关,这里不提供具体的实例。如果需要对这部分进行深入了解,建议查阅专门的IPsec和网络安全文档。

另外,这些规则默认不会永久保存,系统重启后会丢失。若需永久保存iptables规则,可以使用iptables-saveiptables-restore命令,或者在某些发行版中使用特定的服务或脚本来处理规则的保存和加载。

iptables五表五链及对应实例的更多相关文章

  1. [转帖] iptables之四表五链

    iptables之四表五链 http://www.cnblogs.com/clouders/p/6544584.html mark 学习一下 对防火墙一无所知.. iptables可谓是SA的看家本领 ...

  2. iptables之四表五链

    iptables可谓是SA的看家本领,需要着重掌握.随着云计算的发展和普及,很多云厂商都提供类似安全组产品来修改机器防火墙. iptables概念 iptables只是Linux防火墙的管理工具而已. ...

  3. iptables四表五链及默认规则使用,

    网络基础 TCP/IP模型: 应用层===传输层===网络层===数据链里层===物理层 数据封装: MAC帧头+IP报头+TCP/UDP报头===HTTP请求 数据帧 TCP/UDP报头: 随机产生 ...

  4. iptables 四表五链

    netfilter/iptables IP 信息包过滤系统是一种功能强大的工具,可用于添加.编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则.这些规则存储在专用的信息包过滤表中 ...

  5. Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法 使用介绍

    第7周第3次课(5月9日) 课程内容: 10.11 Linux网络相关10.12 firewalld和netfilter10.13 netfilter5表5链介绍10.14 iptables语法 扩展 ...

  6. 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法

    Linux网络相关 ifocnfig 查看网卡ip(yum install net-tools) ip add 查看网卡 ip add = ifocnfig ifconfig 不显示down掉的网卡, ...

  7. iptables的四表五链

    iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables.真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构. iptables包含4个表, ...

  8. Linux对外提供服务 网络操作 端口操作 1.开启服务监听端口 2.设置防火墙,放行访问端口的包 iptables&netfilter 四表五链和通堵策略

    主题: Linux服务器上软件提供服务 1.网络操作 2.端口操作 1.网络操作 本机必须能够ping通目标主机(本地虚拟机或者远程主机) 2.端口操作 1.开启服务监听端口 2.设置防火墙,放行访问 ...

  9. iptables详解(2):四表五链

    关于iptables中“四表五链”,我们今天来好好唠唠: 1.表的概念: 我们把具有相同功能的规则的集合叫做"表",所以说,不同功能的规则,我们可以放置在不同的表中进行管理,而ip ...

  10. IPtables 之“四表五链”

    目录 架构图 IP tables 简介 包过滤防火墙 Iptables如何过滤 "四表" "五链" Iptables流程 架构图 公司架构模式(酒店迎宾比喻) ...

随机推荐

  1. 6.0 Python 使用函数装饰器

    装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为"装饰器"(Decorator),装饰器的功能非常强大,装饰器一般接受一个函数对象 ...

  2. Flask 框架:运用Ajax实现数据交互

    使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载刷新整个页面,这使得程序能够更快地回应用户的操作,如下笔记将简单介绍使用AJAX如何实现前后端数据通信. 前后端发送字符串 前 ...

  3. C/C++ Qt 基本文件读写方法

    Qt文件操作有两种方式,第一种使用QFile类的IODevice读写功能直接读写,第二种是利用 QFile和QTextStream结合起来,用流的方式进行文件读写. 第一种,利用QFile中的相关函数 ...

  4. Tauri VS. Electron - 真实项目的比较

    文章翻译自:Tauri VS. Electron - Real world application 以下是正文: 在这篇文章中我将会用真实的项目来比较 Electron 和 Tauri: Authme ...

  5. STM32CubeMX教程31 USB_DEVICE - HID外设_模拟键盘或鼠标

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 ...

  6. USB至串口TTL转接设备及Console线

    USB转串口常见芯片方案 FT232, FTDI(英国) 公认稳定可靠, 传输速率3Mbps, 功能最强, 单芯片内置SPI,TWI,JTAG,GPIO等功能. FT232BM为较早型号, FT232 ...

  7. 实例详解在Go中构建流数据pipeline

    本文分享自华为云社区<Go并发范式 流水线和优雅退出 Pipeline 与 Cancellation>,作者:张俭. 介绍 Go 的并发原语可以轻松构建流数据管道,从而高效利用 I/O 和 ...

  8. ORACLE ROLLUP和CUBE介绍

    http://blog.csdn.net/wanghai__/article/details/4817920 ------------------ ROLLUP,是GROUP BY子句的一种扩展,可以 ...

  9. spring boot整合spring security自定义登录跳转地址

    说明 在博客用户登录后我想跳转到各自用户的博客首页,我们知道这个地址是动态的. 例如: http://localhost:8080/blog/zhangsan, 每个用户地址不一样.这时候我就用到了自 ...

  10. spring boot中使用定时任务

    1.在主类上添加EnableScheduling注解 package com.laoxu.gamedog; import org.springframework.boot.SpringApplicat ...