Linking

Capturing Life & Tech

  • 主页
  • 随笔
  • 关于我
所有文章 外链

Linking

Capturing Life & Tech

  • 主页
  • 随笔
  • 关于我

network connect error, route conflict

阅读数:次 2024-03-11
字数统计: 818字   |   阅读时长≈ 3分

🚀 内网跨网段通信异常排查与解决实战总结

最近在工作中遇到了一次跨网段通信异常问题,经过排查、分析和处理,不仅解决了问题,还复盘了不少网络基础知识。特此记录。

🧩 1. 问题背景

在内网环境中,我们有如下网络结构:

  • A 服务器:172.21.2.1
  • B 服务器:172.21.2.6
  • 客户端 C:192.168.20.163

现象:

  • C 机器需要访问 B 服务器的某个服务,但通信不通(ping 不通,业务请求失败)。
  • 确认了防火墙关闭,服务已启动,网络线正常。

🧰 2. 问题排查过程

2.1 基本连通性测试

  • 从 C 机器 ping B:失败 ❌
  • 从 C ping A:失败 ❌
  • 从 B ping C:失败 ❌

2.2 检查路由表

分别在三台机器上执行 ip route 查看路由信息,发现:

A 服务器(172.21.2.1):

1
192.168.0.0/16 dev br-6497c3bc74fb

B 服务器(172.21.2.6):

1
192.168.0.0/16 dev br-64a151128058

C 机器(192.168.20.163):

1
2
192.168.20.0/24 dev wlp3s0
172.21.0.0/16 via 192.168.20.254

2.3 发现问题

  • B 服务器有一条大网段路由 192.168.0.0/16,覆盖了 C 所在的 192.168.20.0/24 网段。
  • 这种情况下,B 收到发往 192.168.20.* 的流量时,会直接走自己的 br-* 网桥,不会通过默认网关或物理网卡发出去,导致通信失败。

🔍 3. 原理知识总结

3.1 路由匹配原则

Linux 路由表根据 “最长前缀匹配” 原则确定优先级:

  • 192.168.20.0/24 优先级高于 192.168.0.0/16
  • 但如果只存在 192.168.0.0/16 路由时,所有 192.168.*.* 都会走它。

3.2 路由冲突的典型表现

  • 访问特定 IP 段流量被错误吸收或丢弃。
  • 发往目标 IP 的流量进入错误的网桥或接口。
  • ping 不通、连接失败、抓包无数据。

3.3 常用排查工具

工具 用途
ping 测试网络连通性
ip route 查看路由表
ip a 查看 IP 和网卡状态
traceroute 跟踪网络路径
arp -a 查看 ARP 映射表
tcpdump 抓包分析流量

🛠️ 4. 解决方案

4.1 临时删除冲突路由

1
ip route del 192.168.0.0/16

4.2 添加正确路由(如果需要)

1
ip route add 192.168.20.0/24 via <正确网关>

4.3 永久修复

根据系统,考虑写入对应配置文件防止重启丢失:

  • RHEL/CentOS:/etc/sysconfig/network-scripts/
  • Ubuntu:/etc/netplan/
  • 或者在 Docker、K8s 等容器环境下检查网络插件配置。

🛡️ 5. 防止类似问题的思考

  • 控制网段大小,避免使用超大网段。
  • 定期巡检路由表,发现异常及时修正。
  • 规范容器网络,避免与内网重叠的网段。
  • 设计合理的内网 IP 规划。

📜 6. 总结

这次问题看似简单的“网络不通”,实际上是由隐藏在主机内部的路由冲突引起的。
通过逐步排查路由表和分析网络原理,快速定位并修复了问题,也复习了不少网络基础。

✅ 建议定期检查服务器的路由表,保持内网环境稳定。

  • 本文作者: Linking
  • 本文链接: https://linking.fun/2024/03/11/network-connect-error-route-conflict/
  • 版权声明: 版权所有,转载请注明出处!
  • network
  • route
  • network

扫一扫,分享到微信

2024ParisOlympicGame_Basketball_record.jap.usa.serb.md
MongoDB 连接数异常增长及优化实践:从排查到提升系统稳定性
  1. 1. 🚀 内网跨网段通信异常排查与解决实战总结
    1. 1.1. 🧩 1. 问题背景
    2. 1.2. 🧰 2. 问题排查过程
      1. 1.2.1. 2.1 基本连通性测试
      2. 1.2.2. 2.2 检查路由表
        1. 1.2.2.1. A 服务器(172.21.2.1):
        2. 1.2.2.2. B 服务器(172.21.2.6):
        3. 1.2.2.3. C 机器(192.168.20.163):
      3. 1.2.3. 2.3 发现问题
    3. 1.3. 🔍 3. 原理知识总结
      1. 1.3.1. 3.1 路由匹配原则
      2. 1.3.2. 3.2 路由冲突的典型表现
      3. 1.3.3. 3.3 常用排查工具
    4. 1.4. 🛠️ 4. 解决方案
      1. 1.4.1. 4.1 临时删除冲突路由
      2. 1.4.2. 4.2 添加正确路由(如果需要)
      3. 1.4.3. 4.3 永久修复
    5. 1.5. 🛡️ 5. 防止类似问题的思考
    6. 1.6. 📜 6. 总结
© 2015-2026 Linking
GitHub:hexo-theme-yilia-plus by Litten
本站总访问量次 | 本站访客数人
  • 所有文章
  • 外链

tag:

  • weather
  • 需求
  • essay
  • basketball
  • olympic
  • nginx
  • APPScan
  • SQl盲注
  • xss
  • Ajax
  • ajax
  • ai
  • agent
  • openclaw
  • ccf
  • Nginx
  • HTML5
  • html5
  • hmtl5
  • sse
  • JavaScriptCore
  • Oracle
  • operation
  • Linux
  • deploy
  • Mac Office
  • markdown
  • ListView
  • GridView
  • MySQL
  • 慢查询
  • mongodb
  • 转置
  • thought
  • network
  • ubuntu
  • NetworkManager
  • RFKill
  • Netplan
  • avatar
  • cocoa
  • blog
  • Gitalk
  • container
  • macvlan
  • docker
  • oracle
  • cookie
  • patch
  • gitea
  • git
  • iOS
  • https
  • 多线程
  • bundle
  • 兼容性
  • HTTP
  • 绘图
  • cs
  • java
  • 效率
  • 快捷键
  • route
  • nodejs
  • pip
  • arcgis
  • arcgis 建模
  • 标识
  • redis
  • read
  • bookList
  • running
  • showdoc
  • disk
  • unit-test
  • D.Wade
  • thoughts
  • duoduo
  • Python
  • python
  • tomcat
  • 读书节
  • session
  • jdk
  • war
  • 加班
  • Android onclick事件监听
  • 正则
  • 手机品牌匹配
  • ntp
  • OpenLayers
  • Geoserver
  • wechat
  • 微信公众号
  • 爬虫
  • WeChat
  • 张靓颖
  • 动漫
  • vpn
  • PPT
  • MarkDown
  • plan
  • 朱赟
  • 极客时间专栏
  • 极客邦
  • 模块化
  • MVC
  • excel
  • NBA
  • kobe
  • team
  • crawler
  • 进度条
  • ssl
  • book
  • anti-stealing-link
  • Agentic Engineering
  • Vibe Coding
  • Software 3.0
  • Andrej Karpathy
  • LLM
  • Programming

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • GitHub Trending
  • OpenAI ChatGPT
  • Gitee码云
  • 简书
  • CSDN