linux服务器中开放端口实现过程

 更新时间:2025年11月12日 11:12:37   作者:一只不想敲代码的程序猿  
本文介绍了如何在Linux上使用firewall命令开放端口,包括查看状态、开启和关闭端口、添加和移除IP段规则、批量添加区间端口、开放系统服务等操作

一、前言

当我们在 Linux 上运行服务时,例如网站、数据库等,我们通常需要将服务所监听的端口开放,以便外部网络可以通过该端口访问该服务。本篇博客将介绍如何在 Linux 上对外开放端口号。

什么是端口号?

在计算机网络中,端口是一种虚拟的通信机制,用于区分不同的网络应用程序和服务。每个网络应用程序都可以通过一个端口号来识别,从而在不同的网络连接中与其他应用程序进行区分。

在 TCP/IP 协议中,每个端口都被分配一个数字。例如,Web 服务器默认使用 80 端口,SMTP 服务器默认使用 25 端口,FTP 服务器默认使用 21 端口等。

有些人安装的linux的系统默认防火墙不是iptables,而是firewall,那就得使用以下方式关闭防火墙了。

二、查看状态

>>>查看防火墙当前状态##查看防火墙状态,是否是running

firewall-cmd --state
>>>查看防火墙当前已经开放的端口

firewall-cmd --zone=public --list-ports
>>>关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --reload # 配置立即生效
--关闭后执行状态命令,查看是否关闭成功,如果看到inactive(dead)就意味着防火墙关闭了。

端口的查询/开放# 查询端口是否开放

1、开启防火墙

systemctl start firewalld


2、开放指定端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

3、重启防火墙

firewall-cmd --reload

4、查看端口号命令

查看当前所有tcp端口·

netstat -ntlp   

查看1935端口使用情况·

netstat -ntulp |grep 1935
firewall-cmd --query-port=8080/tcp
# 新建永久规则,开放8080端口(TCP协议)

firewall-cmd --permanent --add-port=8080/tcp
# 移除上述规则

firewall-cmd --permanent --remove-port=8080/tcp
>>>开启某个端口

firewall-cmd --zone=public --add-port=80/tcp --permanent #开启80端口
firewall-cmd --reload # 配置立即生效
>>>关闭某个端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent #关闭80端口
firewall-cmd --reload # 配置立即生效
IP(IP段)的开放# 新建永久规则,开放192.168.1.1单个源IP的访问

firewall-cmd --permanent --add-source=192.168.1.1
# 新建永久规则,开放192.168.1.0/24整个源IP段的访问

firewall-cmd --permanent --add-source=192.168.1.0/24
# 移除上述规则

firewall-cmd --permanent --remove-source=192.168.1.1
>>>开放端口给指定IP段。如开放给局域网192.168.1.1-192.168.1.255

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="6666" accept"
firewall-cmd --reload
>>>批量添加区间端口

firewall-cmd --zone=public --add-port=4400-4600/udp --permanent
firewall-cmd --zone=public --add-port=4400-4600/tcp --permanent
firewall-cmd --reload # 配置立即生效
>>>查看监听的端口

netstat -lnpt
系统服务的开放# 开放http服务

firewall-cmd --permanent --add-service=http
# 移除上述规则

firewall-cmd --permanent --remove-service=http
自定义复杂规则(注意是否与已有规则冲突)# 允许指定IP访问本机8080端口

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
# 允许指定IP段访问本机8080-8090端口

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
# 禁止指定IP访问本机8080端口

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'

命令含义:

--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

任何修改操作,配置完成后,需要重新装载firewall。可重新启动firewalld服务。>>>重启防火墙

firewall-cmd --reload
service firewalld restart

其他常用命令:

firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助

firewall规则扩展学习

查看已开放的端口

firewall-cmd --list-ports

开放端口(开放后需要要重启防火墙才生效)

firewall-cmd --zone=public --add-port=3338/tcp --permanent

关闭端口(关闭后需要要重启防火墙才生效)

firewall-cmd --zone=public --remove-port=3338/tcp --permanent

重启防火墙

firewall-cmd --reload

开机启动防火墙

systemctl enable firewalld

开启防火墙

systemctl start firewalld

禁止防火墙开机启动

systemctl disable firewalld

停止防火墙

systemctl stop firewalld

更多命令,使用 firewall-cmd --help 查看帮助文件

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Ubuntu 20.04双拼输入法的安装步骤

    Ubuntu 20.04双拼输入法的安装步骤

    这篇文章主要介绍了Ubuntu 20.04双拼输入法的安装步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Linux系统下根目录扩容介绍

    Linux系统下根目录扩容介绍

    大家好,本篇文章主要讲的是Linux系统下根目录扩容介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux使用yum安装lamp以及部署wordpress实践

    Linux使用yum安装lamp以及部署wordpress实践

    文章指导如何通过yum安装LAMP环境并部署WordPress,需关闭防火墙和SELinux,配置阿里云yum源,安装Apache、MySQL和PHP,设置时区为上海,初始化数据库,调整权限,部署站点后访问验证
    2025-08-08
  • apache伪静态与iis伪静态规则与配置区别介绍

    apache伪静态与iis伪静态规则与配置区别介绍

    本文章来总结一下关于apache伪静态与iis伪静态区别介绍,主要讲到了一些规则的问题与配置区别,以后大家就可以直接在iis伪静态转换apache,反之也很简单哦,需要了解的碰可以参考下
    2012-12-12
  • Linux中查看指定文件夹内各个子文件夹内的文件数量

    Linux中查看指定文件夹内各个子文件夹内的文件数量

    今天小编就为大家分享一篇关于Linux中查看指定文件夹内各个子文件夹内的文件数量,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • windows安装openssh并通过生成SSH密钥登录Linux服务器

    windows安装openssh并通过生成SSH密钥登录Linux服务器

    本文为大家详细讲解了在windows系统下安装openssh并通过生成SSH密钥登录Linux服务器
    2018-10-10
  • Linux 块设备驱动代码编写

    Linux 块设备驱动代码编写

    这篇文章主要介绍了Linux 块设备驱动代码编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 一道题理解Linux中sort命令的多个参数

    一道题理解Linux中sort命令的多个参数

    今天小编就为大家分享一篇关于一道题理解Linux中sort命令的多个参数,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 在Ubuntu Linux上安装和使用Git和GitHub

    在Ubuntu Linux上安装和使用Git和GitHub

    今天小编就为大家分享一篇关于在Ubuntu Linux上安装和使用Git和GitHub的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • Linux实现日志高效搜索与实时监控的终极指南

    Linux实现日志高效搜索与实时监控的终极指南

    在开发和运维的世界里,日志(Log)是系统运行的黑匣子,它记录了程序的每一次心跳、每一次异常、每一次请求,如何快速定位问题、精准提取关键信息,成为每个工程师必须掌握的核心技能,本文将带你深入 Linux 日志排查的实战世界,从基础命令到高级技巧,需要的朋友可以参考下
    2025-10-10

最新评论