当前位置:首页 > 系统教程 > 正文

Linux iptables完全教程:四表五链详解(实用配置指南)

Linux iptables完全教程:四表五链详解(实用配置指南)

Linux iptables完全教程:四表五链详解(实用配置指南) iptables 四表五链 Linux防火墙 iptables配置实例 第1张

一、iptables是什么?

iptables是Linux系统下的一个功能强大的防火墙工具,它基于内核的Netfilter框架,用于管理网络数据包的过滤、转发和修改。对于系统管理员和网络安全爱好者来说,掌握iptables是必备技能。本文将详细介绍iptables的核心概念——四表五链,并提供实用配置示例,帮助你快速上手。

二、四表五链详解

iptables的规则由“表”和“链”组成。表是按照功能划分的规则集合,链是数据包传播的路径。常用的有四个表(filter、nat、mangle、raw)和五个内置链(PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING)。

1. 四表

  • filter表:用于过滤数据包,是默认表。包含INPUT、FORWARD、OUTPUT链。
  • nat表:用于网络地址转换(NAT),包括SNAT、DNAT、MASQUERADE等。包含PREROUTING、INPUT、OUTPUT、POSTROUTING链。
  • mangle表:用于修改数据包的头部信息,如TTL、TOS等。包含所有五个链。
  • raw表:用于配置连接跟踪相关的规则,通常用于跳过连接跟踪。包含PREROUTING、OUTPUT链。

2. 五链

  • PREROUTING链:数据包进入协议栈后,路由决策前触发。
  • INPUT链:数据包经过路由决策,目标是本机时触发。
  • FORWARD链:数据包经过路由决策,目标是其他主机时触发(转发)。
  • OUTPUT链:本机发出的数据包触发。
  • POSTROUTING链:数据包即将离开协议栈时触发,路由决策之后。

三、iptables实用配置

下面通过几个常见场景演示iptables配置实例。假设你已经安装了iptables(通常Linux默认安装)。

1. 查看当前规则

iptables -L -n -v

2. 允许SSH连接(默认filter表)

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

3. 开放Web服务(80端口)

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

4. 设置默认策略(拒绝所有输入)

iptables -P INPUT DROP

注意:执行前请确保已放行SSH,以免锁住自己。

5. NAT转发示例(共享上网)

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

四、总结

通过本文,你应该对iptables四表五链有了清晰的认识,并掌握了基本的Linux防火墙配置方法。iptables功能非常强大,深入学习可以构建复杂的网络安全策略。希望这篇iptables教程对你有所帮助。

(完)