banner
阿江要努力鸭

阿江要努力鸭

好软推荐 / 效率提升 / 自我管理 / 系统方法论 / 变现点子王
bilibili
douban
email

Linux iptables四表五链及如何删除单独的raw表规则

背景#

攻防演练期间,有一台设备连不上主控端,iptables -L INPUT --line -number查看 INPUT 和 OUTPUT 有异常并且都删除,依旧连接不上主控端,最后确认是在 raw 表中有策略。

四表五链#

Linux 防火墙(iptables)使用四表五链(Four Tables, Five Chains)的结构来管理和控制网络流量。这个结构是 iptables 的核心组成部分,用于配置防火墙规则和过滤网络数据包。

以下是四表五链的概述:

四个表(Four Tables):

  1. filter 表:用于过滤网络数据包,根据规则决定是否允许或拒绝数据包通过防火墙。
  2. nat 表:用于网络地址转换(Network Address Translation,NAT),主要用于实现端口转发和 IP 地址转换等功能。
  3. mangle 表:用于对数据包的头部进行修改,如修改 TTL(Time to Live)值和设置数据包标记等。
  4. raw 表:提供原始数据包的处理,通常用于配置连接跟踪(Connection Tracking)和处理特定类型的数据包。

五个链(Five Chains):

  1. INPUT 链:用于处理进入本地系统的数据包,例如接收到的网络请求。
  2. OUTPUT 链:用于处理从本地系统发送出去的数据包,例如本地系统发起的网络请求。
  3. FORWARD 链:用于处理通过本地系统转发的数据包,例如作为路由器转发的数据包。
  4. PREROUTING 链:用于在数据包到达本地系统的网络协议栈之前进行处理,通常用于网络地址转换(NAT)。
  5. POSTROUTING 链:用于在数据包离开本地系统的网络协议栈之后进行处理,通常用于网络地址转换(NAT)。

删除单独 raw 表#

要删除 Linux 防火墙中的 raw 表,您可以使用 iptables 命令的-t选项指定表的名称为 "raw",并使用-F选项清空该表中的所有规则,然后使用-X选项删除该表。

以下是删除 raw 表的命令示例:

iptables -t raw -F
iptables -t raw -X

请注意,执行这些命令需要管理员或 root 权限。在删除表之前,请确保您理解并确认其影响,以免意外删除了重要的规则。建议在执行任何防火墙配置更改之前备份您的规则,并在一个安全的环境中进行测试。

删除单独 raw 表规则#

要删除 raw 表中的单个规则,您可以使用 iptables 命令的-t选项指定表的名称为 "raw",并使用-D选项指定要删除的规则的位置或规则规范。

以下是删除 raw 表中单个规则的命令示例:

iptables -t raw -D <chain> <rule_specification>

请将<chain>替换为 raw 表中的链(例如 PREROUTING、OUTPUT 等),将<rule_specification>替换为要删除的规则的具体位置或规则规范。

例如,如果要删除 PREROUTING 链中的第 3 条规则,您可以执行以下命令:

iptables -t raw -D PREROUTING 3

如果您知道要删除规则的规则规范,可以将其替换为<rule_specification>。例如,如果要删除源 IP 地址为 10.0.0.1 的规则,可以执行以下命令:

iptables -t raw -D PREROUTING -s 10.0.0.1 -j <target>
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。