网络安全人士必知的Iptables四表五链

iptables 是网络 Linux 系统中一个强大的网络包过滤工具 ,广泛应用于网络管理和安全 。安全它主要用于数据包的人士过滤和转发 ,保护服务器免受网络攻击 。必知s表通过 iptables,网络管理员可以灵活地控制网络流量,安全实现访问控制 、人士安全防护 、必知s表网络地址转换等功能 。网络

本文将详细介绍 iptables 的安全四个默认表和五种规则链,分别展示它们的人士典型用法 ,以帮助您理解 iptables 的模板下载必知s表基本配置和使用方法。

iptables 的网络四表

1. raw 表

raw 表主要用于控制数据包的状态跟踪 。它允许管理员决定是安全否对某个数据包进行状态跟踪,从而优化性能或防止特定攻击。人士raw 表通常在数据包处理的初始阶段使用,默认包含 OUTPUT 和 PREROUTING 链  。

● 示例 :关闭状态跟踪以提高性能

复制iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK1.

以上规则指定不对进入 PREROUTING 链的 TCP 80 端口流量进行状态跟踪 。

2. mangle 表

mangle 表专用于修改数据包内容,常用于流量整形或对数据包做标记 。它包括五种规则链:INPUT 、OUTPUT、云计算FORWARD、PREROUTING 和 POSTROUTING 。

● 示例 :给指定端口的流量做标记

复制iptables -t mangle -A PREROUTING -p tcp --dport 8080 -j MARK --set-mark 11.

以上规则为 PREROUTING 链中 TCP 8080 端口的流量设置一个标记 1 ,可用于流量整形等用途。

3. nat 表

nat 表用于网络地址转换(Network Address Translation),能够修改数据包的源或目的 IP 地址或端口。nat 表包含 OUTPUT 、PREROUTING 和 POSTROUTING 链 。

● 示例:对访问外网的数据包执行源地址转换

复制iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE1.

该规则为所有通过 eth0 网口的出站数据包执行源地址伪装 ,适用于 NAT 网络地址转换  。源码下载

4. filter 表

filter 表是最常用的表 ,用于过滤数据包并决定是否放行,包含 INPUT、OUTPUT 和 FORWARD 链  。filter 表的规则是对入站 、出站和转发的数据包进行过滤。

● 示例 :阻止来自特定 IP 地址的访问

复制iptables -t filter -A INPUT -s 192.168.1.100 -j DROP1.

以上规则在 INPUT 链中阻止 IP 地址 192.168.1.100 的所有入站流量 。

iptables 的高防服务器五链

1. INPUT 链

INPUT 链负责处理所有入站数据包的规则,即从外部发送到本机的数据包。

● 示例:允许来自本地网络的入站 SSH 流量

复制iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT1.

该规则允许本地网络(192.168.1.0/24)的设备访问本机的 SSH 服务 。

2. OUTPUT 链

OUTPUT 链处理本机发出的所有出站数据包的规则 。

● 示例:允许本机的所有 HTTP 出站流量

复制iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT1.

该规则允许本机所有访问外部服务器的 HTTP 流量。

3. FORWARD 链

FORWARD 链主要用于转发数据包 ,在本机作为路由器或网关时起作用 。建站模板

● 示例 :允许通过本机转发的流量

复制iptables -A FORWARD -p tcp --dport 80 -j ACCEPT1.

以上规则允许所有通过本机转发的 HTTP 流量。

4. PREROUTING 链

PREROUTING 链在数据包路由选择之前对其进行处理 ,适合在数据包到达本机前对其进行修改  。

● 示例:将所有的 HTTP 请求重定向到本地的 8080 端口

复制iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 80801.

此规则将所有发往本机的 80 端口 HTTP 请求重定向到 8080 端口 。

5. POSTROUTING 链

POSTROUTING 链在数据包路由选择之后对其进行处理  ,适合在数据包离开本机前对其进行修改  。

● 示例  :将本地 IP 地址的数据包伪装为外部 IP 地址

复制iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE1.

此规则伪装了所有通过 eth0 网卡的出站流量,适合实现 NAT 功能。

iptables 的免费模板基本用法

1.  查看规则 复制iptables -L -v -n1.

显示所有表的规则 。-v 选项提供详细输出 ,-n 选项禁用 DNS 查询以提高速度 。

2.  添加规则 复制iptables -A INPUT -p tcp --dport 22 -j ACCEPT1.

将一条规则追加到 INPUT 链中 ,允许所有 TCP 22 端口流量。

3.  删除规则 复制iptables -D INPUT 11.

删除 INPUT 链中的第一条规则  。确保在删除前使用 iptables -L --line-numbers 查看规则编号 。

4.  保存规则

在 Debian/Ubuntu 中可以使用以下命令保存规则:

复制sudo iptables-save > /etc/iptables/rules.v41.

在重启后可以自动加载规则 。

5.  清除规则 复制iptables -F1.

清除所有链中的规则,重置为默认状态 。

总结

iptables 是 Linux 系统中的强大防火墙工具  ,通过四个表(raw、mangle、nat、filter)和五个链(INPUT、OUTPUT、FORWARD、PREROUTING 、POSTROUTING)对网络数据包进行高效控制和管理 。它允许管理员根据不同需求设置规则 ,以实现数据包的过滤 、流量整形 、网络地址转换(NAT)和状态跟踪等功能 。iptables 可用于精细化管理入站 、出站和转发的数据包 ,保障系统的网络安全 ,优化流量分配,适合企业网络中的防护与流量控制需求 。总之 ,iptables 是 Linux 网络安全和管理中不可或缺的防火墙工具 。

物联网
上一篇:关键基础设施攻击剧增:英国水务公司遭遇Clop勒索软件攻击
下一篇:Fortinet推出新一代自研安全芯片,跨所有网络边缘加速网络与安全融合