news 2026/7/6 18:28:17

Windows Server 2022 与 CentOS 8 防火墙端口开放:3种工具与5个常用端口实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows Server 2022 与 CentOS 8 防火墙端口开放:3种工具与5个常用端口实战

Windows Server 2022 与 CentOS 8 防火墙端口开放实战指南

混合环境下的防火墙管理挑战

在现代IT基础设施中,混合操作系统环境已成为常态。Windows Server 2022与CentOS 8作为两大主流服务器系统,其防火墙管理方式各有特点却又同样关键。运维工程师和全栈开发者经常需要在两种系统间切换,为Web服务、数据库或其他应用开放必要的网络端口。

传统教程往往孤立地介绍单一系统的操作,而实际工作中更需要的是跨平台的系统性知识。本文将采用对比视角,深入解析Windows Server 2022(图形界面与PowerShell)和CentOS 8(firewalld与iptables)三种管理工具的端口配置方法,并针对五个常用服务端口(8080、3306、9200、6379、22)提供具体示例。

1. 环境准备与基础检查

1.1 系统环境确认

在开始配置前,需要确认系统版本和防火墙状态:

Windows Server 2022检查:

# 查看系统版本 Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion # 检查防火墙状态 Get-NetFirewallProfile | Format-Table Name, Enabled

CentOS 8检查:

# 查看系统版本 cat /etc/redhat-release # 检查firewalld状态 sudo systemctl status firewalld # 如使用iptables(需先禁用firewalld) sudo systemctl stop firewalld sudo systemctl disable firewalld sudo yum install iptables-services -y sudo systemctl start iptables sudo systemctl enable iptables

1.2 端口占用检查

开放端口前,应先确认端口是否已被占用:

Windows检查方法:

# 查看8080端口占用情况 Get-NetTCPConnection -LocalPort 8080 # 或使用传统netstat netstat -ano | findstr :8080

Linux检查方法:

# 查看端口占用 sudo ss -tulnp | grep :8080 # 或 sudo netstat -tulnp | grep :8080

提示:如果端口已被占用,需要先停止相关服务或改用其他端口。

2. Windows Server 2022端口配置

2.1 图形界面操作

对于习惯GUI管理的管理员,可以通过以下步骤开放端口:

  1. 打开"Windows Defender 防火墙"
  2. 选择"高级设置"
  3. 右键"入站规则"→"新建规则"
  4. 选择"端口"→"TCP/UDP"→输入端口号(如8080)
  5. 选择"允许连接"→设置应用范围(域/专用/公用)
  6. 命名规则并完成

关键参数对比表:

选项Web服务(8080)MySQL(3306)SSH(22)
协议TCPTCPTCP
作用域根据需要选择建议限制IP建议限制IP
配置文件通常全选生产环境谨慎选择按需选择

2.2 PowerShell高效管理

对于需要批量操作或自动化部署的场景,PowerShell更为高效:

# 开放8080端口(TCP入站) New-NetFirewallRule -DisplayName "Allow TCP 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow # 开放3306端口并限制源IP New-NetFirewallRule -DisplayName "Allow MySQL" -Direction Inbound -Protocol TCP -LocalPort 3306 -RemoteAddress 192.168.1.0/24 -Action Allow # 查看已创建的规则 Get-NetFirewallRule | Where-Object {$_.DisplayName -like "Allow*"} | Format-Table DisplayName,Enabled,Action,Direction

常用参数说明:

  • -Direction: Inbound/Outbound
  • -Protocol: TCP/UDP/ICMP等
  • -LocalPort: 单个端口、范围(8000-9000)或逗号分隔列表
  • -RemoteAddress: 限制访问源IP

3. CentOS 8端口配置

3.1 firewalld管理

作为CentOS 8默认防火墙工具,firewalld提供了更高级的网络区域管理:

# 永久开放8080/TCP端口 sudo firewall-cmd --permanent --add-port=8080/tcp # 开放服务而非端口(如MySQL) sudo firewall-cmd --permanent --add-service=mysql # 重载配置 sudo firewall-cmd --reload # 查看所有开放端口 sudo firewall-cmd --list-ports # 限制源IP(仅允许192.168.1.0/24访问3306) sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3306" accept'

firewalld常用服务名对应表:

服务名端口协议说明
http80tcpWeb服务
https443tcp安全Web
ssh22tcp远程管理
mysql3306tcp数据库
redis6379tcp缓存服务

3.2 iptables直接配置

虽然firewalld是推荐工具,但某些场景仍需直接使用iptables:

# 开放8080端口 sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT # 限制9200端口访问源 sudo iptables -A INPUT -p tcp --dport 9200 -s 192.168.1.100 -j ACCEPT # 保存规则(CentOS 8特殊步骤) sudo iptables-save > /etc/sysconfig/iptables # 查看当前规则 sudo iptables -L -n --line-numbers

iptables与firewalld对比:

特性firewalldiptables
配置方式服务/端口抽象直接规则
动态更新支持需手动保存
区域概念
学习曲线较平缓较陡峭
适用场景常规服务器特殊网络需求

4. 五大常用端口配置示例

4.1 Web服务端口(8080)

典型应用:Tomcat、Jenkins、开发测试环境

Windows PowerShell:

