惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
GbyAI
GbyAI
博客园 - Franky
宝玉的分享
宝玉的分享
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
I
InfoQ
The Cloudflare Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Full Disclosure
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
博客园 - 【当耐特】
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Project Zero
Project Zero
量子位
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
美团技术团队
Attack and Defense Labs
Attack and Defense Labs
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Blog of Author Tim Ferriss
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Troy Hunt's Blog
Google Online Security Blog
Google Online Security Blog
罗磊的独立博客
P
Proofpoint News Feed
Schneier on Security
Schneier on Security
Spread Privacy
Spread Privacy
S
SegmentFault 最新的问题
L
LINUX DO - 最新话题
Simon Willison's Weblog
Simon Willison's Weblog
爱范儿
爱范儿
博客园 - 聂微东
A
About on SuperTechFans
PCI Perspectives
PCI Perspectives
D
Docker

yyhhyyyyyy

Surge for Mac 配置教程:自用配置详解与 iOS 版差异 Surge for iOS 配置教程:自用配置文件逐段详解(General / 策略组 / 规则) Mac小企鹅输入法+雾凇拼音配置指南:从安装到同步 VSCode 配置Ruff Cursor修改垂直布局 Clash Party/Clash Verge Rev/Sparkle 覆写与扩展脚本指南 解决 WSL2 与 Tunnel 模式网络冲突:MTU 设置妙招 Mihomo 配置教程:从零写一份完整配置文件(DNS / TUN / 分流规则详解) TUN 模式详解:System / gVisor / Mixed 三种堆栈的区别与选择 解决MoviePy保存视频时的视频质量降低问题 Tailscale+Headscale+自建Derp踩坑记录 解决Moviepy剪辑视频画面卡帧,但有声的问题 Surge Or Mihomo通过WireGuard回家 重装系统 -- Windows11 Win10/11配置fnm:解决PowerShell脚本运行受限问题 Ai 原画系统 基于社交媒体大数据的智慧政务系统 Miniconda安装教程 Doker-compose 网络互通 建立菲律宾台风损害模型
Winodws 双网卡实现内外网分流
yyhhyyyyyy · 2025-03-20 · via yyhhyyyyyy

1. 缘由

公司在网络方面做了些许限制,因此有了这次的探索。刚好电脑有两张网卡。就通过路由表简单做一下分流即可实现一定突破。

2. 前置条件

  • 有线网卡(专门用来连通内网)
  • 无线网卡(专门用来连通外网)

3. 操作过程

Windows默认的流量出口优先级始终是 有线网卡 优先于 无线网卡 。因此呢,我们要尝试破坏这个优先级。

3.1 获取网卡ip及网关

打开cmd (Win + R input cmd)

ipconfig

输出结果大致如下:

以太网适配器 以太网:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . :
   IPv4 地址 . . . . . . . . . . . . : 192.168.1.8
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.1.254

无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . :
   IPv4 地址 . . . . . . . . . . . . : 10.0.4.6
   子网掩码  . . . . . . . . . . . . : 255.255.248.0
   默认网关. . . . . . . . . . . . . : 10.0.0.254

核心信息:

需要拿到 IP地址 以及 网关 后续做路由表需要用到

3.2 修改路由表

cmd执行:

route print -4

输出结果大致如下:

IPv4 路由表
===========================================================================
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0     192.168.1.254    192.168.1.8     25
          0.0.0.0          0.0.0.0         10.0.0.254       10.0.4.6     30
         10.0.0.0    255.255.248.0            在链路上        10.0.4.213    286
       10.0.4.231  255.255.255.255            在链路上        10.0.4.213    286
===========================================================================
永久路由:

重点其实就是看最上方的 0.0.0.0 , 可以看到路由表优先让 有线网卡排在无线网卡之前 (看跃点数 越小越优先)

因此我们需要在这里做下修改。

  1. 删除默认路由

    route delete 0.0.0.0
  2. 添加外网路由(走无线网卡)

    route add 0.0.0.0 mask 0.0.0.0 10.0.0.254 metric 10

    metric指代跃点数(优先级)

  3. 添加内网路由(走有线网卡)

    # 以192.168.0.0/16为例
    route add 192.168.0.0 mask 255.255.0.0 192.168.1.254 metric 5 -p

    -p指代永久路由,也就是重启也不会修改这份自己配置的路由表

    具体还有哪些内网需要走内网网卡的,请自行根据以上例子进行补充。

至此,就可以实现内外网分离了。但是如果每次都要输入这么一大坨命令,那可实在是太累了,因此贴一份bat脚本

请根据自己的实际网络环境进行修改!

@echo off
echo ============================================
echo     Windows内外网分流配置工具
echo     authoriyyh.net
echo     时间:%date% %time%
echo ============================================
echo.

:: 检查管理员权限
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo 错误: 请以管理员身份运行此批处理!
    echo 请右键点击此文件,选择"以管理员身份运行"
    echo.
    pause
    exit /b 1
)

:: 确保备份目录存在
if not exist "D:\network\network_route_print" (
    echo [信息] 创建备份目录...
    mkdir "D:\network\network_route_print"
)

echo [信息] 开始配置内外网分流...
echo [信息] 正在备份当前路由表...
route print > "D:\network\network_route_print\route_backup_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.txt"
echo [信息] 路由表已备份到 D:\network\network_route_print

echo.
echo [步骤1] 删除现有默认路由...
route delete 0.0.0.0
if %errorlevel% equ 0 (
    echo [成功] 默认路由已删除
) else (
    echo [警告] 删除默认路由可能出现问题,继续执行...
)

echo.
echo [步骤2] 添加外网默认路由(走无线网卡)...
route add 0.0.0.0 mask 0.0.0.0 10.0.0.254 metric 10
if %errorlevel% equ 0 (
    echo [成功] 外网默认路由已添加
) else (
    echo [错误] 添加外网默认路由失败!
    goto error
)

echo.
echo [步骤3] 添加内网路由(走有线网卡)...
echo [信息] 添加192.168网段路由...
route add 192.168.0.0 mask 255.255.0.0 192.168.1.254 metric 5 -p
if %errorlevel% equ 0 (
    echo [成功] 192.168网段路由已添加
) else (
    echo [错误] 添加192.168网段路由失败!
    goto error
)

echo.
echo [步骤4] 验证路由配置...
echo [信息] 当前路由表配置如下:
echo.
route print | findstr /C:"0.0.0.0" /C:"192.168"
echo.
echo ============================================
echo [成功] 内外网分流配置已完成!
echo ============================================
goto end

:error
echo.
echo [错误] 配置过程中出现错误,请检查网络连接和账户权限!
echo [建议] 请确保有线网卡和无线网卡正常工作,并以管理员身份运行此批处理。

:end
echo.
echo 按任意键退出...
pause > nul

最后,请注意数据安全