V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cyn
V2EX  ›  宽带症候群

Windows 多网卡(网络)连接下,有没有方法让不同 IP(网段)的网络连接走不同的网卡出口

  •  
  •   cyn · 2018-04-12 11:20:56 +08:00 · 9158 次点击
    这是一个创建于 2177 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景

    公司网络太渣,并且有万恶的深信服。所以现在用无限流量卡+随身 4G 路由器+随身 WiFi (台式机),使用设置跃点数来调整网络优先级连接顺序的方式来使无线网卡(自己网络)优先级高于有线网卡(公司网络),使用自己的网络上网。

    问题

    因为工作经常要访问内网(公司网络)的 SVN,数据库等,需要频繁断开和连接 WiFi 连接来切换自己网络和公司网络的环境。所以想求问 V 友有没有方法让不同 IP(网段)的网络连接走不同的网卡出口,这样就可以访问外网时使用自己网络,访问内网时使用公司网络。

    10 条回复    2018-07-30 11:24:34 +08:00
    dinxvx
        1
    dinxvx  
       2018-04-12 11:25:48 +08:00   ❤️ 1
    route delete 0.0.0.0
    route -p add 10.130.0.0 mask 255.255.0.0 10.130.2.254
    route -p add 0.0.0.0 mask 0.0.0.0 192.168.4.1


    原理:

    如果访问 10.130 网段的话,就先走第一条 route -p add 10.130.0.0 mask 255.255.0.0 10.130.2.254 命令所指定的 route 路由,除此以外的访问,都走 0.0.0.0 这条路由,命令就是 route -p add 0.0.0.0 mask 0.0.0.0 192.168.4.1。它的参数-p 是永久保存到 route 里面,重启电脑也不会丢失,重启电脑也不需要两次输入这两条命令。
    honeycomb
        2
    honeycomb  
       2018-04-12 11:26:02 +08:00 via Android   ❤️ 1
    设置本地路由表?
    有的学校上外网会用 VPN,就会靠类似的手段
    Liqianyu
        3
    Liqianyu  
       2018-04-12 11:26:36 +08:00   ❤️ 1
    使用路由表。
    在 Windows 10 使用过 LAN + Wi-Fi + PPPoE 三出口分流。
    所以方法就是
    route ADD 你需要的内网地址 有线网关 IF 接口号
    以上所需要的信息都可以通过 route -4 print 获得

    把路由表设置为-p 的永久路由就可以重启不变了。
    smileawei
        4
    smileawei  
       2018-04-12 17:20:45 +08:00
    路由表了解一下
    cwek
        5
    cwek  
       2018-04-12 19:26:13 +08:00
    路由表
    qshujun
        6
    qshujun  
       2018-04-12 21:40:14 +08:00 via Android
    静态路由
    kennylam777
        7
    kennylam777  
       2018-04-12 21:58:32 +08:00   ❤️ 1
    樓主都調好了優先序, 路由表就不用 delete route 再 add default route 了, 直接把公司內網的 IP 段指到 LAN gateway 去, 路由表的規則是小 subnet 比大 subnet 甚至 default route 都要優先
    datocp
        8
    datocp  
       2018-04-13 00:02:12 +08:00 via Android   ❤️ 1
    win7 远程 vpn 网络访问

    以前闲聊中大嘴吧说可以实现 vpn 访问,结果最近 ERP 上线同事就想能否在家里进行办公。 花了半天时间使用 softethervpn 根据以往的经验很快就建立完毕。可是想在 win7 下面公司的网络使用 vpn 接口访问,家里的网络依然使用家里的网络访问,却从早上 8 点折腾到下午 15 点。哈,记得当年有一次也想帮人家解决这个事情的,结果当然是没成功了。。。 对于普通用户来说,你最好提供最简单的方案,不然人家折腾半天就想扔鼠标了。1,双网卡路由不想折腾太麻烦,直接去除 VPN 虚拟网卡 网关 右击虚拟网卡 /属性 /网络 /Internet 协议版本 4(TCP/IPv4)/属性 /高级 /在远程网络上使用默认网关(去除) 2,然后就一直郁闷在通过 nslookup www.qq.com ,dns 服务器一直是远程 vpn 网关。公司使用的联通网关,家里使用的电信网络,虽然最终流量下载依然是电信的线路,但是查询 ip138.com 时明显感觉页面打开不顺畅。 虽然网上也有提供改变网卡优先级的方法 通过 win7 网络和共享中心 /更改适配器设置 / 在网络连接界面按 alt 键 /高级 /高级设置 /适配器绑定 这种方法至少在使用 win7 自带的 l2tp 客户端时是没有任何效果的。 老外的链接提供了一种注册表方法,windows 系统似乎总是有最后一块网络生效优先级高的错觉。
    https://rdpfiles.com/2011/08/25/windows-vpn-client-and-local-dns-resolution/

    @echo off FOR /F "tokens=1,2,*" %%A in ('reg query "HKLM\System\CurrentControlSet\Services\Tcpip\Linkage" /v Bind /t REG_MULTI_SZ ^|find "REG_MULTI_SZ"') do set value=%%C\0\Device\{515685E7-64C1-4247-8382-004BC5D54B3C} reg ADD "HKLM\System\CurrentControlSet\Services\Tcpip\Linkage" /v Bind /t REG_MULTI_SZ /f /d %value% >nul 2>&1 似乎在这个页面提到了 netsh 命令,可惜没效果 Unfortunately, Windows VPN is not able to do "Split-DNS". You can however remove the DNS Server from the VPN connection after you have connected to the remote site. You can do this by issuing: netsh interface ipv4 delete dnsservers name="name of the VPN" address=all validate=no You HAVE to do this every time you connect to the VPN Network. 最终的批处理
    @echo off
    ::在注册表特定位置查询出虚拟网卡 GUID,预先写入注册表,避免 windows 更改 DNS 查询顺序
    FOR /F "tokens=1,2,*" %%A in ('reg query "HKLM\System\CurrentControlSet\Services\Tcpip\Linkage" /v Bind /t REG_MULTI_SZ ^|find "REG_MULTI_SZ"') do set value=%%C\0\Device\{515685E7-64C1-4247-8382-004BC5D54B3C} reg ADD "HKLM\System\CurrentControlSet\Services\Tcpip\Linkage" /v Bind /t REG_MULTI_SZ /f /d %value% >nul 2>&1
    ::使用 windows 的客户端进行 vpn 拔号 rasdial "VPN 名称" VPN 用户名 VPN 密码
    ::查询出当前电脑的 vpn ip 192.168.30.x,特定的 ip 通过 vpn 接口进行访问
    ipconfig |find /i "192.168.30.">check.txt for /f "tokens=2 delims=:" %%i in (check.txt) do echo %%i>check.txt for /f "tokens=1 delims= " %%I in (check.txt) do set myip=%%I echo 你的当前 VPN IP 地址为%myip% echo y|del check.txt route add 192.168.1.11 mask 255.255.255.255 %myip% route add 192.168.1.12 mask 255.255.255.255 %myip%

    这排版将就看吧。。。
    suiyanhehao
        9
    suiyanhehao  
       2018-04-13 09:42:31 +08:00
    @dinxvx -P 没必要吧 手动执行一下得了
    78778443
        10
    78778443  
       2018-07-30 11:24:34 +08:00   ❤️ 1
    我也遇到这个问题了,在知乎上看到了处理方案。

    https://zhuanlan.zhihu.com/p/40854453
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5846 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:26 · PVG 10:26 · LAX 19:26 · JFK 22:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.