当你访问不到自己web服务器数据,当你ssh登陆被拒,当你pop3读取邮件失败…一句话,当你连不通你的服务器服务,你该怎么办?本文总结出通用而简单的步骤来指导你.

足够简单的思路

本地机器与远端服务器建立连接,消费服务的整个链路可显而易见划分为三部分,本机到网关部分,互联网部分,服务器网关到服务器部分.当然就大部分情况而言一般都是服务器部分的原因:出于安全问题的考虑,我们总会在服务器端进行访问限制,添加防火墙,设置security forbidden.好吧,无论问题的原因是什么,我们查找问题的步骤如下:

嗅探源:利用最简单的网络工具嗅探问题源为三部分的哪个  (服务器>本地>互联网)

定位:找到源后查看相关防火墙及具体服务的status, configuration && access log等

注意:本文中问题源是指你连接服务数据包终止断掉的地方,而非最后采取措施解决问题的一方

来嗅探问题源吧

从log中挖掘信息

当我们的某项服务不能访问时,我们做的第一件事是什么?看log!不会看log的程序员不是好ops.Log中往往直接了当的报告问题所在,结合具体这项服务的相关知识积累能帮你更好的定位问题源,甚至一下子找到.

举例说

1.当你在命令行中访问某万维网资源时,不能正常得到结果而返回了403错误,返回的状态码就可以看作服务在客户端给你的log,利用http协议基础你便知道问题源为服务器端,是服务器程序将我们的请求出于安全考虑而禁止,我们便可以进行第二步,登陆服务器查看相关配置寻找具体原因.

2.当你远程安全登陆某主机时被拒,如果你熟悉ssh建立通信的过程便可以用-vvv来查看ssh服务连接时的详细log,从而判断出是最初的tcp建立连接失败还是交换key失败,还是身份验证通过但仍被服务器拒绝…,从而定位问题源.

能从服务在客户端提供的log直接找到问题当然是最高效的方法,但有时你可能仅仅找到Connection refused的log或仍让你困惑不已的信息,情参考和使用下列工具.

先来ping一下

PING(Packet Internet Groper)是一款基于ICMP的网络测试工具,用来测试两个主机间的网络连通性.这款工具是应用层直接使用了网络层协议,而没有通过运输层的TCP或UDP,因此不能做端口测试.这是一个最基本的工具,几乎人人都会用,我们先用此命令来ping一下服务器:

命令行命令为:ping ip (domain name)

ping通:可以证明远程服务器对本地主机处于网络开放状态且两机之间的网络通畅,服务连接不通的问题将更可能集中于权限,端口被禁或端口,密码错误等

ping不通:不能证明服务器网络不可达,因为有可能只是服务器禁止接收响应ICMP包.此时本机可以通过各种简单的方法(如打开浏览器,ping一个已知启用了ICMP的网站等)来测试本机与Internet网络连接是否正常.

经历完此步后可以确定因为网络连通性而导致问题的问题源或证明网络连通.

telnet测试服务端口是否开放

PING主要对主机进行测试,涉及不到端口,而有时可能是服务具体端口受限,此时我们就可以用telnet来测试一下服务具体端口是否开放可用.

命令为:telnet address port

telnet成功,证明服务器,防火墙及相关服务端口对本机开放,问题源基本定位于服务器,问题更倾向于与服务的具体业务与配置有关,如服务本身的安全限制,消费服务的数据不合法等.

若ping成功,telnet失败,则是端口出问题,可能被防火墙禁止.此时,问题源可能是服务器的防火墙入口,也有可能是本机或本机所在局域网的NAT的防火墙的出口,请根据自己的实际情况优先查看一端的防火墙状态,其次另一端.

通过telnet具体端口测试后,可以确定问题是否为两个主机部分的防火墙引起,也可以基本定位问题源.

traceroute观察包流动

相比上面两个工具,此工具能让你亲眼观察数据包的流动状况,traceroute可以列出你访问某一服务器的数据包传递的路由状况,timeout时显示***.可以通过该命令查看数据包是否通过本地网关及整个传递过程的信息.命令为:traceroute address

此命令可以辅助telnet更好的定位是服务器端防火墙还是本地防火墙阻挡了数据包.

来定位具体问题

查看主机防火墙

当你定位问题源是服务器或本机的防火墙时,那么就可以登陆主机查看和修改防火墙配置了.

查看服务log

当你定位到时服务器端具体服务的安全设置或业务导致的问题时则请登陆服务器查看相关服务的log.Linux的主机的log文件目录一般为/var/log/ 下.比如说,如果你请求的是万维网服务,服务器程序为apache,则可以查看/var/log/apache/error.log或者 /var/log/apache/access.log.

查看服务配置

最后可以具体查看服务相关配置,因为只有找到具体的问题点才能恰当的解决问题.配置文件则一般在各自服务的目录下查找,比如说ssh的配置文件为 /etc/ssh/sshd_config

最后说两句

本篇为查找和解决问题的理论篇,即将一些基本而简单的探测工具和方法以一个清晰的脉络来应用,如感兴趣请关注下一文——实践篇,将会结合理论介绍一些”栗子”.总之,去做一名ops或dev-ops,对分析问题时获得的信息敏感度很重要,拿到问题时心中能有百种怀疑只待一一验证,这应该是最让人感到踏实的事情了.

