当前位置: 首页 > news >正文

linux学习,网络故障排查

.当linux操作系统产生网络故障时,应先从硬件到软件/,
1,检查网线、网卡。
到机房里检查网线两端是否都亮灯,普通服务器的话应该是绿灯常亮为正常,交换机绿灯闪烁表示正在传输数据。
也可以通过命令ifconfig eth0 / ethtool eth0 来查看某一网卡的链路是否物理连通。

2.确定网线是通的之后,再看物理网卡。
ifconfig可以看到已成功加载的网卡,用ethtool -i ethX可以看到网卡驱动。lspci可以看到所有连接到pci总线的设备,lsmod显示所有已加载的模块, 加载成功的模块也会在/proc/modules中显示。一般情况下,成功加载网卡后,用ifconfig就可以看了。如果此时找不到网卡,那么应该查看物理网卡有没有连接到pci总线上,lspci检测不到的话很有可能就是网卡坏了。还有一种情况是没有加载网卡模块,先去lspci里找到对应厂商和型号:Ethernet Controller,再用modprobe尝试加载正确的模块,比如modprobe 3c509。如果出现错误,说明该模块不存在。这时候你应该找到正确的模块并且重新编译。

3.网卡物理层没有问题之后,再看网卡配置。用ifconfig就可以看到ip、掩码等等,永久修改网卡信息在/etc/sysconfig/network-scripts/ifcfg-ethX(有些linux发行版不一定是这个文件名,但路径多差不多。它上一层中的network文件是修改hostname的),这个文件也是放入DNS的正确地方。修改之后重启network。

4.检查自身路由表是否正确。用route -n查看内核路由表,通过route命令查看内核路由,检验具体的网卡是否连接到目标网路的路由,之后就可以尝试ping 网关,排查与网关之间的连接。如果无法ping通网关,可能是网关限制了ICMP数据包,或者交换机设置的问题。一个很常见的问题:两块网卡分别提供内网和外网服务,如果默认网关是内网网卡,那么外网服务是访问不到的。这时需要删除再添加默认网关。用route delete/add default gw 命令。
现在自身问题已经检查了一遍,看全局。
5.首先看DNS,在/etc/resolve.conf可看到指定域名服务器,但是这里是不能修改的这个文件又networkManager自动产生,修改要去etc/sysconfig/network-scripts/ifcfg-ethX。
光看是没有用的,nslookup可以用来诊断DNS服务器。简单使用:

server是本机所指向的DNS服务器地址,大家可以把自己的DNS地址换成114.114.114.114试一试。
6.如果DNS也没有问题,接下来就要检查是否可以正常路由到某一台主机,或者说当连接不到某一台远端主机时,应该如何追踪路由。traceroute 是用来跟踪从发出数据包的主机到目标主机之间所经过的网关的工具。
参数选项:
-i 指定网络接口,对于多个网络接口有用。比如 -i eth1 或-i ppp1等;
-m 把在外发探测试包中所用的最大生存期设置为max-ttl次转发,默认值为30次;
-n 显示IP地址,不查主机名。当DNS不起作用时常用到这个参数;也可以在检查时排除DNS的问题。

记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间。星号表示防火墙封掉了ICMP的返回信息。大家感兴趣可以挨个百度下显示的ip,比如我用的是世纪互联提供的公共DNS(114.114.114.114),那么上图中211.99.171.25一查就是世纪互联的网关。
6.接下来要检查的是远端主机的服务端口是否打开。可以用telnet和nmap来检查,没有这两个工具的话自行yum安装。比如我们要看下百度的80端口是否打开了:

状态STATE是open表示开启,如果是filtered表示被防火墙过滤了,大家可以试下百度的22端口,肯定是filtered状态。
也可以查看自身的端口有没有打开,不多举例了。自身端口用的比较多的命令是netstat。

7.如果网络还有问题的话就要检查iptables策略和SELinux了。定位问题前最好将SELinux关了,用iptables -L可查看iptables的规则。

转载于:https://blog.51cto.com/liushuai/2133916

相关文章:

  • 微服务概念
  • 开发者论坛一周精粹(第四十八期) ICP经营许可证办理流程
  • 如何禁止JavaScript对象重写?
  • 收藏~软件测试相关工具汇总
  • Redux 知识点梳理和实践
  • jquery-12 jquery的ajax如何使用
  • python学习之老男孩python全栈第九期_day003作业
  • python图像处理模块Pillow的学习
  • Django数据库
  • 【leetcode】403. Frog Jump
  • MongoDB安装运行
  • Python3学习笔记1,基本数据类型-Number、str
  • TenxCloud Microservice,时速云“三级火箭”之微服务治理
  • Nginx 启动出错 error while loading shared libraries: libpcre.so.1
  • Linux下安装MySQL 8.0
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 0x05 Python数据分析,Anaconda八斩刀
  • Codepen 每日精选(2018-3-25)
  • css的样式优先级
  • ES学习笔记(12)--Symbol
  • github指令
  • Javascript编码规范
  • LeetCode算法系列_0891_子序列宽度之和
  • nodejs:开发并发布一个nodejs包
  • orm2 中文文档 3.1 模型属性
  • php面试题 汇集2
  • 从零开始的无人驾驶 1
  • 二维平面内的碰撞检测【一】
  • 配置 PM2 实现代码自动发布
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 深入浅出webpack学习(1)--核心概念
  • 通信类
  • 微信支付JSAPI,实测!终极方案
  • 为什么要用IPython/Jupyter?
  • 自定义函数
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #android不同版本废弃api,新api。
  • $.ajax中的eval及dataType
  • (06)Hive——正则表达式
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (五)IO流之ByteArrayInput/OutputStream
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET Core 2.1路线图
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET Core中的去虚
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution