作者:maniac0207 | 来源:互联网 | 2024-11-15 12:19
在使用Linux系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。
在使用 Linux 系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。
防火墙基础概念
防火墙是一种网络安全设备,通过设置一系列过滤规则来控制数据的传输。它可以在用户和服务器之间提供一道安全屏障,确保只有合法的数据包可以通过。
以下命令主要以 CentOS 7 系统为例,其他发行版的用户可以参考类似命令。
Firewalld 基本命令
- 查看版本:
firewall-cmd --version
- 查看帮助:
firewall-cmd --help
- 显示状态:
firewall-cmd --state
- 更新防火墙规则:
firewall-cmd --reload
- 查看活动区域:
firewall-cmd --get-active-zones
- 查看指定接口所属区域:
firewall-cmd --get-zone-of-interface=eth0
- 启用拒绝模式:
firewall-cmd --panic-on
- 禁用拒绝模式:
firewall-cmd --panic-off
- 检查是否处于拒绝模式:
firewall-cmd --query-panic
Firewalld 服务操作
- 查看 Firewalld 服务状态:
systemctl status firewalld.service
- 启动 Firewalld 服务:
systemctl start firewalld.service
- 停止 Firewalld 服务:
systemctl stop firewalld.service
- 禁止 Firewalld 开机启动:
systemctl disable firewalld.service
查看端口占用
查看所有打开的端口:firewall-cmd --zOne=public --list-ports
查看监听的端口:netstat -lnpt
netstat 参数说明:
- -t: 显示 TCP 端口
- -a: 显示所有 socket(包括正在监听的)
- -u: 显示 UDP 端口
- -l: 仅显示监听的 socket
- -p: 显示进程标识符和程序名称
- -n: 不进行 DNS 解析,直接显示 IP 地址
查看指定端口的进程信息
- 方法一:
netstat -lnpt | grep 3306
- 方法二:
lsof -i :3306
- 查看进程详细信息:
ps 进程号
如何开启一个端口
- 添加端口:
firewall-cmd --zOne=public --add-port=80/tcp --permanent
(--permanent 表示永久生效,否则重启后失效) - 重新加载防火墙规则:
firewall-cmd --reload
- 检查端口是否已开放:
firewall-cmd --zOne=public --query-port=80/tcp
- 删除已开放的端口:
firewall-cmd --zOne=public --remove-port=80/tcp --permanent
以上命令可以帮助你在 Linux 系统中高效地管理防火墙和端口。建议将这些命令收藏起来,以便随时查阅。
往期推荐
- 你不知道的几个 Linux 使用技巧
- Linux 实用命令大全(附思维导图)
- 快速学习 Linux 常用性能监控命令及工具
- 别再被叫 Linux 小白了,你跟 Linux 高手只差这 8 个快捷键命令?