防火墙与网络配置 — 完整版

---

一、Linux系统防火墙

1.1 什么是防火墙

防火墙是网络安全设备/软件,用于监控和控制进出网络的数据流量。

核心原理:

常见规则类型:

规则类型说明示例
允许IP放行指定IP的流量允许 192.168.1.100 访问
拒绝IP阻止指定IP的流量拒绝 10.0.0.50 所有访问
允许端口放行指定端口的流量允许 80(HTTP)、443(HTTPS)
拒绝端口阻止指定端口的流量拒绝 3306(MySQL) 外部访问

---

1.2 CentOS防火墙 (firewalld)

1.2.0 firewalld简介

# 查看firewalld版本
firewall-cmd --version
# 输出示例:2.2.5

# 查看防火墙运行状态
systemctl status firewalld
# 输出示例:
# ● firewalld.service - firewalld - dynamic firewall daemon
#    Active: active (running) since ...

命令作用:

执行结果:

关键参数:

注意事项:

基本管理命令:

命令作用说明
对比项restartreload
过程先关闭服务,再启动服务不关闭服务,重新加载配置文件
影响短暂中断,现有连接会断开不中断服务,现有连接保持
适用场景配置出错需要重置时仅修改了规则需要生效时
推荐程度一般不推荐推荐使用

案例:nginx服务访问测试


**关键参数:**

**基本语法:**

富规则语法:

注意事项:

ufw基本操作:


**ufw规则配置:**











ufw规则优先级:


---


| 对比项 | firewalld (CentOS) | ufw (Ubuntu) |
|---|---|---|
| 默认系统 | CentOS 7+、RHEL 7+ | Ubuntu、Debian |
| 复杂度 | 功能强大,配置复杂 | 简单易用,适合新手 |
| 区域概念 | 支持区域(zone)管理 | 不支持区域 |
| 富规则 | 支持富规则,功能丰富 | 语法简单,功能相对有限 |
| 配置方式 | 命令行 + XML配置文件 | 命令行 + 配置文件 |
| 永久规则 | `--permanent` + `--reload` | 直接写入配置文件 |
| 图形界面 | firewall-config | gufw |
| 规则优先级 | 通过富规则控制 | `insert` 命令控制 |
| 适用场景 | 企业服务器、复杂网络 | 个人服务器、简单网络 |

---



**方式1:ifconfig命令**

注意事项:


**方式3:nmcli命令(查看详细网络信息)**

查看IP命令对比:

命令是否默认安装信息详细程度推荐程度

---

ping命令用于测试网络连通性,通过发送ICMP数据包检测目标主机是否可达。

#


**注意事项:**






[connection] id=ens33 uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx type=ethernet autoconnect=true interface-name=ens33

[ipv4] method=manual address1=192.168.88.100/24,192.168.88.2 dns=8.8.8.8;114.114.114.114;

[ipv6] method=disabled


**注意事项:**






注意事项:

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。


**top界面说明:**

**CPU各项说明:**

| 指标 | 含义 | 正常范围 |
|---|---|---|

**top交互快捷键:**

| 快捷键 | 功能 |
|---|---|
| `1` | 显示每个CPU核心的使用情况 |



**注意事项:**






注意事项:


**内存各列说明:**

| 列名 | 含义 | 说明 |
|---|---|---|
| buff/cache | 缓冲/缓存 | 内核缓冲区和页面缓存 |

**重要提示:**


注意事项:

crontab是Linux下的定时任务管理工具,可以按照设定的时间自动执行命令或脚本。

基本语法:

五个时间字段说明:

字段范围说明
分钟0-59第几分钟执行
小时0-23第几小时执行
日期1-31第几号执行
月份1-12第几月执行
星期0-7星期几执行(0和7都是周日)

四个特殊符号:

符号含义示例
*任意值* * * * * 每分钟
-范围1-5 表示1到5
/间隔频率*/5 每隔5个单位
,列举多个值1,3,5 表示1、3、5

crontab管理命令:


**常见定时任务示例:**






注意事项:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


**查看定时任务执行日志:**

注意事项:

nohup命令可以让程序在用户退出登录后继续运行,常用于后台执行长时间任务。

基本语法:


**文件描述符说明:**

| 文件描述符 | 名称 | 说明 |
|---|---|---|
| 0 | stdin | 标准输入 |
| 1 | stdout | 标准输出 |
| 2 | stderr | 标准错误 |

**重定向符号:**

| 符号 | 说明 |
|---|---|
| `>` | 覆盖写入 |
| `>>` | 追加写入 |
| `2>&1` | 将标准错误重定向到标准输出 |


server.serve_forever()




注意事项:


**screen常用快捷键:**

| 快捷键 | 功能 |
|---|---|

**实战案例:**





注意事项:

要求:

完整操作步骤:


**注意事项:**




| 需求 | firewalld (CentOS) | ufw (Ubuntu) |
|---|---|---|
| 查看状态 | `firewall-cmd --list-all` | `ufw status` |
| 开启防火墙 | `systemctl start firewalld` | `ufw enable` |
| 关闭防火墙 | `systemctl stop firewalld` | `ufw disable` |
| 放行端口 | `firewall-cmd --add-port=80/tcp --permanent` | `ufw allow 80/tcp` |
| 放行服务 | `firewall-cmd --add-service=http --permanent` | `ufw allow http` |
| 移除规则 | `firewall-cmd --remove-port=80/tcp --permanent` | `ufw delete allow 80/tcp` |
| IP限制 | `firewall-cmd --add-rich-rule='...'` | `ufw allow from IP to any port 80` |
| 拒绝IP | `firewall-cmd --add-rich-rule='... drop'` | `ufw deny from IP` |
| 生效配置 | `firewall-cmd --reload` | 直接生效 |


| 需求 | 命令 |
|---|---|
| 查看IP | `ip address` 或 `nmcli device show` |
| 配置静态IP | `nmcli connection modify 名 ipv4.method manual ...` |
| 重启网络 | `nmcli connection down/up 名` |
| 测试连通性 | `ping -c 4 目标` |
| 修改主机名 | `hostnamectl set-hostname 名` |


| 需求 | 命令 |
|---|---|
| CPU/进程 | `top` 或 `htop` |
| 系统负载 | `uptime` |
| 磁盘使用 | `df -Th` |
| 内存使用 | `free -h` |
| 定时任务 | `crontab -l` / `crontab -e` |
| 后台运行 | `nohup 命令 &` |
| 终端复用 | `screen -S 名` / `screen -r 名` |