Weyu‘s blog

  • 1. 路由表到底是干什么的?
  • 2. route add 命令格式详解
  • 示例
  • 3. 在哪些场景下需要手动管理路由表?
  • 场景一:服务器多网卡分流
  • 场景二:VPN 分流访问
  • 场景三:虚拟机或容器网络桥接配置
  • 场景四:流量走跳板机或透明代理
  • 场景五:解决多网卡冲突问题
  • 4. 一个小总结
  • 首页
  • 代码
  • 作品
  • 学习
  • 折腾
  • 随笔
  • 关于博主
  • 时光映像
  • 我的网盘
  • 文章归档
  • 友情链接

Windows 路由表基础与实际应用场景

  • admin
  • 2025-04-28
  • 0

1. 路由表到底是干什么的?

可以简单理解为:

  • 路由表决定了本机发出数据时,应该通过哪个网卡(接口)、哪个 IP 地址,送往目标地址。
  • 路由表只在数据发出时生效,接收数据时不会再走路由表。

发送过程:

当程序发起连接请求时,系统查询路由表,找到最合适的“出站路径”,然后将数据包发出去。

接收过程:

返回的数据包,是根据你发送请求时使用的源 IP 返回的。只要你的网卡绑定了这个 IP,系统就能正确接收,无需再经过路由表查找。

总结一句话:

路由表只影响发送路径,而不影响接收路径。


2. route add 命令格式详解

手动添加一条路由时,通常会用到 route add 命令,基本格式如下:

route add <目标地址> mask <子网掩码> <下一跳网关> [metric 跃点数] [if 接口编号]

各参数含义:

  • 目标地址:你想要访问的 IP 或网段。
  • 子网掩码:定义匹配范围,255.255.255.255 代表单个 IP。
  • 下一跳网关:数据包应该送给哪个网关。
  • metric(跃点数):优先级,数字越小优先级越高(可选)。
  • if(接口编号):指定使用哪块网卡发出(可选)。

如果不指定 if,系统会根据网关地址自动选择一个可达的网卡。

示例

route add 8.8.8.8 mask 255.255.255.255 192.168.100.1

含义是:

  • 访问 8.8.8.8 的请求
  • 通过 192.168.100.1 这个网关转发出去
  • 让系统自动选择合适的接口发送

如果想明确指定接口,可以加上 if:

route add 8.8.8.8 mask 255.255.255.255 192.168.100.1 if 9

接口编号可以通过 route print 命令查看。


3. 在哪些场景下需要手动管理路由表?

虽然日常办公用不到,但在企业、运维、开发环境中,手动添加或删除路由表是很常见的操作。以下列举几个实际场景。

场景一:服务器多网卡分流

有些服务器有两张网卡:

  • 一张连内网,用来访问数据库
  • 一张连外网,用来访问互联网

希望:

  • 内网流量走内网网卡
  • 外网流量走公网网卡

这时候就需要手动添加路由,指定内网地址走内网接口。

场景二:VPN 分流访问

连接 VPN 后,不希望所有流量都走 VPN(否则速度会变慢),只希望访问公司内网的流量走 VPN,其它访问仍走本地网络。

这时需要删除默认路由,并且只为内网网段添加专门的路由条目。

场景三:虚拟机或容器网络桥接配置

当宿主机配置了多个 IP,而虚拟机或 Docker 容器需要访问特定网段时,可能要手动补充路由,保证数据走对的路径。

场景四:流量走跳板机或透明代理

如果公司设置了跳板机或代理服务器,需要手动指定某些 IP 段通过代理转发。

场景五:解决多网卡冲突问题

插了两根网线后,可能因为多个默认网关导致网络异常。这种情况下需要手动调整或删除错误的默认路由。


4. 一个小总结

可以这么理解:

  • 平时上网,就像开导航走系统推荐的路线。
  • 遇到特殊需求,比如避开拥堵、走高速、走免费路,就需要自己手动改路线(配置路由表)。

掌握好 route add、route delete、route print 这些基本指令,可以让你在网络环境中自由地控制流量走向,大大提升故障排查与运维能力。

© 2025 Weyu‘s blog
  • {{ item.name }}
  • {{ item.name }}