链路不通或服务器没响应,连不通服务器服务怎么办(理论篇)相关推荐

  1. 服务器没响应smtp,smtp服务器网关没响应

    smtp服务器网关没响应 内容精选 换一换 应用服务器在物联网平台订阅了删除设备通知后(订阅的通知类型为deviceDeleted),当设备在物联网平台中被删除后,平台会向应用服务器推送通知消息.应用 ...

  2. 服务器没响应smtp,smtp服务器没有响应

    smtp服务器没有响应 内容精选 换一换 重启单台裸金属服务器.当前仅支持强制重启.POST /v2.1/{project_id}/servers/{server_id}/action参数说明请参见表 ...

  3. ns链接服务器没响应,ns链接 服务器

    ns链接 服务器 内容精选 换一换 使用存储容灾服务前,请您先了解表1中描述的使用限制.在生产站点可用区整个AZ故障时,可通过容灾演练功能恢复服务器业务.首次切换/故障切换和容灾演练操作后,登录弹性云 ...

  4. excel打开时显示只读或服务器没响应而打不开怎么办,Excel打开时显示只读或服务器没响应而打不开怎么办...

    打开excel文件时出现 "该文件可能是只读的,或者您要访问的位置是只读的,或者文件所在的服务器没响应 " 解决方法: 在 Excel 2002 中手动恢复文件 Microsoft ...

  5. 路由器说服务器无响应,路由器设置说服务器没响应

    路由器设置说服务器没响应 内容精选 换一换 需要提升您的网络速率.您可以参见Iperf的测试网络的方法?章节测试从迁移源端服务器到华为云(目的端服务器)的网络性能.如果网络速率小于500kbit/s, ...

  6. 路由器设置好后服务器无响应,路由器设置好后提示服务器没响应

    路由器设置好后提示服务器没响应 内容精选 换一换 Computer:路由器连接交换机怎么建立局域网 目录 路由器连接交换机怎么建立局域网 步骤1:网络接线设置 [家庭网络环境布线] [电脑进入路由器] ...

  7. 刺激战场国际服务器没有响应,刺激战场连接服务器没有响应怎么办? 绝地求生刺激战场服务器没响应解决方法是什么?...

    绝地求生刺激战场链接服务器没有响应怎么办?很多玩家在登陆刺激战场的时候会发现自己的手机会提示,连接服务器没有响应,请确认你的网络是否正常,这是为什么呢?怎么才能解决刺激战场连接服务器没有响应的问题呢? ...

  8. excel 只读或服务器没响应,Excel打开时显示只读或服务器没响应而打不开怎么办.doc...

    文档介绍: 胞荆捎橇呵鲤邹缘逛梳婿烤黎分讲湿埋暇磋章铆谜咖送宏速宪勋匹润荆皑尉粳在赐谓羔里樟炽颊忙拣斑挺锭资登惜陶泡实型廉随垂限淌氢紫锤姚笺兼啤彬梢哆雍桂荔帧挣嚎吾歇脖良馅袁夺氢烁群氓瓶庐炊或辞窿罪幅 ...

  9. win8dns服务器没响应,win8笔记本dns服务器未响应怎么办

    在平时的日常生活里,有时候用win8笔记本电脑我们会遇到dns服务器未响应的问题,该如何解决win8笔记本dns服务器未响应这个难题呢?下面是学习啦小编收集的关于win8笔记本dns服务器未响应的解决 ...

最新文章

  1. react中使用构建缓存_通过构建海滩度假胜地网站,了解如何使用React,Contentful和Netlify...
  2. LintCode: Max Tree
  3. TP,TN,FP,FN
  4. 与Andrey Breslav谈论Kotlin 1.0的发布
  5. linux的虚拟文件系统VFS
  6. ZeroC ICE源代码中的那些事 - 嵌套类和局部类
  7. 利用StringUtils可以避免空指针问题
  8. 为什么刹车热了会失灵_刹车油只要不缺,没必要更换,真的是这样吗?
  9. (一)伤不起--java调用dll
  10. mybatis源码:mybatis的sql解析
  11. 学生选课管理系统(python)
  12. 理论+示例,三个问题系统捋清UGC平台的玩法
  13. 【0005】删除文件时,提示你需要权限才能执行此操作
  14. Android Framework实战开发-binder通信常见(oneway,in,out,inout)元素介绍及binder双向通信的实现
  15. android的退格字符,按键安卓版如何实现退格键功能
  16. 天琊 V1.0(测试 1125版)
  17. Oracle hint认识
  18. 【JZOJ5353】【NOIP2017提高A组模拟9.9】村通网【最小生成树】
  19. GitHub 上六大爆款AI学习项目,Star超过5.6w
  20. 公众号如何利用流量广告变现?

热门文章

  1. java: 警告: 源发行版 xx 需要目标发行版 1.10 解决方案
  2. MySQL使用HQL语句实现按中文拼音排序
  3. autojs 开发文档集合
  4. 以下对java中的接口的描述错误的是_Java笔试题
  5. 手把手教程|构建无服务器通用文本识别功能
  6. 北京:一个大学生每年要花多少钱
  7. 中文文本纠错任务简介
  8. 重磅!全站首发,新鲜出炉,1024特辑,手把手教你采集 高德地图 搜索结果,获取全国海底捞信息并可视化
  9. Sql Server 课堂笔记
  10. java signal信号_Java Signal实例