VPDN同时连接内外网的方法总部有一台使用windows2003系统搭建的VPN服务器,驻外分点客户端利用VPN拨号到服务器以访问总部内部工作网站。当客户端成功拨号到服务器后问题出现了:总部内部的站点可以访问了,但是外网却不能访问了。网上有说法说只要把VPN拨号属性中的“在远程网络上使用默认网关”反选就可以解决问题,操作方法:VPN拨号属性--网络--TCP/IP协议属性--高级(如下图)。经过试验发现,使用这种方法拨号成功后Internet是可以访问了,总部网段内的站点地址却访问不了了。我们可以从下面的实例中来分析这个问题。这里总部内部工作站点IP地址为192.168.111.2。首先我们来分析一下没有VPN拨号前一台客户端电脑的路由表(192.168.0.3为本地IP地址192.168.0.1为本地网关),在开始――运行――CMD中,输入routeprint,打开路由表。见图1:图1可以看到,默认网关为192.168.0.1。再来看一下拨号到远程VPN服务器之后的路由表。见图2:图2图2表中的169.254.119.118为本机从VPN服务器获得的IP地址(可以用ipconfig命令来查看)。默认网关变成了169.254.113.109(VPN服务器地址)。这时可以ping通192.168.111.2。但是外网网址无法访问。仔细分析一下这张路由表,问题主要在第一行和第二行。0.0.0.0(也就是所有网段)有两个路由,一个网关为169.254.113.109,跳计数为1,另一个网关为192.168.0.1,跳计数为31。跳计数低的路由优先,这样无论我们访问哪个网站都只能通过169.254.113.109这个网关了。为什么在默认网关变成了169.254.113.109之后就不能访问外网?也就是说外网的数据并不能通过169.254.113.109这个网关传到客户端,查询资料才发现原来是微软的安全机制禁止了Internet流量通过VPN服务器到达客户端。如果取消使用“在远程网络上使用默认网关”,拨通VPN后又会是怎样呢?让我们再次打开路由表,见图3:图3默认网关变回192.168.0.1,这时再ping192.168.111.2,无法ping通。分析路由表,表中只剩下192.168.0.0和169.254.0.0这两个网段的路由信息。192.168.111.2ping不通并不是因为现在的默认网关为192.168.0.1,而是因为路由表中没有了192.168.111.0这个网段的路由信息,所以192.168.111.2被路由到192.168.0.1这个默认网关上来了。192.168.0.1这个本地网关当然不能指明到达网段192.168.111.0的路径。通过上面的三个路由表来分析,解决问题的思路就比较明了了。方法一、对于第三张路由表,我们可以针对192.168.111.0这个网段增加路由,让这个网段路由到169.254.113.109也就是VPN服务器的地址。具体命令如下:Routeadd192.168.111.0mask255.255.255.0169.254.113.109metric1再来看路由表,已经增加了一条信息如下:这样当我们访问192.168.111.2就被路由到网关169.254.113.109上了。访问其它地址时则路由到默认网关192.168.0.1上。Ping192.168.111.2,通了,访问外网也没问题了。方法二、对于第二张路由表,我们要把默认网关改回192.168.0.1,方法是删除第一条路由信息。命令如下:Routedelete0.0.0.0mask0.0.0.010.1.3.219运行成功后发现外网可以访问了,但是192.168.111.2还是访问不了。别着急,我们再加一条命令:Routeadd84.16.16.0mask255.255.255.010.1.3.219metric1当然,如果还有其它远程网段要访问,可以在上述两种方法上再加几条命令。对比两种方法,其实只有一个目的,就是让总部内部网段路由到VPN服务器网关上,而让其它的网段路由到本地网关。其实有朋友说的只将“在远程网络上使用默认网关”反选而不动其它的设置也有成功的可能,那就是要访问的远程地址和VPN服务器提供的网关地址在同一网段内。在现实过程中大家遇到的问题可能各不相同,希望这篇文章能给初学者带来一种解决问题的思路。同时欢迎朋友们能发现我不成熟的观点并提出批评和指正。附:route命令还带有一个有用的参数[-p],window2000以上的操作系统都可以和add命令一起使用,作用是向路由表中添加一条永久的静态路由,因为如果没有这个参数,route命令在路由表中做的变动系统重启之后都会丢失。使用方法举例如下:Route-padd192.168.111.0mask255.255.255.0169.254.161.133metric1大家可以想想如何灵活运用。1、在命令行中运行routeprint得到路由表第2行“10.1.1.195”为VPDN的网关2、运行Routeadd84.16.16.0mask255.255.255.010.1.1.195metric1将84.16.16.0网段指定从10.1.1.195走(84.16.16.0为需访问的地址网段,10.1.1.195为到84.16.16.0.的网关,每次VPDN拨号后会改变)C:\DocumentsandSettings\hbhtxxrouteprintIPv4RouteTable===========================================================================InterfaceList0x1...........................MSTCPLoopbackinterface0x2...005056c00008......VMwareVirtualEthernetAdapterforVMnet80x3...005056c00001......VMwareVirtualEthernetAdapterforVMnet10x10005...0210b5ccc5a6......MAC桥微型端口0x180006...005345000000......WAN(PPP/SLIP)Interface======================================================================================================================================================ActiveRoutes:NetworkDestinationNetmaskGatewayInterfaceMetric0.0.0.00.0.0.0192.168.1.1192.168.1.252010.0.0.0255.0.0.010.1.1.19510.1.1.195110.1.1.195255.255.255.255127.0.0.1127.0.0.15010.255.255.255255.255.255.25510.1.1.19510.1.1.1955058.53.195.26255.255.255.255192.168.1.1192.168.1.2520127.0.0.0255.0.0.0127.0.0.1127.0.0.11192.168.1.0255.255.255.0192.168.1.25192.168.1.2520192.168.1.25255.255.255.255127.0.0.1127.0.0.120192.168.1.255255.255.255.255192.168.1.25192.168.1.2520192.168.40.0255.255.255.0192.168.40.1192.168.40.120192.168.40.1255.255.255.255127.0.0.1127.0.0.120224.0.0.0240.0.0.010.1.1.19510.1.1.19550224.0.0.0240.0.0.0192.168.1.25192.168.1.2520224.0.0.0240.0.0.0192.168.40.1192.168.40.120255.255.255.255255.255.255.25510.1.1.19510.1.1.1951255.255.255.255255.255.255.255192.168.1.25192.168.1.251255.255.255.255255.255.255.255192.168.40.1192.168.40.11255.255.255.255255.255.255.255192.168.184.100192.168.184.1001DefaultGateway:192.168.1.1===========================================================================PersistentRoutes:NoneC:\DocumentsandSettings\hbhtxxRouteadd84.16.16.0mask255.255.255.010.1.1.195metric1