服务器设置了端口映射之后外网还是访问不了服务器

目录

排查思路参考:

1、确认服务是否在运行

2、确认端口映射设置是否正确

3、使用防火墙测试到服务器的连通性

4、检查服务内部的配置

5、解决办法

6、学习小分享

我们在一个完整的网络数据存储服务系统设备中都会存有业务服务器、防火墙、交换机、路由器(可有可没有),其中的业务服务器主要用来数据存储,防火墙主要做安全防护,交换机、路由器主要是做用于局域网内部的数据传输,而路由器则用于不同网络之间的数据传输。两者结合使用可以构建一个完整的网络架构,实现数据在局域网和广域网之间的高效传输和通讯。

而我今天遇到一个网络异常问题,我将自己的排查思路和解决办法做记录,以便大家共同学习交流。首先我的网络拓扑为:

环境:办公电脑需要远程ssh到服务器1上面,防火墙已经是开好端口映射,能正常访问。集群三台服务器:服务器1、服务器2、服务器3,每台节点上有三个ip地址,其中一个ip地址为业务ip。

出现的问题为:我在集群服务器上做了系统升级之后,重启了系统(敲重点后面排查会与这个相关),之后发现办公电脑无法ssh到服务器1上面,而服务器1也无法ping通服务器A的地址,但是服务器2、3是可以ping通的,而我用笔记本直连服务器1是可以ssh的

排查思路参考:

1、确认服务是否在运行

检查服务器上对应端口的服务是否在运行。您可以使用命令行工具(如 netstat)或特定服务的控制台来验证服务状态。

检查服务器上的端口是正常启动的,端口也是开放的。 

2、确认端口映射设置是否正确

  • 检查您的路由器或防火墙设置,确保端口映射规则正确地将外部流量引导到服务器的内部IP地址和端口。
  • 确保您正在使用正确的外部IP地址(公网IP)来访问服务器。

端口映射配置这个没问题,因为升级之前都是配置好的,都是正常通的。

3、使用防火墙测试到服务器的连通性

使用防火墙测试到服务器1的时候发现ping不通,防火墙无法ping通 通过端口映射访问服务器(而防火墙内部的:服务器1、服务器2、服务器3、服务器B之间相互都能ping通),这时就可以按照以下步骤进行排查:

1、检查防火墙设置

  • 确保防火墙允许 ICMP Echo 请求通过。有些防火墙默认情况下可能会禁止 ICMP 流量,包括 ping 请求。
  • 如果是在服务器上设置防火墙,例如 iptables,确保相应的规则允许 ICMP 流量通过。

 2、确认网络连接:

确保防火墙和服务器之间的网络连接正常。可以尝试ping防火墙的内部地址,以确是否存在网络连接的问题

3、检查路由器设置: 

如果服务器位于路由器后面,确保路由器上的防火墙设置正确,并且允许 ICMP Echo 请求通过。

 因为我现场配置的是交换机,检查交换机的配置,交换机上面设置的网关1.254是ping通的,所以服务器到交换机那部分是没问题的。

4、检查服务内部的配置

4、检查服务器配置:

1、保服务器的网络配置正确,包括网关和子网掩码设置。如果网络配置有误,可能导致无法与防火墙进行通信。

2、测试网络连通性:检查到网关的连通性;检查内部网卡之间是否相互联通;检查集群之间的通信。

 检查服务器配置,心里想着服务器配置没有做过任务更改的地方,不是配置的问题但是发现了服务器1主节点内部的三个网卡相互不通,其他两个IP无法ping通业务ip;子节点服务器2、服务器3也无法ping通服务器1主节点的业务ip,这里肯定有问题:顺藤摸瓜继续排查主节点服务器1的路由:

!!!发现多了一条默认路由:一般默认路由只有一条。同时还发现两个网卡里面都配置了网关,导致系统重启的时候重新加载了网络服务,导致多了两条默认路由。

多了一条默认路由的原因是:

服务器a主节点配了两个接口的地址和网关(比如eth0 配了IP和网关 eth1也配了网关),升级的时候重启了系统或者网络服务(我确实是升级了服务且重启了),他就生成了两条默认路由,系统会根据网卡配置文件的网关来创建默认路由

