环境

1、服务器:Windows Server 2012 R2(虚拟机)   内网IP:10.3.0.233

2、客户端:Windows 11

需求:当客户端通过VPN连接后,只有当访问 10.3.0.0 网段的数据包才走 VPN 通道后,其它的还是走本地原来的网关。

一、服务端

1、添加远程访问

Windows 2012 R2 单网卡安装 PPTPVP*_windows

2、下一步至 角色服务

Windows 2012 R2 单网卡安装 PPTPVP*_IP_02

3、下一步直至 安装完成

Windows 2012 R2 单网卡安装 PPTPVP*_客户端_03

4、打开 路由和远程访问

Windows 2012 R2 单网卡安装 PPTPVP*_windows_04

5、配置并启用

Windows 2012 R2 单网卡安装 PPTPVP*_客户端_05

6、下一步 自定义配置

Windows 2012 R2 单网卡安装 PPTPVP*_windows_06

7、选择 VPN访问 与 NAT

Windows 2012 R2 单网卡安装 PPTPVP*_windows_07

8、直至完成 启动服务

Windows 2012 R2 单网卡安装 PPTPVP*_IP_08

9、右键 属性

Windows 2012 R2 单网卡安装 PPTPVP*_windows_09

10、配置分配给客户端的IP,这里我配的是172.20.1.0网段,跟我服务器的内网不在一个网段,客户端拨好VPN后,需要手动添加一段路由

Windows 2012 R2 单网卡安装 PPTPVP*_客户端_10

11、IPV4 NAT中新增接口,并选择以太网接口,并启用NAT

Windows 2012 R2 单网卡安装 PPTPVP*_windows_11

Windows 2012 R2 单网卡安装 PPTPVP*_windows_12

Windows 2012 R2 单网卡安装 PPTPVP*_客户端_13

12、打开计算机管理

Windows 2012 R2 单网卡安装 PPTPVP*_IP_14

13、创建用户

Windows 2012 R2 单网卡安装 PPTPVP*_客户端_15

14、右键用户 属性 拨入,选择允许访问

Windows 2012 R2 单网卡安装 PPTPVP*_IP_16

15、防火墙放行 1723 端口,打开 Ping 功能

Windows 2012 R2 单网卡安装 PPTPVP*_VPN_17

Windows 2012 R2 单网卡安装 PPTPVP*_IP_18

16、华为防火墙外网端口映射

Windows 2012 R2 单网卡安装 PPTPVP*_windows_19

二、客户端

1、 创建一个新的VPN

 

Windows 2012 R2 单网卡安装 PPTPVP*_windows_20

2、VPN连接中 取消勾选 在远程网络中使用默认网关

Windows 2012 R2 单网卡安装 PPTPVP*_客户端_21

Windows 2012 R2 单网卡安装 PPTPVP*_客户端_22

3、查看IP

PPP 适配器 PPTPVPN:

   连接特定的 DNS 后缀 . . . . . . . :
   IPv4 地址 . . . . . . . . . . . . : 172.20.1.11
   子网掩码  . . . . . . . . . . . . : 255.255.255.255
   默认网关. . . . . . . . . . . . . :

4、添加路由

# 172.20.1.10 是VPN服务器上面的地址
route add 10.3.0.0 mask 255.255.255.0 172.20.1.10 metric 1

5、查看路由

PS C:\Users\Administrator> route print -4

IPv4 路由表
===========================================================================
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0    192.168.123.1   192.168.123.88    281
         10.3.0.0    255.255.255.0      172.20.1.10      172.20.1.11     26
        127.0.0.0        255.0.0.0            在链路上         127.0.0.1    331
        127.0.0.1  255.255.255.255            在链路上         127.0.0.1    331
  127.255.255.255  255.255.255.255            在链路上         127.0.0.1    331
       172.20.0.0      255.255.0.0      172.20.1.10      172.20.1.11     26

6、访问公司内网IP,成功

PS C:\Users\Administrator> ping 10.3.0.1

正在 Ping 10.3.0.1 具有 32 字节的数据:
来自 10.3.0.1 的回复: 字节=32 时间=13ms TTL=254
来自 10.3.0.1 的回复: 字节=32 时间=14ms TTL=254
来自 10.3.0.1 的回复: 字节=32 时间=14ms TTL=254
来自 10.3.0.1 的回复: 字节=32 时间=15ms TTL=254

10.3.0.1 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 13ms,最长 = 15ms,平均 = 14ms
三、相关问题

1、每次断开VPN后,路由就会丢失了,这样每次手动添加路由麻烦,可以用脚本实现拨号添加路由

# PPTPVPN   创建VPN的名称
# tomma     账号
# Admin@123 密码
# 172.20.1  客户端拨通VPN后获得的IP网段
# 10.3.0.0  服务器内网网段

@echo off

rasdial PPTPVPN tomma Admin@123

for  /f "tokens=16"  %%i in ('ipconfig ^| find /i "172.20.1."') do set ip=%%i

route add 10.3.0.0 mask 255.255.255.0 %ip%

pause

2、有没有不用添加客户端路由的方法,答案是有的,可以把VPN的地址设成跟服务器内网一个网段,前提不要IP冲突

Windows 2012 R2 单网卡安装 PPTPVP*_windows_23