Linux: network: ping不通的原因之一:route设置

在Linux的ip route命令输出中,比如下面一条(属于subnet路由,是专业叫法/称谓)。

135.2.0.0/16 dev eth2 proto kernel scope link src 135.2.221.111

具体字段含义:

135.2.0.0/16: 这是目标网络,即当数据包的目标地址在135.2.0.0/16这个网段内时,使用这条路由。【这个网段范围有点大,首先要怀疑配置问题。如果配置有问题会导致一个不同步,当ping另一个ip的时候,如果这个目的地址恰巧落在这个subnet路由里,但是实际又不属于这个subnet网段,这个时候就会有ping失败的问题。】

dev eth2: 指定这条路由与网络接口eth2相关联,数据包会通过eth2接口发送。

proto kernel: 表示这条路由是由内核自动生成的。

scope link: 表示这条路由的作用范围为本地链路(link-local),通常表示路由的下一跳在同一个网络段内。会尝试做arp request,请求目的地址,或者说在同一网段的ip地址对应的mac地址。

src 135.2.221.111: 这个字段明确指出,当匹配这条路由时,系统将使用135.2.221.111作为数据包的源IP地址。

src字段的作用:

指定默认源地址: 如果系统需要向135.2.0.0/16网络中的某个IP地址发送数据包,而没有通过其他方式(例如套接字绑定)指定源地址,系统将使用路由表中src字段指定的IP地址作为源地址。

多网卡配置: 在多网卡配置下,系统通常会通过src字段来明确指定数据包的源地址,以确保数据包的源IP地址与所使用的网络接口匹配。

避免IP冲突或路由异常: 通过指定src地址,可以确保发出数据包的源地址与正确的子网匹配,防止由于错误的源地址配置而引发网络问题。

所以这里可以看到当前这个route的设置,说明这个局域网设置的subnet内的ip地址非常多,也就是非常大的subnet。一般是代表不太合理。

如果这个时候,arp request没有得到arp reply,就会出现ping不通的问题。

相关推荐
DeeplyMind4 小时前
第12章 Docker存储机制(重要)
运维·docker·容器
鸠摩智首席音效师5 小时前
如何在 Linux 中将文件复制到多个目录 ?
linux·运维·服务器
香蕉你个不拿拿^5 小时前
Linux进程地址空间解析
linux·运维·服务器
云小逸5 小时前
【nmap源码分析】Target 类——目标主机信息管理的核心引擎
服务器·windows·nmap
人间打气筒(Ada)5 小时前
Linux学习~日志文件参考
linux·运维·服务器·学习·日志·log·问题修复
xuhe26 小时前
Claude Code配合Astro + GitHub Pages:为 sharelatex-ce 打造现代化的开源项目宣传页
linux·git·docker·github·浏览器·overleaf
charlie1145141916 小时前
RK3568跑Arch Linux全路程指南(以正点原子的RK3568开发板为例子)
linux·嵌入式·rootfs·教程·环境配置·嵌入式linux·工程实践
OpsEye7 小时前
交换分区优化实战:从监控到调优,让系统告别卡顿
运维·it·监控·告警·swap·监控系统·交换分区
大熊程序猿7 小时前
metabase 报表使用
运维
爆米花byh7 小时前
在RockyLinux9环境的Doris单机版安装
linux·数据库·database