Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Linux 服务器端口不可访问问题排查_创想鸟

Linux 服务器端口不可访问问题排查

问题描述

项目中使用的服务器是%ignore_a_1%,使用 centos 7.6 版本的操作系统, 4 个千兆网口,上架时间 23 年 8 月份。部署在内网机房,并且在内网机房分配的固定ip 是 

172.87.7.249

,并在机器上部署了 docker,

大概在 10 月中旬左右,这台机器出现访问时好是坏的问题;前期出现时一直以为是机房调整网络环境导致,短暂性的不可访问没有实际影响业务,所以就没太关注。但是从 10 月底开始,机器开始频繁性出现不可访问的问题,开始接入排查。

同机房同机柜还有其他 3 台服务器,ip 地址分别为 

172.87.7.246,172.87.7.247,172.87.7.248

。在 

172.87.7.249

 出现频繁性不可访问的同时,在办公网环境其他 3 台机器访问均无影响,并在当在办公网通过 ssh 登录 172.87.7.249 提示 

Connection refused

 时,通过其他三台机器的任何一台 ssh 登录 

172.87.7.249

,却可以登录。

总结下现象:

1、

172.87.7.246,172.87.7.247,172.87.7.248,172.87.7.249

 同处一个机房,一个机柜,连接的也是同一个核心交换机,同一个网关。2、办公网环境访问 

172.87.7.249

,前期偶发性时好时坏,后期频繁不可访问,间歇性可访问。3、办公网环境访问 

172.87.7.248/247/246

,正常。4、

172.87.7.248/247/246

 访问 

172.87.7.249

 前期正常,后期短暂间歇性不可访问,但大多数情况下是可以访问的。5、

172.87.7.249

 能 ping 通

下面就从研发视角来看下排查过程。

排查过程防火墙配置

一般情况下,IP 能 ping 通,端口无法访问,99% 的原因都是出在防火墙;

1、先通过 

systemctl status firewalld

 查看防火墙状态,可以看到防火墙正常开启

