有刚出差50天同事找来说他第一天上班,pc无法上网,让给看看哪的问题?问他网络物理状态,说没问题,就是网卡标志那里有黄色的感叹号。

无法上网可能的原因:

1、网卡连接存在物理故障

             2、无法获得网关mac地址,arp -a查询不到网关mac地址,上网包无法发出。可能是dhcp获取ip失败,或者存在ip冲突,或者网卡的广播域不对,和网关不在同一广播域里。

             3、dns失败,无法解析目的域名。

说他是设置的固定ip,让arp  -a查一下网关192.168.209.1的mac地址,反馈没有查到,怀疑核心交换机没有响应pc的arp请求,公司交换机出过这样的问题,询问pc的mac地址,回答是下图:

决定去交换机上查一下mac地址和arp表。已知组网如下:

组网中209交换机是当二层接入交换机用,起vlan209,核心光交换机3048上起vlan209的svi子接口地址192.168.209.1作为209交换机下设备的网关。

发现在交换机的22口有这个mac地址,清一下mac地址,然后在核心网交换机去查找对应mac地址。

发现核心交换机的10G口上有这个mac地址,证明二层广播通道是正常的,排除pc的网线和网关不在同一广播域里的可能性。但却在arp缓存里找不到这个mac地址,如下图:

确定交换机的6口是209交换机的对接接口,为了确定问题,镜像一下1/1/6口的消息看看:

wireshark做预过滤,过滤ether  hw    D8CB.8A29.26FC。

发现这个mac地址用169.254.163.76的ip地址发出获取网关192.168.205.1的mac地址的arp消息,但没有应答消息。明显这属于网关mac地址获取失败导致的故障。

169.254.0.0/16是链路本地地址是互联网协议地址仅用于本地网络(链接)或主机连接到的点对点连接的段内的通信。路由器不转发与链路本地地址的数据包。链路本地地址可以由管理员手动或由操作系统程序来分配。它们大多使用无状态地址自动分配。在IPv4中,它们通常仅出现在当地址配置的没有外部,状态机制存在,如动态主机配置协议(DHCP失败),或者当另一个初级配置方法未能实现(ip冲突)。

网卡ip变成169.254.x.x,一种情况是是pc的网卡启动或者dhcp续租成功时,检测到环境中存在ip冲突,操作系统为保护起见分配的保留ip地址。此地址不是合法的地址,因此无法获取的网关的mac地址,无法实现上网等操作。路由器不响应这类消息的arp请求,这个地址无法通过路由器。

用169.254.xxx.xxx的地址发起的arp请求,网关是不处理的,所以pc无法获取网关192.168.209.1的mac地址,网关的arp表里也没有对应mac地址的arp缓存出现。他设置的是固定ip才这样的,应该是ip冲突所致,让他改成自动获取试试?

看抓包如下:

发现,dhcp过程正常通过,获得ip是192.168.209.97,核心交换机响应arp请求:

问题解决。

pc设置固定ip或者dhcp时,网卡激活i,或者dhcp获得ip后,会发三次arp探查消息,看广播域里是否有同样的ip,来检测ip冲突。特征是arp的源ip和目的mac为0。没有应答情况下,发出免费的arp消息,在这个抓包里查找一下,如下图:

免费arp的特征如下图:

免费arp的特征是源和目的ip是一样的,目的mac地址为0。

 用自己的pc192.168.205.201的固定ip验证一下:

查看系统中有192.168.205.5,mac地址是 0030.18CC.7B40的ip在线,设置成这个ip抓包看一下。

设置后发现,系统托盘的网卡标志变成:

查看网络状态:

抓包里的查看过滤自身mac地址 eth.addr== 44:37:e6:8d:95:27  && arp

发现第一次进行arp探查时,就有 0030.18CC.7B40的设备发出响应。确定冲突了,此ip不能用,系统分配了169.254.57.43的ip地址,用这个ip发出同样的arp探查消息。

现在想来,一开始同事的截图里就有169.254.163.76的ip地址,而且他说的配置的固定ip192.168.209.78在核心交换机查询是其他mac地址,这样就能直接判断出是ip冲突问题,抓包走了弯路。

模拟网卡设置为自动获取的处理方式

已知,本机mac地址 44-37-E6-8D-95-27自动获取的ip地址是192.168.205.57,就把广播域里另一台笔记本设置此ip地址,本机改成自动获取后抓包如下:

dhcp后获得192.168.205.27,arp探查后,发现环境中有冲突,这是临时使用169.254.57.45的本地链路地址,pc发出dhcp的decline消息,告诉服务器此ip不可用,然后重新发起dhcp,获得192.168.205.55的ip地址。同样,三次探查没有发现冲突,使用此地址。

总结:1、无法获取网关的arp,可能是pc采用本地链路地址169.254.xx.xx,可能环境中存在ip冲突或者dhcp获得到的地址环境中有冲突。

2、对dhcp服务器,有的在offer前,会向广播域里发出arp查找消息,看是否有冲突,不冲突才给出,有的直接在ip池里找一个没使用的发出offer。pc收到这个ip,发起检查发现冲突了,客户端会发decline消息拒绝此ip,然后重新发起dhcp流程,直到获得可用ip地址。

3、pc获得网卡上电,会用自己的ip地址发出三次arp探查消息,没有冲突发出免费arp消息。有冲突,使用本地链路地址169.254.xx.xx,继续同样的流程。

4、网关不处理169.254.xx.xx的ip地址的arp消息。

