反馈已提交

网络繁忙

端口占用检查与防火墙配置

  • 文档创建者:Carly
  • 历史版本:4
  • 最近更新:Carly 于 2024-10-21
  • 概述

    问题描述

    • 部署运维平台报错:connection refused

    报错语句:ERROR: 2022/05/18 17:33:07 finedb connect error:dial tcp 192.168.1.24:3306: connect: connection refused

    • 部署运维项目报错:Server IP try to bind ports failed!

    报错语句:Server IP try to bind ports 9114,9100,9200,9080,9070 failed!

    原因分析

    待部署的运维平台组件/运维项目组件容器,需要占用一些端口。

    如果这些端口已被占用/没有开放,则无法成功部署,会出现以上报错。

    解决方案

    请依次检查以下三者:

    1)检查该端口是否被服务器中其他进程占用

    • 如果端口被占用,则需要更换一个未被占用的端口,再检查新端口的下两项。

    • 如果端口未被占用,则需要检查该端口的下两项。

    2)检查服务器防火墙是否放行端口

    • 如果服务器防火墙未开启,建议开启。

    • 如果服务器防火墙开启,需要开放所需端口。

    • 如果端口已开放,请检查下一项。

    3)如为云服务器,请检查服务器安全组是否放行端口

    • 云服务器安全组端口放行方式本文不作介绍,请联系你的云服务器厂商咨询。

    检查端口占用情况

    本文提供多种方法检查Linux系统中的端口是否被其他进程占用。

    需要注意的是,执行以下命令通常需要以root用户或具有足够权限的用户身份运行,以获取完整的进程信息。

    使用netstat命令

    命令语句

    netstat -tuln | grep <端口号>

    将 <端口号> 替换为您要检查的具体端口号

    返回说明

    这条命令将显示监听该端口的进程信息

    如果有进程正在使用该端口,您将能够看到相关的输出

    如果该端口未被占用,则无任何输出

    示例

    使用lsof命令

    命令语

    lsof -i :<端口号>

    将 <端口号> 替换为您要检查的具体端口号

    返回说明

    这条命令将显示打开该端口的进程及其相关信息。

    如果有进程正在使用该端口,您将能够看到相关的输出

    如果该端口未被占用,则无任何输出

    示例

    检查防火墙放行情况

    1)建议服务器防火墙长期启用。

    2)建议开放且只开放必要的端口,防止不必要的网络暴露。

    常用语句

    场景语句
    检查防火墙状态systemctl status firewalld
    启动防火墙systemctl start firewalld
    关闭防火墙systemctl stop firewalld
    防火墙开机启动
    systemctl enable firewalld
    防火墙开机禁用systemctl disable firewalld
    查看所有放行端口firewall-cmd --zone=public --list-ports
    查看指定端口是否放行firewall-cmd --zone=public --query-port=<端口>/<协议>
    放行指定端口firewall-cmd --zone=public --add-port=<端口>/<协议> --permanent
    取消放行指定端口firewall-cmd --zone=public --remove-port=<端口>/<协议> --permanent
    更新防火墙规则firewall-cmd --reload

    示例

    本示例介绍如何开放防火墙并放行8080端口。

    1)启动防火墙

    • 检查防火墙状态:systemctl status firewalld。返回值为「not running」,说明未启动防火墙

    • 启动防火墙:systemctl start firewalld

    • 再次检查防火墙状态:systemctl status firewalld。返回值为「running」,说明已启动防火墙

    2)开放8080端口

    • 检查端口是否放行:firewall-cmd --zone=public --query-port=8080/tcp。返回值为「no」,说明未放行8080端口

    • 开放端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent。返回值为「success」,说明已放行8080端口

    • 更新防火墙规则:firewall-cmd --reload。返回值为「success」,说明已更新规则

    • 再次检查端口是否放行:firewall-cmd --zone=public --query-port=8080/tcp。返回值为「yes」,说明已放行8080端口

    注意事项:重启firewall之后需要重启Docker

    问题描述:

    部署运维平台/运维项目后,在对应服务器上会自动部署 Docker。

    Docker 在启动时会自动修改 iptables 规则,确保容器间的网络通信、端口映射等功能能够正常工作。

    当 firewalld 重启时,可能会刷新或覆盖这些 iptables 规则,导致 Docker 原先设置的规则失效,造成容器无法正常访问网络或服务端口映射失败。

    解决方法:

    重启 firewalld 后,请重启 Docker 服务。

    重启 Docker 服务后,Docker 会重新加载并设置所需的 iptables 规则,确保网络功能恢复正常。

    该操作会导致运维平台/运维项目不可用,请在非工作时段进行。

    该操作需要掌握基础docker知识,如无法完成,请联系帆软技术支持协助。技术支持联系方式:「服务>在线支持」

    附件列表


    主题: 项目管理
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持