RHEL7系统防火墙开放443端口命令详解

admin
RHEL7系统默认使用firewalld管理防火墙,开放443端口(HTTPS服务)需通过以下步骤:首先确保firewalld服务运行(systemctl start firewalld);使用firewall-cmd --permanent --add-service=https添加https服务(或--add-port=443/tcp直接开放端口),--permanent表示永久生效;执行firewall-cmd --reload重载配置使规则生效;最后通过firewall-cmd --list-services--list-ports验证端口是否开放,临时开放可省略--permanent,但重启后失效。

在RHEL7(Red Hat Enterprise Linux 7)系统中,防火墙默认使用firewalld服务管理网络流量,替代了早期版本的iptables,443端口是HTTPS服务的默认端口,用于加密的Web通信(如网站、API服务等),若需对外提供HTTPS服务,必须确保防火墙放通该端口,本文将详细介绍通过firewalld开放443端口的完整命令及操作逻辑,帮助用户快速配置并验证防火墙规则。

背景知识:为什么需要开放443端口?

HTTPS(Hypertext Transfer Protocol Secure)是基于SSL/TLS加密的HTTP协议,通过443端口传输数据,可保障数据传输的机密性和完整性,常见的需要开放443端口的场景包括:

  • 搭建Web服务器(如Nginx、Apache)提供HTTPS访问;
  • 部署SSL证书验证的服务(如企业官网、电商平台);
  • 使用基于HTTPS的API接口或远程管理工具。

若防火墙未放通443端口,外部客户端将无法通过HTTPS协议访问服务,导致连接超时或拒绝访问。

RHEL7系统防火墙开放443端口命令详解

RHEL7防火墙基础:firewalld简介

firewalld是RHEL7及后续版本的默认防火墙管理工具,采用“区域(Zone)”概念划分网络信任级别(如publicinternaldmz等),不同区域可应用不同的防火墙规则,默认情况下,RHEL7使用public区域(适用于公共网络,如互联网),新规则默认作用于该区域。

开放443端口的详细步骤

检查防火墙运行状态

在配置规则前,需确认firewalld服务是否正在运行,若未运行,需先启动服务:

# 检查firewalld服务状态
systemctl status firewalld
# 若未启动,执行以下命令启动(并设置为开机自启)
systemctl start firewalld
systemctl enable firewalld

若输出显示active (running),则表示服务已正常运行。

查看当前已开放的端口和服务

为避免重复配置,可先查看当前public区域已开放的端口和服务:

# 查看已开放的端口(格式:端口号/协议)
firewall-cmd --list-ports
# 查看已开放的服务(服务名称需在firewalld服务列表中)
firewall-cmd --list-services

若输出中包含80/tcp,则80端口(HTTP)已开放;若包含https,则443端口可能已通过服务形式开放(见下文“服务方式”说明)。

开放443端口:两种常用方式

直接开放端口(推荐)

通过指定端口号和协议(TCP)开放443端口,适合自定义服务或非标准HTTPS配置。

  • 临时开放(重启后失效)

    firewall-cmd --add-port=443/tcp

    适用于临时测试,无需重启防火墙即可生效。

  • 永久开放(重启后仍生效)

    firewall-cmd --permanent --add-port=443/tcp

    注意:添加--permanent参数后,规则需重新加载才能立即生效(见步骤4)。

通过服务名称开放(规范管理)

firewalld预定义了常见服务的规则(如httphttpsssh等),直接调用服务名称可开放对应端口,避免记忆端口号。

  • 检查https服务是否已定义

    firewall-cmd --get-services | grep https

    若输出包含https,则可直接使用该服务(https服务默认对应443/TCP端口)。

  • 开放https服务

    # 临时开放
    firewall-cmd --add-service=https
    # 永久开放(推荐)
    firewall-cmd --permanent --add-service=https

重新加载防火墙配置(永久规则生效)

若通过--permanent添加了规则,需执行以下命令重新加载firewalld,使新规则立即生效(无需重启服务):

firewall-cmd --reload

验证443端口是否开放

配置完成后,需确认规则已正确加载:

  • 查看已开放的端口

    firewall-cmd --list-ports

    若输出包含443/tcp,则表示端口开放成功。

  • 查看已开放的服务

    firewall-cmd --list-services

    若通过服务方式开放,输出应包含https

  • 测试端口连通性
    使用telnetcurl工具从外部客户端测试:

    # telnet测试(需安装telnet客户端:yum install telnet)
    telnet <服务器IP> 443
    # curl测试(若服务已启动)
    curl -I https://<服务器IP>

    telnet返回“Connected to ...”,或curl返回HTTP响应头,则表示端口放通成功。

注意事项与常见问题

区域(Zone)配置

若服务器不在默认的public区域(如使用dmz区域),需在命令中指定区域:

# 永久开放dmz区域的443端口
firewall-cmd --permanent --zone=dmz --add-port=443/tcp
firewall-cmd --reload

可通过`firewall-cmd --get-active-z

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码