5、若网卡本地连接详细信息出现两个自动配置ipv4地址,而且其中一项是169.254打头,说明ip冲突了。

6、若设备发起dhcp消息,而环境中无应答,dhcp超时失败,系统也会分配一个169.254打头的ip地址,同样发起最多三次冲突检测,但无法获取到网关mac地址。

7、dhcp服务器分配一个ip地址给一个mac地址后,会建立一个ip和mac地址的自动绑定关系,在租期内用户关机或者掉线后,没有超过租期再次接入网络,服务器会若检查到此ip没有被占用,会再次分配这个ip给这个mac地址设备使用。这个对应关系在服务器重启或服务终止后失效。当服务器收到该mac发出release消息或者再次discover消息后,绑定关系取消。超过租期没有续租的,绑定关系取消。

无法上网故障排查过程及复现过程系ip冲突造成相关推荐

  1. 计算机不能上网 故障分析,电脑不能上网故障排查方法教程

    人们使用电脑时候最不想看到的事情之一就是上不了网了,无论是工作还是玩游戏时候都很不爽.原因有很多种大家可以根据自己的情况查找下面提供的解决办法. 第一部分:有线无线均不能上网 1.找一台安卓手机,试一 ...

  2. 电脑连不上网故障排查思路

    面试经常被问到的一个问题,然后百度搜索整理出了三种回答思路: 网络故障排查 1.检查硬件,网线两端有没有插好,路由器是否有问题: 试一下ping路由器的IP地址: 使用拨号上网:将宽带网线从路由器中拔 ...

  3. ip冲突问题解决和复现过程

    ip冲突导致无法上网问题复现 目录 问题及排除过程 1 复现过程: 2 2.1. pc插拔网线后情况: 2 2.2. 环境中存在pc的ip冲突的情况: 4 2.3. 虚拟机的模拟 5 2.4. 交换机 ...

  4. oracle bug号,《一次Oracle bug的故障排查过程思考》的问题重现解决

    在<一次Oracle bug的故障排查过程思考>这个问题排查过程当中,当时和同事们一块儿猜想.实验.论证,昨天有幸,通过了精心设计,在生产环境中,进行了问题重现,以及解决的部分验证.sql ...

  5. foxmail发送邮件邮件发送失败故障排查过程

    Dns解析出的ip不通导致无法发送邮件 问题:搬入公司新址,使用一运营商的专线网络后(原来使用电信宽带),经常有同事反馈有时无法发送邮件,有时能成功.今天有同事反馈无法发邮件,但他的账号在别人pc使用 ...

  6. 【WebLogic】记录一次WebLogic进程无法启动的故障排查过程

    故障现象: WebLogic进程在启动的时候出现报错,导致进程异常SHUTDOWN. 报错信息: ####<Jan 4, 2022 2:51:13 PM CST> <Critical ...

  7. ip冲突引起呼叫故障的问题处理过程

    一次领导让去贵州六盘水,去帮办事处解决一个公司ippbx的呼叫故障问题,说问题已经反馈处理一个月,工程和研发多次处理都没定位,现场意见很大,再不解决,用户要拆设备了.研发这边不派人去,可能会造成当地办 ...

  8. VIBE复现过程,使用nvidia和libOpenGL.so渲染出错及解决方案

    VIBE复现过程,使用nvidia和libOpenGL.so渲染出错及解决方案 VIBE全称是"Video Inference for Human Body Pose and Shape E ...

  9. Office 远程代码执行漏洞复现过程

    本文来自作者肖志华在 GitChat 上分享 「Office 远程代码执行漏洞复现过程」,「阅读原文」查看交流实录. 编辑 | 天津饭 直接贴本地复现过程,至于怎么利用还请自己思考. 2017年11月 ...

最新文章

  1. jQuery可悬停控制图片轮播
  2. tensorflow sigmoid_cross_entropy_with_logits 函数解释
  3. oracle split函数用法_「干货」Python字符串中的split方法
  4. 机器学习实战_09_树回归_源代码错误修正
  5. 怎么修改存储路径_Power Query数据位置变了?利用参数轻松解决源文件路径问题...
  6. vue resource then
  7. Anti-Screen Capture(Prevent Screen Captures)截屏与反截屏
  8. C Tricks(七)—— 有序向量的去重
  9. px 与 dp, sp换算公式?(转)
  10. 最优秀的微信小程序UI组件库
  11. 呼吸灯verilog实现
  12. GIS-空间分析(4)
  13. Hie with the Pie(Floyd+状压dp)
  14. 面试题:堆、栈、队列的区别以及使用场景
  15. pdk开发学习之路-从零开始
  16. 翻译:浏览器内部的工作原理
  17. 最新版Visual Studio下载-离线安装包制作-UltraISO压缩-VS安装
  18. PC移植安卓---2018/04/26
  19. SAP MTS案例教程目录
  20. 榆木搜官网_网路已为您准备好,榆木

热门文章

  1. Linux Vim 替换日期
  2. 大模型,化繁为简归文心
  3. 运输公司对用户计算运费,路程越远,折扣越多,标准如下图
  4. jquery鼠标移入文字提示_jquery实现鼠标滑过显示提示框的方法
  5. 设置VS解决方案资源管理器文件分目录显示
  6. CQBZ 2444 帮忙
  7. [技巧] Javascript模块化编程(三):require.js的用法
  8. Android使用EditView输入框输入身份证时,自动补全身份证最后一位验证位
  9. 解读通过风格迁移的浓雾天气条件下 无人机图像目标检测方法
  10. Python爬虫走代理