一 问题
当使用VPN后,有的时候会无法访问虚拟机原有内网的解决方案
vmware 虚拟机网段为: 192.168.70.x /24
VPN连接后,则无法访问192.68.70.x网段
二 原因分析
通过使用Tracert命令后,发现访问192.168.70.134会直接送到VPN网卡,而无法使用直连路由至虚拟机。
分析路由发现,至192.168.70.x有两类路由,一条是直连路由,一条是指向172.22.4.204
router print
路由选路三条原则
1、最长掩码匹配原则:掩码越长越优先
VPN的路由掩码长于本地链路的24位掩码,因此优先路由走到了VPN路由中。因此,只需要细化本地链路路由即可解决此问题
2、路由优先级越小越优
3、度量值越小约优先:
cost=参考带宽/实际带宽(注:参考带宽10^8,回环口为0)
100M带宽=100Mpbs=100 000 Kpbs = 100 000 000 bps=10^8bps
即:
100M带宽:
cost=10^8 / 10^8=1
10M带宽:
cost=10^8 /10^7=10
三 解决方法
使用语法及参数说明
1、使用语法
用法:ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
2、参数说明
参数 | 参数说明 |
-f | 清除所有网关项的路由表。如果与某个命令结合使用,在运行该命令前,应清除路由表。 |
-p | 与 ADD 命令结合使用时,将路由设置为在系统引导期间保持不变。默认情况下,重新启动系统时,不保存路由。忽略所有其他命令,这始终会影响相应的永久路由。Windows 95不支持此选项。 |
-4 | 强制使用 IPv4。 |
-6 | 强制使用 IPv6。 |
command | 其中之一: |
打印路由 | |
ADD | 添加路由 |
DELETE | 删除路由 |
CHANGE | 修改现有路由 |
destination | 指定主机。 |
MASK | 指定下一个参数为“网络掩码”值。 |
netmask | 指定此路由项的子网掩码值。如果未指定,其默认设置为 255.255.255.255。 |
gateway | 指定网关。 |
interface | 指定路由的接口号码。 |
METRIC | 指定跃点数,例如目标的成本。 |
案例
将192.168.70.134写一条永久的直连路由即可解决此问题
C:\Windows\System32>route -p add 192.168.70.134/32 192.168.70.1 if 5
C:\Windows\System32>route print
===========================================================================
接口列表
5...xx xx xx xx xx xx ......VMware Virtual Ethernet Adapter for VMnet8
===========================================================================
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
192.168.70.134 255.255.255.255 在链路上 192.168.70.1 36