如何快速定位网络故障?

昨天晚上把几台在线交易的网站和后台迁移到另外一个数据中心。本以为这属于轻量级的迁移。不会出现什么问题。就让一个兄弟主导,我负责帮忙打下手。没有想到,途中出现好几个问题,看起来很简单,但让他很棘手。感觉不可思议。

从下午5点开始,本以为,满打满算2个小时完全可以搞定。当我们把服务器搬到数据中心,并按照设想的思路配置。结果发现无法从internet访问我们的网站。

网络架构我用图描述一下:

网络架构非常简单。如果你碰到这个问题,如何快速定位问题? 思路很重要,否则只能乱忙一整子。

本来我在边上看书等他搞定,没有想到,快7点了,他一直在折腾,我过去看了看,好像他遇到了什么问题。他欲言又止,面露难色。我问了才知道,碰到上面的问题了。一直在尝试解决,可是目前还没有头绪。

如果是你遇到这个问题,想好如何定位问题了吗?如果想好了,就继续看,如果没有想好就继续,呵呵。

我的排故过程,也行你的手段和我不尽相同,但思路大体一致。

1、在和web服务器相同的网段中接入笔记本电脑,修改本地hosts文件,使用ie浏览器访问网站。结果ok。这步说明web服务器配置没有问题。本来就不应该有问题,因为就是搬个搬个地方,IP地址也没有变动。

2、在A10负载均衡(就是一帮F5的人出来单干开发的。性价比要比F5高)。测试A10和web服务器连通性。ping是ok的。telnet web服务器的80端口也是ok的。基本说明A10到web服务器之间是ok的。

3、测试A10和ASA5520之间的网络连通性,使用ping就可以了。结果是ok的,但穿过A10到后端的web服务怎么样呢?由于ASA5520上没有telnet命令,就在A10和ASA5520之间接入笔记本,还是修改host记录,访问网站。结果是ok的。说明防火墙到内部的web服务器是ok的。

4、把笔记本接入到防火墙外网口上,修改host记录。再访问web服务器,结果是ok的。

5、检查dns服务器,ping web服务器公网域名,发现dns解析是正确的。

到这里,总共差不多5分钟时间,你知道原因是什么了吗?

故障现象是从internet无法访问web服务器,而现在直接从防火墙的外网口是可以访问web服务器的。

如果看到这里还没有搞清楚,那真的要好好学习网络基础知识了。其实原因是我们的联通公网IP地址的80端口被关闭了。赶紧打电话给联通,一问才知道,线路在迁移过程中,线路的配置被恢复到默认状态,也就是80端口默认是关闭的,即使IP地址不变更。

其实网络故障排除,把网络想象为自来水管道。分段逐级查找原因,不要乱猜测是什么问题。很容易把自己思绪搞乱。

时间: 2024-10-27 19:57:44

如何快速定位网络故障?的相关文章

使用IP地址快速定位交换机端口和目标主机

注意:作为管理人员,快速定位交换机端口,找出IP和MAC对应关系是必须掌握的一项技能,熟悉以上方法能为平时故障排除达到事半功倍的效果. 追捕到一个IP地址的最佳办法是找到这个IP地址在物理上是从哪里连上网络的.要做到这一点,就要把该机器连接到交换机的端口以便和机器的MAC地址匹配起来.首先ping这个IP地址,然后从ARP表中得到这台机器的MAC地址. 1.定位MAC——我们使用ping命令看看他机器网卡的MAC地址是多少. Interface: 192.168.3.41 on Interfac

通过gdb快速定位“段错误”的位置

有些时候我们在一段 C/C++ 代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"Segmentation fault (core dumped)"--段错误. 呵呵,这种问题我想很多人会经常遇到.遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没有,如果我们一味的去看代码找太疼苦了,因为我们都相信自己写的代码没问题,现实就是现实.接着,我们可能通过打印来定位到段错误的位置,这样会有个问题,如果代码量大,我们需要打印很多信息才能找到&q

快速找出故障机器