[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
 Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
 Active: active (running) since 二 -11-21
:: CST;  days ago
   Docs: man:firewalld()
Main PID:  (firewalld)
  Tasks: 
 Memory: 26.0M
 CGroup: /system.slice/firewalld.service
         └─ /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
月 
::
-87-7-249.brainerd.net systemd[]: Starting firewalld - dynamic firewall daemon...
月 
::
-87-7-249.brainerd.net systemd[]: Started firewalld - dynamic firewall daemon.

2、通过 

firewall-cmd --list-ports

 查看端口开发策略,22 端口正常的

[root@localhost ~]# firewall-cmd --list-ports
22/tcp 80/tcp 9080/tcp

一般情况下,默认 zone 是 public;

3、这里为了避免可能是 zone 策略问题,也看了下 zone 和出网网卡的对应

[root@localhost ~]# firewall-cmd --get-active-zones
public
interfaces: enp61s0f0
[root@localhost ~]#
[root@localhost ~]# firewall-cmd --get-zone-of-interface=enp61s0f0
public
[root@localhost ~]#

这里也没问题,同时为了避免环境差异,对比了其他三台机器,配置策略都是一样的。进程是否 OK

之前在使用 onlyoffic 时遇到的一个问题,在宿主机上通过 docker 启动 onlyoffic,启动完成之后通过 

docker ps

 查看镜像运行状态是正常的,通过 netstat 查看端口对应的进程也存在(宿主机的),但是也是端口无法访问;当时问题是因为镜像容器内部的 nginx 进程没有被拉起导致的,就是宿主机的端口正常,但是映射到容器内部的端口对应的进程不存在。

为了避免重复踩坑,也涨了记性查了下进程

代码语言:javascript代码运行次数:0运行复制

[root@localhost ~]# ps -ef | grep sshdroot      93164 171028  0 14:02 ?        00:00:00 sshd: root@pts/0root      96871  93211  0 14:18 pts/0    00:00:00 grep --color=auto sshdroot     171028      1  0 11月13 ?      00:00:00 /usr/sbin/sshd -D

sshd 进程也是正常的。实际上到这里从研发视角的排查基本就到头了,但是这些都是正常的,问题依然存在。

是否和 docker 有关

在排查完防火墙和进程之后,把目标瞄向了 docker 容器了,这里的依据是:

1、执行 

systemctl status firewalld

 时,有一条告警

WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o d

2、执行 

firewall-cmd --get-zones

 时,提示

block dmz docker drop external home internal nm-shared public trusted work

实际上这两个问题从排查来看,并不是前述问题的原因,但是这两个提示把我们排查的方向带的有点偏。首先是第一个告警,这个问题是因为 dockerd 启动时,参数 –iptables 默认为 true,表示允许修改 iptables 路由表;当时排查时,我是直接将 docker stop 掉了,因此排除了这个因素,如果需要修改docker iptables ,可以在 

/etc/docker/daemon.json

 这个文件修改。

十天学会PHP教程 十天学会PHP教程

以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序。当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少。

十天学会PHP教程 482 查看详情 十天学会PHP教程

关于第二个,这里稍微介绍下;firewalled 有两个基础概念,分别是 zone 和 service,每个 zone 里面有不同的 iptables 规则,默认一共有 9 个 zone,而 Centos7 默认的 zone 为 public:

drop(丢弃)

:任何接收的网络数据包都被抛弃,没有任何回复。仅能有发送出去的网络连接。

block(限制)

:任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp-adm-prohibited信息所拒绝。

public(公共)

:在公共区域使用,不能相信网络内的其他计算机不会对你的计算机造成危害,只能接收经过选取的连接

external(外部)

:特别是为路由器启用了伪装功能的外部网。你不能信任来自网络的其他计算,不能相信它们不会对你的计算机造成危害,只能接收经过选择的连接。

dmz(非军事区)

:用于你的非军事区内的计算机,此区域内可公开访问,可以有限地进入你的内部网络,仅仅接收经过选择的连接。

work(工作)

:用于工作区。你可以基本相信网络内的其它计算机不会危害你的计算机。仅仅接收经过选择的连接。

home(家庭)

:用于家庭网络。你可以基本信任网络内的其它计算机不会危害你的计算机。仅仅接收经过选择的连接。

internal(内部)

:用于内部网络。你可以基本上信任网络内的其它计算机不会威胁你的计算机,仅仅接收经过选择的连接。

trusted(信任)

:可接收所有的网络连接

docker

: 这个当我们在机器上启动 dockerd 时,docker 自己会默认创建一个 zone。

根据前面防火墙部分的排查,我们的规则是在 public zone 的,是正常的。

IP 冲突

在排查完上面几种情况之后,已经开始怀疑是不是硬件问题导致的。并且联系和厂商和机房网管从机房防火墙层面开始排查,但是结论都是正常。这个问题和两位小伙伴闲聊提了下,他们猜测的点中包括了上面的几种情况,此外还提到一个点就是可能是 IP 冲突。

实际上一开始关于 IP 冲突,第一直觉就是不大可能,因为机房里面的机器都是固定分配的,而且不同单位分配的地址也是按段分配,所以不大可能出现 IP 冲突。DHCP

但是在排除上述可以排查的所有问题之后,我又把排查思路转义回到了这个问题上,并开始测试。这里使用的工具是 arp-scan。

执行:

sudo arp-scan -I eno1 -l

 (eno1 是我使用的测试机器的网卡标识)

Linux 服务器端口不可访问问题排查
Linux 服务器端口不可访问问题排查

可以看到,确实存在两个相同的 IP,并且有一台通过 mac 地址对比是我们的机器。通过 arping 也可以看到能够收到两台设备返回的数据包。

Linux 服务器端口不可访问问题排查

image-20231124151834399

那至此基本是明确是因为 IP 冲突导致的。一开始因为当前 IP 绑定了一些上下游服务,不大想改我们的 ip,于是就尝试从 mac 地址来找设备,但是没能实现。如果你的环境允许,你可以先是通过 https://mac.bmcx.com/ 查了下当前冲突的那个 mac 地址对应的设备类型和厂商来缩小人工排查范围。

最后再回头来盘一下 IP 冲突的问题,因为之前提到,机房内的设备 IP 都是固定分配的,那为什么会存在 IP 冲突呢?这只能是我们当前环境是如此的糟糕,当找网管要了办公区及机房 IP 段分配标准时发现,机房的 IP 和办公区域的 IP 分段规则是有重合的。比如机房的 172.87.7.xxx 在办公网环境也会存在,并且是基于 DHCP 协议自动分配 IP 的。

总结

本篇主要记录了一次 Linux 服务端口访问不通问题的排查过程,涉及到了 Linux 防火墙、进程/端口、Docker 以及 arp-scan 等方向和工具。事实证明,大多数问题并不是那么复杂,在没有足够的知识积累的情况下,总归是要花这些成本去弥补自己知识欠缺的。最后想说的就是,一个耗费相当大精力排查的问题,不一定是复杂的问题,往往这个问题的产生原因是相关简单的。

以上就是Linux 服务器端口不可访问问题排查的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/928506.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
excel怎么计算加权平均值_Excel权重系数应用与SUMPRODUCT函数使用
上一篇 2025年11月29日 11:26:13
steam登录入口注册方法 steam官方账号快速入口
下一篇 2025年11月29日 11:26:25

相关推荐

  • 了解Linux下GDM的历史发展及未来趋势

    了解Linux下GDM的历史发展及未来趋势了解Linux下GDM的历史发展及未来趋势了解Linux下GDM的历史发展及未来趋势了解Linux下GDM的历史发展及未来趋势

    《Linux下GDM的历史发展及未来趋势》 在Linux操作系统中,GDM(GNOME Display Manager)是一款常用的显示管理器,用于登录和管理用户会话。它起初是为GNOME桌面环境而设计的,但后来也被其他桌面环境所采用。本文将对GDM的历史发展进行梳理,同时探讨其未来的发展趋势,并提…

    2026年9月29日 • 用户投稿
    000
  • 如何调用IBM Watson的AI服务 Watson自然语言处理API实战

    如何调用IBM Watson的AI服务 Watson自然语言处理API实战如何调用IBM Watson的AI服务 Watson自然语言处理API实战如何调用IBM Watson的AI服务 Watson自然语言处理API实战如何调用IBM Watson的AI服务 Watson自然语言处理API实战

    调用ibm watson的nlp服务主要包括以下步骤:1. 创建ibm cloud账号并开通watson natural language understanding服务;2. 获取api密钥和服务url,建议保存至配置文件或环境变量;3. 使用python构造请求头、请求体并发送post请求进行a…

    2026年9月29日 • 用户投稿
    500
  • VSCode如何通过调试控制台变量赋值测试不同分支逻辑 VSCode 变量赋值测试分支逻辑的新颖调试方法​

    最直接且高效的方法是利用调试控制台进行变量的实时赋值。1. 设置断点:在条件分支语句前或变量定义后设置断点;2. 启动调试:运行程序并在断点处暂停;3. 打开调试控制台:确保调试控制台视图已打开;4. 实时赋值:在控制台输入变量名和目标值,如userrole = ‘admin&#8217…

    2026年9月29日
    100
  • 深入解析Linux操作系统中的GDM

    深入解析Linux操作系统中的GDM深入解析Linux操作系统中的GDM深入解析Linux操作系统中的GDM深入解析Linux操作系统中的GDM

    在Linux操作系统中,GDM(GNOME Display Manager)是一个常见的图形化登录管理器,用于管理用户的登录和注销过程。本文将深入解析GDM的工作原理以及如何定制和优化GDM的配置。同时,将提供一些具体的代码示例,帮助读者更好地理解和使用GDM。 1. GDM概述 GDM是GNOME…

    2026年9月29日 • 用户投稿
    200
  • SublimeText运行Go语言程序_Go语言构建系统设置全攻略

    SublimeText运行Go语言程序_Go语言构建系统设置全攻略SublimeText运行Go语言程序_Go语言构建系统设置全攻略SublimeText运行Go语言程序_Go语言构建系统设置全攻略SublimeText运行Go语言程序_Go语言构建系统设置全攻略

    首先确认Go环境已正确安装并配置PATH,接着在Sublime Text中创建Go构建系统:通过Tools→Build System→New Build System输入指定JSON配置并保存为Go.sublime-build,然后打开.go文件按Ctrl+B或Cmd+B运行程序,确保代码包含pac…

    2026年9月29日 • 用户投稿
    100
  • win11输入法不见了怎么办 win11输入法图标消失解决方法

    win11输入法不见了怎么办 win11输入法图标消失解决方法win11输入法不见了怎么办 win11输入法图标消失解决方法win11输入法不见了怎么办 win11输入法图标消失解决方法win11输入法不见了怎么办 win11输入法图标消失解决方法

    输入法无法调出时,先启用桌面语言栏,再运行ctfmon.exe启动进程,检查TextServicesFramework任务,刷新区域格式,重装输入法,修复键盘驱动,最后重启电脑恢复正常使用。 如果您尝试在电脑上输入中文,却发现无法切换或调出输入法,屏幕上只显示英文字符,这通常是因为输入法组件被意外关…

    2026年9月29日 • 用户投稿
    100
  • 深入理解Java中构造器与this引用的使用限制

    深入理解Java中构造器与this引用的使用限制深入理解Java中构造器与this引用的使用限制深入理解Java中构造器与this引用的使用限制深入理解Java中构造器与this引用的使用限制

    本文旨在解析Java中在继承类构造器中使用this引用导致“Cannot reference ‘this’ before supertype constructor has been called”编译错误的原因。该错误源于Java对象初始化机制,即在调用父类构造器之前,子类…

    2026年9月29日 • 用户投稿
    200
  • “狗都不去做运营”?我劝朋友别把吐槽当真理

    “狗都不去做运营”?我劝朋友别把吐槽当真理“狗都不去做运营”?我劝朋友别把吐槽当真理“狗都不去做运营”?我劝朋友别把吐槽当真理“狗都不去做运营”?我劝朋友别把吐槽当真理

    一句吐槽背后,藏着新媒体运营的真实困境 前几天和一位刚转行做新媒体运营三个月的朋友吃饭,她一坐下就叹气:“现在终于明白网上那句‘狗都不去做运营’是什么意思了。” 每天写脚本、拍视频、追热点,忙得连轴转,结果数据忽高忽低,领导还总说“内容不够抓人”。她说,干了这几个月,越来越怀疑自己是不是选错了方向。…

    2026年9月29日 • 用户投稿
    400
  • Elser AI Comics支持哪些绘画风格?如何选择最适合的风格?

    Elser AI Comics支持哪些绘画风格?如何选择最适合的风格?Elser AI Comics支持哪些绘画风格?如何选择最适合的风格?Elser AI Comics支持哪些绘画风格?如何选择最适合的风格?Elser AI Comics支持哪些绘画风格?如何选择最适合的风格?

    要选择最适合的elser ai comics绘画风格,首先需明确创作主题与受众,再结合各风格特点进行匹配。写实风适合现实题材,卡通风适合儿童或幽默内容,日漫风适合青春恋爱类故事,美式漫画风适用于超级英雄或科幻题材,水墨风则适合传统文化表达;其次可参考平台偏好并尝试生成样本图对比效果,必要时也可混合使…

    2026年9月29日 • 用户投稿
    400
  • win10游戏录制功能Game Bar无法使用_Xbox Game Bar打不开或录制失败修复

    win10游戏录制功能Game Bar无法使用_Xbox Game Bar打不开或录制失败修复win10游戏录制功能Game Bar无法使用_Xbox Game Bar打不开或录制失败修复win10游戏录制功能Game Bar无法使用_Xbox Game Bar打不开或录制失败修复win10游戏录制功能Game Bar无法使用_Xbox Game Bar打不开或录制失败修复

    首先检查并启用Xbox Game Bar开关,确保功能开启;接着确认系统版本为Windows 10 22H2或更高;然后修复或重置Xbox Game Bar应用;再检查Xbox Live相关服务是否启动;更新显卡驱动程序以确保兼容性;最后关闭冲突软件并测试快捷键是否生效。 如果您尝试使用Window…

    2026年9月29日 • 用户投稿
    100
  • sublime怎么快速切换两个不同的文件_文件快速切换操作方法

    sublime怎么快速切换两个不同的文件_文件快速切换操作方法sublime怎么快速切换两个不同的文件_文件快速切换操作方法sublime怎么快速切换两个不同的文件_文件快速切换操作方法sublime怎么快速切换两个不同的文件_文件快速切换操作方法

    掌握Sublime Text快速切换文件需熟悉快捷键与技巧:1. Ctrl+P/Cmd+P打开“Go to Anything”模糊搜索文件;2. Ctrl+Tab循环切换标签页;3. Alt/Cmd+数字键切换指定标签;4. 侧边栏点击文件直接切换;5. Ctrl+Shift+R/Cmd+Shift…

    2026年9月29日 • 用户投稿
    100
  • hdp直播如何调节清晰度

    hdp直播如何调节清晰度hdp直播如何调节清晰度hdp直播如何调节清晰度hdp直播如何调节清晰度

    hdp直播是一款备受欢迎的实时视频播放工具,许多用户在使用过程中希望可以根据实际情况灵活切换直播画质,从而提升观看体验。接下来,本文将详细介绍如何在hdp直播中调整清晰度。 首先,启动hdp直播应用程序。进入主界面后,选择你想要观看的正在直播的频道。在直播播放界面中,通常会在右上角或某个固定区域看到…

    2026年9月29日 • 用户投稿
    100
  • Redhad 7改用CentOS7 yum源【亲测】

    1、遇到问题 在RedHat系统中,默认的yum源需要注册到RedHat Subscription Management才能更新。为了避免花费,我们需要替换为国内的yum源。 2、解决办法 由于CentOS和RedHat系统非常相似,替换为CentOS的yum源是可行的,但过程中可能遇到一些挑战。以…

    2026年9月29日
    100
  • PCIe插槽分配策略:x16/x0/x4还是x8/x8/x4?

    PCIe插槽分配策略:x16/x0/x4还是x8/x8/x4?PCIe插槽分配策略:x16/x0/x4还是x8/x8/x4?PCIe插槽分配策略:x16/x0/x4还是x8/x8/x4?PCIe插槽分配策略:x16/x0/x4还是x8/x8/x4?

    PCIe插槽拆分指将CPU提供的PCIe通道分配给多个插槽,常见模式有x16/x0/x4和x8/x8/x4。x16/x0/x4适合单显卡加高速NVMe存储,保障显卡满带宽运行,适用于主流游戏平台;x8/x8/x4则将第一、二插槽各分x8带宽,支持双GPU或多专业卡协同,适合视频编辑、AI训练等高性能…

    2026年9月29日 • 用户投稿
    100
  • 抖音广告如何转化?抖音广告怎么投放

    抖音广告如何转化?抖音广告怎么投放抖音广告如何转化?抖音广告怎么投放抖音广告如何转化?抖音广告怎么投放抖音广告如何转化?抖音广告怎么投放

    在移动互联网时代,抖音已经成为了一个巨大的流量池。众多品牌纷纷入驻抖音,希望通过广告投放实现品牌曝光和用户转化。如何让抖音广告真正转化为实际的销售业绩,成为了一个亟待解决的问题。本文将为您揭秘抖音广告转化的秘密武器,帮助您实现高效转化。 一、了解抖音广告转化流程 在探讨抖音广告转化之前,我们先来了解…

    2026年9月29日 • 用户投稿
    400
  • Linux 中 linkwatch 进程的作用和原理

    Linux 中 linkwatch 进程的作用和原理Linux 中 linkwatch 进程的作用和原理Linux 中 linkwatch 进程的作用和原理Linux 中 linkwatch 进程的作用和原理

    Linux 中 linkwatch 进程的作用和原理 在 Linux 系统中,linkwatch 是一个非常重要的内核进程,它的作用是实时监测网络接口的状态变化,并在接口状态发生改变时通知系统和相关的应用程序。linkwatch 进程负责监控网络接口的链接状态,例如网线的插拔、网口的启用和停用等操作…

    2026年9月29日 • 用户投稿
    100
  • 调试PHP与MySQL数据库交互时的逻辑错误

    调试php与mysql交互时的逻辑错误需要通过以下步骤:1. sql查询验证:在数据库客户端中运行查询,确保正确执行。2. 数据类型检查:确保php传递的数据类型与数据库字段匹配。3. php逻辑逐步调试:使用var_dump()或print_r()输出变量值。4. 使用事务管理数据一致性。5. 启…

    2026年9月29日
    300
  • vivoY系列摄像头设置怎么调以提升低光拍摄效果?低光模式的优化方法

    vivoY系列摄像头设置怎么调以提升低光拍摄效果?低光模式的优化方法vivoY系列摄像头设置怎么调以提升低光拍摄效果?低光模式的优化方法vivoY系列摄像头设置怎么调以提升低光拍摄效果?低光模式的优化方法vivoY系列摄像头设置怎么调以提升低光拍摄效果?低光模式的优化方法

    要提升vivo Y系列低光拍摄效果,需开启夜景模式,利用多帧合成提亮降噪,配合曝光补偿微调(如-0.3至-0.7EV)避免过曝,保持手机稳定防模糊,必要时用HDR平衡光比,慎用闪光灯,优先使用屏幕补光或外部光源,开启AI场景识别辅助优化,手动对焦确保清晰,并保持镜头清洁;在支持专业模式的机型上,可降…

    2026年9月29日 • 用户投稿
    100
  • 十一出行 这个高效的素材存储中枢一定要提前准备好

    十一出行 这个高效的素材存储中枢一定要提前准备好十一出行 这个高效的素材存储中枢一定要提前准备好十一出行 这个高效的素材存储中枢一定要提前准备好十一出行 这个高效的素材存储中枢一定要提前准备好

    十一黄金周即将到来,许多人都已制定好出行计划,无论是用运动相机记录徒步途中的风景与足迹,还是用无人机航拍海岸线的壮丽曲线,亦或是用手机捕捉街头巷尾的生活气息,这些珍贵瞬间都将成为假期中最动人的回忆。然而,拍摄素材分散在各类设备中,不仅整理麻烦,还存在丢失或损坏的风险。这时,三星 t9 移动固态硬盘便…

    2026年9月29日 • 用户投稿
    100
  • windows怎么开启卓越性能模式_windows卓越性能模式的开启教程

    首先启用卓越性能模式可提升Windows系统性能,具体通过命令提示符输入powercfg命令激活隐藏模式,或使用注册表编辑器手动添加电源方案,还可利用PowerShell脚本实现批量部署,三种方法均需管理员权限操作。 如果您希望提升Windows系统的响应速度和整体性能,尤其是在运行高负载任务时,启…

    2026年9月28日
    200

发表回复

登录后才能评论
关注微信