热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux防火墙与端口管理必备命令

在使用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 个快捷键命令?

推荐阅读
  • 本文详细介绍了如何规划和部署一个高可用的Etcd集群,包括主机配置、软件安装、防火墙设置及集群健康检查等内容。通过合理的硬件配置和网络规划,确保Etcd集群在生产环境中的稳定运行。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • 解决Anaconda安装TensorFlow时遇到的TensorBoard版本问题
    本文介绍了在使用Anaconda安装TensorFlow时遇到的“Could not find a version that satisfies the requirement tensorboard”错误,并提供详细的解决方案,包括创建虚拟环境和配置PyCharm项目。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 本文介绍如何使用MFC和ADO技术调用SQL Server中的存储过程,以查询指定小区在特定时间段内的通话统计数据。通过用户界面选择小区ID、开始时间和结束时间,系统将计算并展示小时级的通话量、拥塞率及半速率通话比例。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文详细介绍了如何在不同操作系统和设备上设置和配置网络连接的IP地址,涵盖静态和动态IP地址的设置方法。同时,提供了关于路由器和机顶盒等设备的IP配置指南。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
author-avatar
maniac0207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有