linux服务器中开放端口实现过程
一、前言
当我们在 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 查看帮助文件
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
LVS+Keepalived构建高可用负载均衡配置方法(配置篇)
这篇文章主要介绍了LVS+Keepalived构建高可用负载均衡配置方法,需要的朋友可以参考下2013-06-06
关于DSI接口的video mode和command mode特点及区别说明
DSI接口支持video和command两种视频传输模式,video模式通过同步包(burst/non-burst)按帧结构发送数据,数据类型根据像素格式不同而变化;command模式则采用DCS命令码(如0x39)打包传输,无需同步包,两者在数据结构和同步机制上有显著差异2025-09-09
系统讲解Apache Kafka消息管理与异常处理的最佳实践
Apache Kafka 作为分布式流处理平台的核心组件,广泛应用于实时数据管道、日志聚合和事件驱动架构,下面我们就来系统讲解 Kafka 消息管理与异常处理的最佳实践吧2025-04-04
详解如何在Linux中重置MySQL或者MariaDB的root密码
本篇文章主要介绍了如何在 Linux 中重置 MySQL 或者 MariaDB 的 root 密码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2017-03-03
如何解决Linux环境变量每次要source /etc/profile问题
这篇文章主要介绍了如何解决Linux环境变量每次要source /etc/profile问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-04-04


最新评论