网络安全人必知的iptables四表五链,网络安全零基础入门到精通教程!

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

本文将详细介绍 iptables 的四个默认表和五种规则链,分别展示它们的典型用法,以帮助您理解 iptables 的基本配置和使用方法。

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术(网络安全)电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

iptables 的四表

1. raw 表

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

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

iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK

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

2. mangle 表

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

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

iptables -t mangle -A PREROUTING -p tcp --dport 8080 -j MARK --set-mark 1

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

3. nat 表

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

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

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

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

4. filter 表

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

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

iptables -t filter -A INPUT -s 192.168.1.100 -j DROP

以上规则在 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 ACCEPT

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

2. OUTPUT 链

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

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

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

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

3. FORWARD 链

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

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

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

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

4. PREROUTING 链

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

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

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

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

5. POSTROUTING 链

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

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

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

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


iptables 的基本用法

1. 查看规则

iptables -L -v -n

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

2. 添加规则

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

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

3. 删除规则

iptables -D INPUT 1

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

4. 保存规则

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

sudo iptables-save > /etc/iptables/rules.v4

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

5. 清除规则

iptables -F

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

总结

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

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
在这里插入图片描述
在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:
在这里插入图片描述
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值