You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制Windows虚拟机访问192.168.100.1的SMB流量通过指定隔离网络接口B

如何强制Windows虚拟机访问192.168.100.1的SMB流量通过指定隔离网络接口B

看了你的问题和路由表,我发现核心问题出在你设置的192.168.100.1路由配置上——你给同一子网的目标IP指定了网关,这反而让Windows无法正确识别这条路由,导致它 fallback 到默认路由走接口A了。下面是一步步的解决方法:

第一步:删除错误的现有路由

首先把你之前添加的有问题的192.168.100.1路由删掉,打开管理员命令提示符运行:

route delete 192.168.100.1 mask 255.255.255.255

如果是持久路由,也一并清理:

route -p delete 192.168.100.1 mask 255.255.255.255

第二步:添加正确的On-Link路由

因为192.168.100.1和你的接口B(192.168.100.186)在同一个子网,不需要指定网关,直接设置On-Link路由,强制流量走接口B。

首先找到接口B的索引编号:
运行route print,找到192.168.100.186对应的Interface列数字(比如假设是12)。

然后添加临时路由:

route add 192.168.100.1 mask 255.255.255.255 0.0.0.0 if 12 metric 1

如果要添加持久路由(重启后依然生效),加上-p参数:

route -p add 192.168.100.1 mask 255.255.255.255 0.0.0.0 if 12 metric 1

第三步:清除ARP缓存避免旧缓存干扰

有时候Windows会缓存错误的MAC地址映射,导致流量走错误接口,运行命令清除ARP缓存:

arp -d *

第四步:验证配置是否生效

  1. 运行route print,找到192.168.100.1的条目,确认:
    • Network Destination是192.168.100.1,Netmask是255.255.255.255
    • Gateway显示为On-link
    • Interface是192.168.100.186,Metric是1
  2. 用tracert测试路径:
    tracert 192.168.100.1
    
    正常情况下,第一跳应该直接到达目标(没有中间网关),说明流量走接口B了。

额外排查:如果还是不生效

如果以上步骤后流量依然走接口A,可以尝试强制绑定SMB端口的源IP:
打开管理员命令提示符运行:

netsh interface ipv4 add addressportrule name="你的接口B名称" destination=192.168.100.1/32 destinationport=445 protocol=tcp action=allow localip=192.168.100.186

(接口B名称可以通过netsh interface ipv4 show interfaces查看,比如“Ethernet 2”)

备注:内容来源于stack exchange,提问作者notepass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 09:59:29