题目描述 关心数据挖掘和搜索引擎的程序员都知道,我们需要很多的计算机来存储和处理海量数据. 然而,计算机难免出现硬件故障而导致网络联系失败或死机.为了保证搜索引擎的服务质量,我们需要保证每份数据都有多个备份. 简单起见,假设每个机器存储一个标号为ID的记录(ID是小于十亿的整数),假设每份数据都保存两个备份,这样就有两个机器储存了同样的数据. 1.在某个时间,如果得到一个数据文件ID的列表,是否能够快速地找出这个表中仅出现一次的ID? 2.如果已经知道只有一台机器死机(也就是说只有一个备份丢失)

Linux性能优化从入门到实战:06 CPU篇:快速定位CPU瓶颈

CPU性能指标 ?? ??(1)CPU使用率:1) 用户态CPU使用率(包括用户态 user 和低优先级用户态 nice).2) 系统CPU使用率.3) 等待 I/O 的CPU使用率.4) 软中断和硬中断的CPU使用率.5) 虚拟机占用的CPU使用率. ??(2)平均负载 Load Average:过去 1 分钟.过去 5 分钟和过去 15 分钟的平均负载 ??(3)进程上下文切换:1) 无法获取资源而导致的自愿上下文切换:2) 被系统强制调度导致的非自愿上下文切换. ??(4)CPU缓存命中率

如何利用快照( snapshot )功能快速定位性能问题

我们常常会遇到这样的困惑,收到用户或者客服的反馈,平台使用有问题,但是测试人员搭建环境后又没办法复现故障,最后导致问题没法解决,眼睁睁地看着用户流失. 这是因为线上生产环境非常复杂.很多时候是偶发性 bug ,但却很难捕捉.特别是随着微服务盛行,系统复杂度增加,线上故障的快速定位和及时分析解决面临着巨大挑战,以前只能靠人来解决.但是人的问题解决能力与速度依赖于经验,有时候甚至需要跨部门的配合,这样的成本非常高,一旦关键人员流失.部门配合不融洽,整个故障的解决速度就会极速下降. 这时候我要给大家带

90%的人会遇到性能问题,如何用1行代码快速定位?

简介:如何在众多异常性能指标中,找出最核心的那一个,进而定位性能瓶颈点,最后进行性能调优.整篇文章会按照代码.CPU.内存.网络.磁盘等方向进行组织,针对对某一各优化点,会有系统的「套路」总结,便于思路的迁移实践. 1. 代码相关 遇到性能问题,首先应该做的是检查否与业务代码相关——不是通过阅读代码解决问题,而是通过日志或代码,排除掉一些与业务代码相关的低级错误.性能优化的最佳位置,是应用内部. 譬如,查看业务日志,检查日志内容里是否有大量的报错产生,应用层.框架层的一些性能问题,大多数都能从日

快速定位网站性能问题,提前下班!

大家好,我是小雨小雨,致力于分享有趣的.实用的技术文章. 内容分为翻译和原创,如果有问题,欢迎随时评论或私信,希望和大家一起进步. 分享不易,希望能够得到大家的支持和关注. 查看network时间 直接来一张大图你怕不怕?哈哈 咱们先看看谷歌浏览器network中waterfall各字段的含义哈.简单看下就成,用到了再查不耽误的. Queueing: 排队时间,比如出现以下几种情况的时候,将进入排队 当前请求前有优先级更高的其他请求 HTTP的1.0和1.1版本中,如果对一个域发送超过六个请求,

UNRECOGNIZED SELECTOR SENT TO INSTANCE 问题快速定位的方法

开发中常见的一类崩溃错误是遇到:unrecognized selector sent to instance 0xaxxxx…而backtrace又无法明确说明错误在哪行代码,如何快速定位BUG呢? 有时读代码一下很难找到是哪个instance出的问题,这时定制有效的DEBUG断点是最好的办法,方法如下: 在Debug菜单中选择 Breakpoints -> Create Symbolic Breakpoint… 在Symbol中填写如下方法签名: 1 -[NSObject(NSObject)

android 代码混淆导致问题,快速定位

代码混淆导致问题,快速定位 在代码混淆打包时,屏蔽了用到的第三方库,以及常规的android混淆屏蔽,但生成的apk,运行还是会崩溃.事出必有因,后来分析找到原因是使用greendao自动生成的java-gen下package中的内容没有屏蔽代码混淆,导致存储数据库时,报*a(SourceFile:) NullPointerException * 混淆打包apk,运行崩溃 总结如下: 我们在打包时,debug版本没问题,但混淆后release版本有时会出现异常崩溃, 比如:a(SourceFil