首先介绍一下KWF 6.01中VPN的核心概念。KWF的VPN服务器和其他很多修改远程客户的默认网关的VPN服务器不一样,除了给远程客户分配IP外,它只是通过客户端的VPN Client修改远程客户的路由表,就像客户多了个接入到新网络的接口和添加了对应的路由项,而不修改远程客户的默认网关。
除了Site-to-Site VPN (VPN tunnel)外,都是KWF VPN服务器向VPN Client提供路由信息。它按照以下规则提供路由信息:
远程客户的路由表由VPN client负责更新,当发生以下情况时,VPN client更新本地路由表:
对于不同的连接,更新周期是不同的。VPN tunnel 是30s一次,连接到VPN server的VPN client是1min一次,不管是否有数据更新。
此次实验的网络拓朴结构如下图,Computer A作为外网计算机,安装Kerio VPN client接入到NAT Server,访问Computer B:
下面我从VPN server和VPN client两方面来说明KWF VPN的使用。
一、VPN server配置
一次完整的VPN server设置应该包含以下四个步骤:
-
安装VPN server
-
启用VPN server
-
建立VPN users
-
配置Traffic policy
1、安装VPN server
在安装KWF 6.01的时候,默认情况下会安装VPN server组件。如果你是使用自定义安装,记得勾选VPN support组件。
2、启用VPN server
在首次进入KWF管理界面时,会出现Network rules Wizard,在第5页,记得选择“Yes,I want to use Kerio VPN”。
默认情况下,VPN server会随机使用一个和你内部网络不同的C类网络。你可以根据自己的需要进行修改。
双击VPN server进入它的属性,在这次实验中,我将其使用网络改为172.16.0.0/24。
点击“Advanced”进入其高级设置,在里面,你可以修改VPN服务器使用的端口和连接时使用的证书。
点击“Change SSL Certificate...”可以进入证书设置,在这儿,你可以生成新的证书,或者导入证书。
点击“Generate Certificate...”,在里面你可以生成你自己的VPN服务器证书。
3、建立VPN users
VPN users是和KWF用户集成的,可以使用Active Directory用户数据库或者KWF内部的用户数据库。在Users控制台点击“Add...”添加新的用户。
在第1页“常规”上输入用户信息,在这个实验中,名字为vpnuser,使用KWF的“Internal user database”。
由于没有新建组,在第2页“组”上直接跳过。如果你有大量的用户,可以通过建立组来管理用户。
第3页“权限”页比较关键。至少要勾选“User can connect using VPN”,其他的权限根据你自己的情况进行选择。
在第4页“限额”上,如果你想对此用户进行流量的限制,则可以选择对应的选择。
第5页“内容策略”上可以控制用户可以通过KWF进行访问的HTTP内容。其实对于VPN users,KWF默认是不允许其通过KWF来上网的,这个主要是对处于内部网络的用户的限制。
第6页“自动登录”上,可以选择用户从哪儿进行自动登录。这个对用户的流量统计比较有用。
点击“Finish”后,你可以在Users里面看见新建的用户vpnuser。
4、配置Traffic policy
在默认情况下,如果你在Network rules Wizard中选择了“Yes,I want to use Kerio VPN”,则在Traffic policy中会自动建立两条策略:允许外部用户访问Kerio VPN和允许VPN clients和内部网络相互之间的访问。如下图,如果没有则你根据下面的规则新建。
至此,VPN server的配置完全完成,以下进入VPN client的配置。
二、VPN client配置
Kerio VPN client对客户机的要求为:
Kerio VPN client的核心驱动kvpndrv.sys会在系统中模拟一个网络适配器,如果安装过程中出现驱动未经过微软验证的问题,忽略即可。安装完后需要重启计算机以加载驱动。
Kerio VPN client的安装不需要任何license,但是VPN用户连接到KWF中的时候会计算入KWF的用户授权。
Kerio VPN client只会自动更新本地的路由表,不会进行其他任何修改。因为这个原理,它可以同时连接到多个VPN server上而不会有任何冲突问题。
未连接VPN前,Computer A上的IP配置和路由表如下:
C:\>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : mine Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Unknown IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Realtek RTL8139 Family PCI Fast Ethernet NIC Physical Address. . . . . . . . . : 00-50-8D-4F-5F-C5 Dhcp Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : 61.139.2.8 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 61.139.2.1
Ethernet adapter Kerio VPN:
Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Kerio VPN adapter Physical Address. . . . . . . . . : 44-45-53-54-96-70 Dhcp Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IP Address. . . . . . . . . . . . : 169.254.47.195 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : DHCP Server . . . . . . . . . . . : 169.254.47.194 Lease Obtained. . . . . . . . . . : 2004年7月4日 10:27:32 Lease Expires . . . . . . . . . . : 2004年7月4日 10:27:42
C:\>route print =========================================================================== Interface List 0x1 ........................... MS TCP Loopback interface 0x2 ...00 50 8d 4f 5f c5 ...... Realtek RTL8139 Family PCI Fast Ethernet NIC -数据包计划程序微型端口 0x10004 ...44 45 53 54 96 70 ...... Kerio VPN adapter =========================================================================== =========================================================================== Active Routes:
Network Destination |
Netmask |
Gateway |
Interface |
Metric |
0.0.0.0 |
0.0.0.0 |
61.139.2.1 |
61.139.2.8 |
20 |
61.139.2.0 |
255.255.255.0 |
61.139.2.8 |
61.139.2.8 |
20 |
61.139.2.8 |
255.255.255.255 |
127.0.0.1 |
127.0.0.1 |
20 |
61.255.255.255 |
255.255.255.255 |
61.139.2.8 |
61.139.2.8 |
20 |
127.0.0.0 |
255.0.0.0 |
127.0.0.1 |
127.0.0.1 |
1 |
169.254.47.0 |
255.255.255.0 |
169.254.47.195 |
169.254.47.195 |
20 |
169.254.47.195 |
255.255.255.255 |
127.0.0.1 |
127.0.0.1 |
20 |
169.254.255.255 |
255.255.255.255 |
169.254.47.195 |
169.254.47.195 |
20 |
224.0.0.0 |
240.0.0.0 |
61.139.2.8 |
61.139.2.8 |
20 |
224.0.0.0 |
240.0.0.0 |
169.254.47.195 |
169.254.47.195 |
20 |
255.255.255.255 |
255.255.255.255 |
61.139.2.8 |
61.139.2.8 |
1 |
255.255.255.255 |
255.255.255.255 |
169.254.47.195 |
169.254.47.195 |
1 |
Default Gateway: 61.139.2.1 =========================================================================== Persistent Routes: None
运行KVC,界面如下,输入KWF VPN server IP地址和用户账户:
选择Save pasword则将用户密码保存在当前Windows用户的配置文件中;勾选Persistent connection则可以在VPN链路断开时进行自动拨号恢复。
点击Connect,连接功能后会有以下提示:
接入VPN后的IP配置和路由表:
Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.
C:\>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : mine Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Unknown IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Realtek RTL8139 Family PCI Fast Ethernet NIC Physical Address. . . . . . . . . : 00-50-8D-4F-5F-C5 Dhcp Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : 61.139.2.8 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 61.139.2.1
Ethernet adapter Kerio VPN:
Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Kerio VPN adapter Physical Address. . . . . . . . . : 44-45-53-54-96-70 Dhcp Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IP Address. . . . . . . . . . . . : 172.16.0.2 Subnet Mask . . . . . . . . . . . : 255.255.255.0 IP Address. . . . . . . . . . . . : 169.254.47.195 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : DHCP Server . . . . . . . . . . . : 169.254.47.194 DNS Servers . . . . . . . . . . . : 172.16.0.1 Lease Obtained. . . . . . . . . . : 2004年7月4日 10:23:37 Lease Expires . . . . . . . . . . : 2004年7月4日 10:23:47
C:\>route print =========================================================================== Interface List 0x1 ........................... MS TCP Loopback interface 0x2 ...00 50 8d 4f 5f c5 ...... Realtek RTL8139 Family PCI Fast Ethernet NIC -数据包计划程序微型端口 0x10004 ...44 45 53 54 96 70 ...... Kerio VPN adapter =========================================================================== =========================================================================== Active Routes:
NetworkDestination |
Netmask |
Gateway |
Interface |
Metric |
0.0.0.0 |
0.0.0.0 |
61.139.2.1 |
61.139.2.8 |
20 |
61.139.2.0 |
255.255.255.0 |
61.139.2.8 |
61.139.2.8 |
20 |
61.139.2.1 |
255.255.255.255 |
61.139.2.8 |
61.139.2.8 |
1 |
61.139.2.8 |
255.255.255.255 |
127.0.0.1 |
127.0.0.1 |
20 |
61.255.255.255 |
255.255.255.255 |
61.139.2.8 |
61.139.2.8 |
20 |
127.0.0.0 |
255.0.0.0 |
127.0.0.1 |
127.0.0.1 |
1 |
169.254.47.0 |
255.255.255.0 |
169.254.47.195 |
169.254.47.195 |
20 |
169.254.47.195 |
255.255.255.255 |
127.0.0.1 |
127.0.0.1 |
20 |
169.254.255.255 |
255.255.255.255 |
169.254.47.195 |
169.254.47.195 |
20 |
172.16.0.0 |
255.255.255.0 |
172.16.0.2 |
169.254.47.195 |
20 |
172.16.0.2 |
255.255.255.255 |
127.0.0.1 |
127.0.0.1 |
20 |
172.16.255.255 |
255.255.255.255 |
169.254.47.195 |
169.254.47.195 |
20 |
192.168.0.0 |
255.255.255.0 |
172.16.0.1 |
169.254.47.195 |
1 |
224.0.0.0 |
240.0.0.0 |
61.139.2.8 |
61.139.2.8 |
20 |
224.0.0.0 |
240.0.0.0 |
169.254.47.195 |
169.254.47.195 |
20 |
255.255.255.255 |
255.255.255.255 |
61.139.2.8 |
61.139.2.8 |
1 |
255.255.255.255 |
255.255.255.255 |
169.254.47.195 |
169.254.47.195 |
1 |
Default Gateway: 61.139.2.1 =========================================================================== Persistent Routes: None
C:\>ping 192.168.0.8
Pinging 192.168.0.8 with 32 bytes of data:
Reply from 192.168.0.8: bytes=32 time=2ms TTL=63
Ping statistics for 192.168.0.8: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 2ms, Maximum = 2ms, Average = 2ms Control-C ^C
以上我们可以看出两点信息,第一,路由表中新添加的项;第二,ping内网机器时的TTL值为63,表明中间经过了一个路由器。
现在我们来访问Computer B(192.168.0.8),我直接使用网上邻居来访问,如下图,访问成功:
另外,如果勾选的Persistent connection,那么在Windows启动的时候,KVC会自动恢复VPN连接,但是根据KVC上次关闭时的状况,恢复连接分为两种情况:
-
如果是在Simple mode关闭的KVC,那么KVC只恢复当前的VPN连接;
-
如果是在Advanced mode关闭的KVC,则恢复Advanced mode中定义的所有具有Persistent connection属性的VPN连接。
-
如果没有具有Persistent connection属性的连接,则KVC启动后不做任何恢复。 |