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

news2024/12/24 9:37:16

目录

排查思路参考:

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、学习小分享

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

缓存(反向代理)服务器-varnish

varnish简介: varnish是一款高性能且开源的反向代理服务器和HTTP加速器,(其实就是带缓存的反向代理服务器)它可以把整个HTTP响应内容缓存到内存或文件中,从而提高web服务器器的响应速度。 与传统的squid相比&#xff0…

electron 打不同环境的包

我用的打包工具: electron-builder 1、在package.json 文件的同级下创建2个js文件 electron-builder-test.config.js electron-builder.config.js electron-builder-test.config.js const basejson require(./electron-builder.config.js); module.exports {extraMetada…

【opencv】教程代码 —features2D(6)透视矫正:读取两个棋盘格图片并进行图像对齐...

perspective_correction.cpp 透视校正 hconcat(img2, img1_warp, img_draw_warp); hconcat(img1, img2, img_draw_matches); #include <iostream> // 引入iostream库&#xff0c;用于进行标准输入和输出操作 #include <opencv2/core.hpp> // 引入opencv的core库&am…

session学习

3次请求均有sessionID session的作用 跟踪用户的行为&#xff0c;方便日后推荐客户端和服务器交互相对安全些session是代表会话&#xff0c;也可理解为客户端和服务端的交互sessionID是服务器生成的唯一字符串&#xff0c;用来跟踪用户行为cookie是浏览器自带的&#xff0c;专…

4.1作业

对菱形继承给出的代码中每一个类&#xff0c;写一个有参构造函数写出下列类的&#xff0c;构造函数(有参、无参)&#xff0c;析构函数&#xff0c;拷贝构造函数和拷贝赋值函数 class Father { int *p; const string name; } class Son:public Father { int *age; 3整理思维导图…

【JavaWeb】Day30.SpringBootWeb请求响应——响应

响应 HTTL协议的交互方式&#xff1a;请求响应模式&#xff08;有请求就有响应&#xff09;那么Controller程序&#xff0c;除了接收请求外&#xff0c;还可以进行响应。 1.ResponseBody 在我们前面所编写的controller方法中&#xff0c;都已经设置了响应数据。 controller方…

前端订阅推送WebSocket定时任务

0.需求 后端定时向前端看板推送数据&#xff0c;每10秒或者30秒推送一次。 1.前言知识 HTTP协议是一个应用层协议&#xff0c;它的特点是无状态、无连接和单向的。在HTTP协议中&#xff0c;客户端发起请求&#xff0c;服务器则对请求进行响应。这种请求-响应的模式意味着服务器…

路径规划——搜索算法详解(六):LPA*算法详解与Matlab代码

上文讲解了D*算法&#xff0c;D*算法为在动态环境下进行路径规划的场景提出了可行的解决方案&#xff0c;本文将继续介绍另外一种动态规划路径的方法——Lifelong Planning A*&#xff08;LPA*&#xff09;算法。 该算法可以看作是A*的增量版本&#xff0c;是一种在固定起始点…

语音克隆技术浪潮:探索OpenAI Voice Engine的奇妙之旅

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Bridge Champ与Ignis公链:探索Web3游戏的新未来

在数字化和去中心化的浪潮中&#xff0c;Web3游戏与公链的融合为游戏行业带来了新的变革。特别是&#xff0c;Bridge Champ和Ignis公链的结合&#xff0c;展示了一种全新的游戏生态模式&#xff0c;不仅为玩家提供了更加公平、透明的游戏体验&#xff0c;同时也为游戏开发和运营…

Higress 基于自定义插件访问 Redis

作者&#xff1a;钰诚 简介 基于 wasm 机制&#xff0c;Higress 提供了优秀的可扩展性&#xff0c;用户可以基于 Go/C/Rust 编写 wasm 插件&#xff0c;自定义请求处理逻辑&#xff0c;满足用户的个性化需求&#xff0c;目前插件已经支持 redis 调用&#xff0c;使得用户能够…

C++ 注册Nacos

下载源码&#xff1a; git clone GitHub - nacos-group/nacos-sdk-cpp: C client for Nacos 编译源码 cd nacos-sdk-cpp cmake . make 生成库文件 在nacos-sdk-cpp 下 注册nacos 将include 和libnacos-cli.so libnacos-cli-static.a 放入你的工程 如果Nacos服务地址:…

3.26号arm

1. SPI相关理论 1.1 概述 spi是一种同步全双工串行总线&#xff0c;全称串行外围设备接口 通常SPI通过4个引脚与外部器件相连&#xff1a; MISO&#xff1a;主设备输入/从设备输出引脚。该引脚在从模式下发送数据&#xff0c;在主模式下接收数据。 MOSI&#xff1a;主设备输…

LangChain入门:9.使用FewShotPromptTemplate实现智能提示工程

在构建智能提示工程时&#xff0c;LangChain 提供了强大的 FewShotPromptTemplate 模型&#xff0c;它可以帮助我们更好地利用示例来指导大模型生成更加优质的提示。 在这篇博文中&#xff0c;我们将使用 LangChain 的 FewShotPromptTemplate 模型来设计一个智能提示工程&#…

StarRocks使用Minio备份和还原

1.安装minio minio api端口&#xff1a;9090 下文用到这个端口 必须提前创建好桶: packfdv5 名称自定义和后面对上就可以 2.创建备份仓库 格式&#xff1a; CREATE REPOSITORY <repository_name> WITH BROKER ON LOCATION "s3a://<bucket_name>/backup…

47.goto语句

目录 一.goto语句 二.语法格式 三.举例 四.视频教程 一.goto语句 goto语句可以使程序在没有任何条件的情况下跳转到指定位置&#xff0c;所以goto语句也就跳转语句。 二.语法格式 格式1&#xff1a;goto label&#xff1a;//其他代码 lable&#xff1a;//其他代码格式2&a…

【Node.js从基础到高级运用】二十、Node.js 强大的REPL

引言 Node.js REPL&#xff08;Read-Eval-Print Loop&#xff09;是一种交互式的命令行工具&#xff0c;它允许开发者快速地执行JavaScript代码&#xff0c;并查看结果。这个功能在进行快速原型设计、调试、学习JavaScript或Node.js时非常有用。 启动REPL 首先&#xff0c;确保…

【总结】在嵌入式设备上可以离线运行的LLM--Llama

文章目录 Llama 简介运用另一种&#xff1a;MLC-LLM 一个令人沮丧的结论在资源受限的嵌入式设备上无法运行LLM&#xff08;大语言模型&#xff09;。 一丝曙光&#xff1a;tinyLlama-1.1b&#xff08;10亿参数&#xff0c;需要至少2.98GB的RAM&#xff09; Llama 简介 LLaMA…

智慧安防监控EasyCVR视频调阅和设备录像回看无法自动播放的原因排查与解决

智慧安防监控EasyCVR视频管理平台能在复杂的网络环境中&#xff0c;将前端设备统一集中接入与汇聚管理。国标GB28181协议视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、…

Spring Boot项目启动速度优化

1、配置自动配置排除列表&#xff0c;减少启动自动配置扫描&#xff0c;配置项spring.autoconfigure.exclude 2、启动类添加索引注解Indexed&#xff0c;去除启动过程中 Components 的扫描步骤&#xff0c;直接从索引文件读取。 import org.springframework.stereotype.lndexe…