New-NetFirewallRule -DisplayName "Allow Tomcat" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow

CentOS firewalld:

sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload

4.2 MySQL数据库端口(3306)

安全建议:应限制访问源IP

Windows高级安全:

  1. 新建入站规则时选择"自定义"
  2. 作用域中指定远程IP地址范围

CentOS rich规则:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3306" accept'

4.3 Elasticsearch端口(9200)

集群配置注意事项:

  • 需同时开放9300(集群通信)
  • 生产环境应结合x-pack安全模块

iptables配置示例:

sudo iptables -A INPUT -p tcp --dport 9200 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 9300 -j ACCEPT

4.4 Redis端口(6379)

安全加固建议:

  1. 修改默认端口
  2. 设置强密码认证
  3. 限制绑定IP

firewalld配置:

sudo firewall-cmd --permanent --add-port=6379/tcp sudo firewall-cmd --permanent --remove-port=6379/tcp # 安全加固后执行

4.5 SSH管理端口(22)

安全最佳实践:

  • 更改为非标准端口
  • 禁用root直接登录
  • 使用密钥认证

Windows OpenSSH配置:

# 修改SSH端口 Set-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name "DefaultPort" -Value 2222 # 防火墙开放新端口 New-NetFirewallRule -DisplayName "SSH Alternate" -Direction Inbound -Protocol TCP -LocalPort 2222 -Action Allow

5. 排错与验证

5.1 端口连通性测试

跨平台测试工具:

# Windows测试端口 Test-NetConnection -ComputerName 192.168.1.100 -Port 8080 # Linux测试工具 telnet 192.168.1.100 8080 # 或 nc -zv 192.168.1.100 8080

5.2 常见问题排查清单

问题现象可能原因解决方案
本地可访问,远程不可达防火墙未放行检查入站规则
服务重启后规则失效规则未持久化firewalld加--permanent
特定IP无法访问网络ACL限制检查安全组和路由
端口冲突服务未启动netstat/ss查看监听
协议不匹配UDP/TCP混淆确认服务协议类型

5.3 日志分析

Windows防火墙日志:

  1. 启用日志记录:Set-NetFirewallProfile -LogFileName %systemroot%\system32\LogFiles\Firewall\pfirewall.log
  2. 查看拒绝记录:Get-WinEvent -FilterHashtable @{LogName='Security';ID=5152}

Linux firewalld日志:

sudo journalctl -u firewalld --since "1 hour ago"

6. 安全加固建议

  1. 最小权限原则:只开放必要的端口
  2. 网络分层防护:结合安全组与主机防火墙
  3. 定期审计规则:清理不再使用的规则
  4. 入侵检测配置:对关键端口设置异常连接警报
  5. 端口伪装技术:使用非标准端口减少扫描风险

Windows高级威胁防护:

# 启用端口扫描防护 Set-NetFirewallProfile -EnableStealthMode Enabled

Linux端口敲门方案:

# 使用knockd实现动态端口开放 sudo yum install knockd sudo systemctl enable --now knockd
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 18:27:25

DBX:基于Rust架构的轻量级跨平台数据库客户端技术解析

DBX:基于Rust架构的轻量级跨平台数据库客户端技术解析 【免费下载链接】dbx 15MB,轻量级跨平台数据库客户端、数据库管理工具。支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server 等。15MB, lightweight, cross-platform…

作者头像 李华
网站建设 2026/7/6 18:27:08

3步掌握Genesis MPM求解器:从原理到流体仿真实战

3步掌握Genesis MPM求解器:从原理到流体仿真实战 【免费下载链接】genesis-world Simulation platform for general-purpose robotics & embodied AI learning. 项目地址: https://gitcode.com/GitHub_Trending/genesi/genesis-world 你是否曾为传统仿真…

作者头像 李华
网站建设 2026/7/6 18:25:28

TrAISformer:基于Transformer架构的船舶轨迹智能预测引擎

TrAISformer:基于Transformer架构的船舶轨迹智能预测引擎 【免费下载链接】TrAISformer Pytorch implementation of TrAISformer---A generative transformer for AIS trajectory prediction (https://arxiv.org/abs/2109.03958). 项目地址: https://gitcode.com/…

作者头像 李华
网站建设 2026/7/6 18:25:07

Java计算机毕设之基于前后端分离的国产电影市场数据研判系统的设计与实现 基于 SpringBoot 的电影年度数据可视化统计系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/7/6 18:23:07

Database Rider 终极指南:简单高效的 Java 数据库测试解决方案

Database Rider 终极指南:简单高效的 Java 数据库测试解决方案 【免费下载链接】database-rider Database testing made easy! 项目地址: https://gitcode.com/gh_mirrors/da/database-rider Database Rider 是一个强大的 Java 测试框架,专门用于…

作者头像 李华
网站建设 2026/7/6 18:22:44

革命性船舶轨迹预测:TrAISformer智能Transformer技术深度解析

革命性船舶轨迹预测:TrAISformer智能Transformer技术深度解析 【免费下载链接】TrAISformer Pytorch implementation of TrAISformer---A generative transformer for AIS trajectory prediction (https://arxiv.org/abs/2109.03958). 项目地址: https://gitcode.…

作者头像 李华