5、解决办法

1、删除多余的默认路由和删除其中一个网卡配置里面的网关配置:

查看路由:route -n

删除路由:类似于如下

 ip route del 192.168.0.0/24 gw 192.168.0.1 ----del 删除路由 -net 设置到某个网段的路由 gw 出口网关

2、查看metric这个是优先级,越小越优先可以调的,两个都需要的话就把外网的调小点。

 以上排查完之后,问题就解决了,防火墙能ping通我的服务器1,我的办公电脑也能通过NAT装换的地址访问到我的服务器1。

如果有到这一步问题还没解决的。分享下一步的排查思路:

  1. 使用其他工具进行测试

     如果 ICMP Echo 请求仍然无法通过,可以尝试使用其他工具(如 telnet)来测试端口映射是否正常工作。这可以帮助确定是 ICMP 相关的问题还是端口映射的问题。

      2检查网络设备日志

  查看路由器和防火墙等网络设备的日志,以查找任何与被阻止流量相关的记录。

6、学习小分享

插拔一个小分享,准备下一步学习爬虫的相关技术的看看下面哦。我们一起学习一起进步!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/518359.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Laravel】09 用模型批量赋值简化代码 数据库关系

【Laravel】09 用模型批量赋值简化代码 & 数据库关系 1. 用模型批量赋值简化代码2. 数据库关系 1. 用模型批量赋值简化代码 原来存储一个值 2. 数据库关系 这里可以看到两个SQL是一样的

STM32之HAL开发——不同系列SPI功能对比(附STM32Cube配置)

不同系列STM32——SPI框图 F1系列框图 F4系列框图 TI模式时序图特性 F7系列框图 H7系列框图 注意:F7系列以及H7系列支持Quad-SPI模式,可以连接单,双或者四条数据线的Flash存储介质。 SPI——Cube配置流程 RCC时钟源配置 SYS系统调试模式配…

Spring 详细总结

文章目录 第一章 IOC容器第一节 Spring简介1、一家公司2、Spring旗下的众多项目3、Spring Framework①Spring Framework优良特性②Spring Framework五大功能模块 第二节 IOC容器概念1、普通容器①生活中的普通容器②程序中的普通容器 2、复杂容器①生活中的复杂容器②程序中的复…

MySQL、Oracle查看字节和字符长度个数的函数

