如何通过静态路由实现电脑同时连通内外网?!

小编最近遇到这样一个问题:在内网进行开发,但需调用外网的接口,由于目前通道没打通,外网ip地址没在内网进行映射。数据库、中间件都在内网部署,如果服务连外网由于没环境则无法正常启动。这时可能会想到以下几点:

  1. 写个模板测外网的接口,内网再造假数据写好代码,等打通通道后再测试;

  2. 在外网再部署一套环境,但这种得考虑外网是否有资源;

  3. 外网接口相关服务在内网部署一套,但这种也得考虑内网是否有资源;

  4. 能否通过修改配置同时访问内外网,但这可能面临数据泄露、 病毒传播等安全风险。

这里小编就第4点"通过静态路由配置 指定不同流量的走向,实现内外网互通"展开讲讲,注意这仅供学习交流与知识普及之用

1. 核心思路

  • 有线网卡(以太网)用于内网通信,需为内网网段配置静态路由;

  • 无线网卡(WLAN)用于外网通信,保留其默认网关作为外网流量的出口;

  • 通过 route 命令添加静态路由,确保不同网段的流量走对应网卡。

2. 具体配置步骤

1) 网卡跃点数的系统级配置:调整路由优先级与跃点数

当前网络环境中,有线网卡(192.168.192.88)和无线网卡(192.168.54.168)同时存在。若有线网卡的跃点数低于无线网卡 ,系统会优先将外网流量导向有线网卡的网关(192.168.192.252),但该网关可能无法访问外网,导致流量丢失。

检查网卡的 "自动跃点" 配置,强制指定无线网卡的跃点数低于有线网卡 ,让外网流量优先走无线,并确保内网流量走有线,实现双网卡的流量分流。

  1. 打开网络连接:点击 "开始"→"设置"→"网络和 Internet"→"高级网络设置"→"更改网络适配器选项";
  1. 右键点击"无线网卡(WLAN)"→"属性"→双击"Internet 协议版本 4(TCP/IPv4)"→"高级";
  1. 取消勾选 "自动跃点" ,手动设置跃点数为 1
  1. 同理,右键点击"有线网卡(以太网)"→"属性"→"Internet 协议版本 4(TCP/IPv4)"→"高级";

  2. 取消勾选 "自动跃点" ,手动设置跃点数为 2

  3. 重启电脑配置即可生效。

2)以管理员权限打开命令提示符(CMD),查询网络配置

通过window桌面左下角的搜索框,输入cmd,右键点击 "命令提示符" 选择 "以管理员身份运行"。

在命令提示符窗口输入ipconfig查询网络配置:

3)清除原有默认路由(避免冲突)
复制代码
route delete 0.0.0.0
4)添加外网默认路由(走无线网卡)

假设无线网卡的默认网关是 192.168.54.66,添加外网所有流量的路由:

复制代码
route -p ADD 0.0.0.0 MASK 0.0.0.0 192.168.54.66 METRIC 1
  • -p:永久路由(重启后不丢失);

  • 0.0.0.0 MASK 0.0.0.0:匹配所有外网地址;

  • 192.168.54.66:无线网卡的默认网关;

  • METRIC 1:跃点数(优先级,数值越小优先级越高)。

5)添加内网静态路由(走有线网卡)

假设内网网段是 192.168.192.0/24(与有线网卡同网段),添加内网流量的路由:

复制代码
route -p ADD 192.168.192.0 MASK 255.255.255.0 192.168.192.252 METRIC 2
  • 192.168.192.0 MASK 255.255.255.0:内网网段,这里255.255.255.0是内网子网掩码,对应连通的内网网段为xxx.xxx.xxx.0,如当前内网IPv4地址为192.168.192.88,对应的内网网段就是192.168.192.0

  • 192.168.192.252:有线网卡的默认网关;

  • METRIC 2:跃点数(低于外网路由,确保内网流量优先走有线)。

6)验证路由配置

执行 route print -4 查看路由表,确认以下条目存在:

  • 外网默认路由:0.0.0.0 指向 192.168.54.66,跃点数 1

  • 内网静态路由:192.168.192.0 指向 192.168.192.252,跃点数 2

7)测试连通性

在命令提示符的窗口中,通过执行"ping xxx.xxx.xxx.xxx"来测试连通性。

  • 访问外网地址(ping www.baidu.com):应通过无线网卡正常访问;

  • 访问内网地址(ping 192.168.192.xxx):应通过有线网卡正常访问。

3. 常见问题解决

1)内网子网掩码需与内网的网络配置一致,避免有冲突问题。
复制代码
route -p ADD 192.0.0.0 MASK 255.0.0.0 192.168.192.88 METRIC 2 

上面的命令存在以下问题:

  • 192.0.0.0 MASK 255.0.0.0 范围过广,会覆盖所有内网和外网流量,导致冲突;

  • 网关 192.168.192.88 是有线网卡自身的 IP,而非网关,无法转发流量。

2)经过上面配置内外网互通,但还是无法访问部分内网地址(如 172.25.2.38)!

解决该问题需针对这些内网网段添加静态路由 ,明确指定流量走有线网卡的网关192.168.192.252。以下是具体步骤:

复制代码
route -p ADD 172.25.2.0 MASK 255.255.255.0 192.168.192.252 METRIC 2
  • 172.25.2.0 MASK 255.255.255.0:目标内网网段;

  • 192.168.192.252:有线网卡的网关;

  • METRIC 2:跃点数(与已有内网路由保持一致,确保优先级)。

3)子网掩码与网关的匹配

若内网网段的子网掩码不是 255.255.255.0(如 255.255.0.0),需调整 MASK 参数。例如,若 172.17.0.0/16 网段的掩码是 255.255.0.0,则路由命令应为:

复制代码
route -p ADD 172.17.0.0 MASK 255.255.0.0 192.168.192.252 METRIC 2

需根据实际内网的子网规划调整网段和掩码,确保路由条目能准确匹配目标流量。

相关推荐
Anthony_2312 小时前
三、路由基础与静态路由
网络·网络协议·tcp/ip·http·udp·智能路由器
勉灬之2 小时前
基于 Node.js + mysql2 的实用同步助手,适合开发/测试环境下快速对齐表数据
服务器·网络·node.js
一路向北he2 小时前
ac791 wifi连接成功流程
网络·智能路由器
Mr Aokey2 小时前
RabbitMQ进阶实战:三种典型消息路由模式详解(订阅/路由/主题)
java·网络·rabbitmq
huohaiyu2 小时前
UDP协议
网络·网络协议·udp
一轮弯弯的明月2 小时前
TCP连接管理(三次握手与四次挥手)
网络·经验分享·笔记·网络协议·tcp/ip·学习心得
init_23612 小时前
【HCIE-08】NAT64
linux·服务器·网络
深信达沙箱2 小时前
如何选择源代码加密软件?应关注哪些核心技术要素
linux·服务器·网络·加密·软件·源代码·沙盒
Asus.Blogs2 小时前
两个 Docker 容器如何通信?Docker 网络问题完整踩坑与解决指南
网络·docker·容器