iptables防火墙入门:小白也能看懂的Linux防火墙配置指南 [特殊字符]

 

🏡作者主页:点击! 

🐧Linux基础知识(初学):点击!

🐧Linux高级管理防护和群集专栏:点击!

🔐Linux中firewalld防火墙:点击!

⏰️创作时间:2025年3月10日15点15分


还在为Linux防火墙配置头疼吗?被各种表、链、规则搞得晕头转向?别担心!这篇文章将用最通俗的语言,帮你理清iptables的来龙去脉。无论你是运维新手,还是想自己管理服务器的开发者,看完这篇文章,你一定能掌握iptables的精髓!

1. 表链关系总览

表名\链名

PREROUTING

INPUT

FORWARD

OUTPUT

POSTROUTING

filter

nat

mangle

raw

2. 链的功能说明

链名

说明

应用场景

INPUT

处理入站数据包

访问本机服务

OUTPUT

处理出站数据包

本机对外访问

FORWARD

处理转发数据包

路由器转发

PREROUTING

路由前数据包处理

目的地址转换(DNAT)

POSTROUTING

路由后数据包处理

源地址转换(SNAT)

3. 表的功能说明

表名

优先级

功能说明

raw

最高

连接跟踪处理

mangle

次高

数据包修改

nat

次低

网络地址转换

filter

最低

数据包过滤

4. 常见应用场景

应用类型

使用的表

使用的链

防火墙过滤

filter

INPUT, FORWARD, OUTPUT

地址转换(NAT)

nat

PREROUTING, POSTROUTING

数据包修改

mangle

全部五链

关闭连接跟踪

raw

PREROUTING, OUTPUT

数据包处理流程

  1. 进入本机数据包:PREROUTING → INPUT
  2. 转发数据包:PREROUTING → FORWARD → POSTROUTING
  3. 本机发出数据包:OUTPUT → POSTROUTING

一、基础介绍

1. netfilter 与 iptables 的关系

  • netfilter:Linux 内核中的包过滤框架(内核态)
  • iptables:用户空间的防火墙管理工具(用户态)

2. 四表五链结构

四表优先级(从高到低):
raw → mangle → nat → filter

五链处理顺序:
入站:PREROUTING → INPUT
转发:PREROUTING → FORWARD → POSTROUTING
出站:OUTPUT → POSTROUTING

二、安装和基本配置

1. CentOS 7 安装步骤


# 1. 关闭 firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service

# 2. 安装 iptables
yum -y install iptables iptables-services

# 3. 启动并设置开机启动
systemctl start iptables.service
systemctl enable iptables.service

2. 基本命令格式


iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 控制类型]

三、常用管理选项

选项

说明

示例

-A

在链末尾添加规则

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

-I

在链开头插入规则

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

-D

删除规则

iptables -D INPUT 1

-F

清空规则

iptables -F

-L

列出规则

iptables -L -n -v

-P

设置默认策略

iptables -P INPUT DROP

四.实验操作

利用iptables防火墙来完成下列操作:

  1. 允许SSH连接(端口22)
  2. 允许HTTP和HTTPS连接(端口80和443)
  3. 允许ping
  4. 拒绝其他所有入站连接
  5. 记录被拒绝的连接

本次实验

服务器:192.168.14.111 搭建了httpd服务

客户端:192.168.14.1112

默认规则设置

# 设置默认策略为DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

默认是开放的所有流量,关闭由外到内的所有流量,只允许出站

1v

规则设置

# 允许SSH连接
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许HTTP连接
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 允许HTTPS连接
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许ping
iptables -A INPUT -p icmp -j ACCEPT

客户端访问测试

服务访问测试

ping测试

规则管理

# 列出规则(带行号)
iptables -L --line-numbers

# 删除特定规则
iptables -D INPUT 1  # 删除INPUT链的第1条规则

# 插入规则
iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT  # 在INPUT链的第1位置插入规则

# 替换规则
iptables -R INPUT 1 -p tcp --dport 8080 -j ACCEPT  # 替换INPUT链的第1条规则


# 保存规则
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables

# 恢复规则
service iptables restart
# 或
iptables-restore < /etc/sysconfig/iptables


# 将80端口转发到8080
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

看到这里,相信你已经对iptables有了清晰的认识!让我们回顾一下关键点:

  1. 🌟 四表五链不再神秘:就像快递分拣,每个包都有它的去处
  2. 🚀 常用配置其实很简单:
    • 允许SSH登录(别把自己锁在门外)
    • 开放网站端口(80/443)
    • 允许ping检测
    • 安全起见,默认拒绝其他连接
  1. 💡 规则管理也不难:增删改查,就像管理你的购物清单一样直观

记住:配置防火墙不是什么高深技术,重要的是理解它的工作方式。就像设置家里的安全门,只需要清楚谁能进,谁不能进就够了!

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘泣男子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值