目录 0. 总结1. MySQL1.1. 造数据1.2. 查看字符/字节个数 2. Oracle2.1. 造数据2.2. 查看字符/字节个数 0. 总结 databasecharbyteMySQLchar_length()length()Oraclelength()lengthB() 1. MySQL 1.1. 造数据 sql drop table if exists demo; create table demo (id …

Cesium 批量种树

1、准备树种建模 分各种级别建模LOD1-LODN 其中meta.json长这样: Gltf再3Dmax中导出Obj,再通过ObjToGltf的工具转换,参考 https://editor.csdn.net/md/?articleId96484597 2、准备shp点数据。(shp中的点位就是种树的位置) 3、准…

【并发编程】线程安全

线程安全 1. 讲一下 synchronized 关键字的底层原理 1.1 基本使用 如下抢票的代码,如果不加锁,就会出现超卖或者一张票卖给多个人 synchronized,同步【对象锁】采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】 其它线程再想获…

多模态AI全解析:概念、应用与风险

大家好,在人工智能的快速发展浪潮中,多模态学习作为一项革命性技术,正逐渐改变着我们与机器交互的方式。 自OpenAI推出ChatGPT以来,人工智能已经从处理单一文本输入的单模态工具,迈向了能够理解和生成包括文本、图像、…

【算法】【floodfill】洪水灌溉

文章目录 1. 岛屿数量2. 岛屿最大面积3. 被围绕的区域4. 太平洋大西洋水流问题5. 扫雷游戏6. 机器人的运动范围 1. 岛屿数量 👉🔗题目链接 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格&#xff0…

查看MySQL版本的方式

文章目录 一、使用cmd输入命令行查看二、在mysql客户端服务器里查询 一、使用cmd输入命令行查看 1、打开 cmd ,输入命令行: mysql --version 2、还是打开cmd,输入命令行:mysql -V (注意了,此时的V是个大写的V) 二、…

unity之 “Allow ‘unsafe‘ code“ 在哪里。

导入unity中的代码,出现如下错误,该如何解决? Unsafe code may only appear if compiling with /unsafe. Enable "Allow unsafe code" in Player Settings to fix this error 解决这个问题,只需要设置就可以。 设置的地…

深入理解计算机系统 家庭作业 2.80

/* 网上很多都没说清楚到底出题人是什么用意,用意就是既要又要,既要不溢出,又要不丢失精度.所以就分开处理,在丢失之前把丢失的部分保存下来,然后两部分算好再相加. 可以先看一下我的2.79题 用的是先乘后除 会溢出 符合题意 2.80要求的是先除后成 不会溢出 但会丢失精度 核…

C++中二叉搜索树的模拟实现(二叉搜索树是map,set的底层原理)

搜索二叉树 定义 搜索二叉树:左子树小于根,右子树大于根.搜索二叉树的中序序列是升序的.所以对于二叉树而言,它的左子树和右子数都是二叉搜索树 下图就是二叉搜索树 二叉搜索树的性质: 二叉搜索树的中序遍历出的数据是有序的,并且二叉树搜索树在查找某个数的时候,一般情况下…

9proxy—数据采集工具全面测评

9Proxy数据采集工具Unlock the web with 9Proxy, the top residential proxy provider. Get unlimited bandwidth, affordable prices, and secure HTTPS and Socks5 configurations.https://9proxy.com/?utm_sourceblog&utm_mediumcsdn&utm_campaignyan 前言 在当今数…

如何实现仿微信界面[我的+首页聊天列表+长按菜单功能+添加菜单功能]

如何实现仿微信界面[我的首页聊天列表长按菜单功能添加菜单功能] 一、简介 如何实现仿微信界面[我的首页聊天列表长按菜单功能添加菜单功能] 采用 uni-app 实现,可以适用微信小程序、其他各种小程序以及 APP、Web等多个平台 具体实现步骤如下: 下载…

Windows 2008虚拟机安装、安装VM Tools、快照和链接克隆、添加硬盘修改格式为GPT

一、安装vmware workstation软件 VMware workstation的安装介质,获取路径: 链接:https://pan.baidu.com/s/1AUAw_--yjZAUPbsR7StOJQ 提取码:umz1 所在目录:\vmware\VMware workstation 15.1.0 1.找到百度网盘中vmwa…

【Android】App通信基础架构相关类源码解析

应用通信基础架构相关类源码解析 这里主要对Android App开发时,常用到的一些通信基础类进行一下源码的简单分析,包括: Handler:处理器,与某个Looper(一个线程对应一个Looper)进行关联。用于接…

【React】React hooks 清除定时器并验证效果

React hooks 清除定时器并验证效果 目录结构如下useTime hookClock.tsx使用useTime hookApp.tsx显示Clock组件显示时间(开启定时器)隐藏时间(清除定时器) 总结参考 目录结构如下 useTime hook // src/hooks/common.ts import { u…

亚马逊AWS永久免费数据库

Amazon DynamoDB 是一项无服务器的 NoSQL 数据库服务,您可以通过它来开发任何规模的现代应用程序。作为无服务器数据库,您只需按使用量为其付费,DynamoDB 可以扩展到零,没有冷启动,没有版本升级,没有维护窗…

05-延迟任务精准发布文章

延迟任务精准发布文章 1)文章定时发布 2)延迟任务概述 2.1)什么是延迟任务 定时任务:有固定周期的,有明确的触发时间延迟队列:没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发…

HuggingFace踩坑记录-连不上,根本连不上

学习 transformers 的第一步,往往是几句简单的代码 from transformers import pipelineclassifier pipeline("sentiment-analysis") classifier("We are very happy to show you the 🤗 Transformers library.") ""&quo…