如何实现VPN使用脱离内部网络的IP地址

译自Stefaan Pouseele,"How to Implement VPN Off-Subnet IP Addresses",加以编辑修改

 

1. 总结

      在Tom ShinderVPN client security - Part 1: Split Tunneling Issues一文中,他谈及了向VPN客户分配脱离内部网络的IP地址来提高内部网络的安全性。但是如果想实现还有一个主要的缺陷,你不能使用DHCP服务器来向VPN客户分配IP地址,因为DHCP服务器和ISA Server的内部接口在一个网段中。在这篇短文中,我将给你展示如何修改你网络的设计,并且超越这个限制。此外,如果你在本地网络中拥有多个LAN或者WAN,这个实例网络也可以作为常规结构。

 

 

2. 网络设计

     我经常在论坛上阅读到有人想在ISA Server上使用多个内部接口。作为一个经常接触网络的人,我不提供这种结构。我的看法是ISA Server应该只是一个防火墙,而不是一个内部路由器。因为ISA Server不能控制多个内部接口之间的传输。我强烈建议内内部路由的功能放置在一个指定的三层设备,例如路由器或者三层交换机。因为,我计划使用以下的网络设计:

 

     在Jim Harrison的文章Designing An ISA Server Solution on a Complex Network中,很好的阐述了这种场景中该如何配置ISA Server上的路由,所以,我不想重复。首先,这个设计没有什么特别的地方。可是,如果你想避免Split Tunneling 问题并且提高网络的安全性,你必须分配一段不包含在剩余的内网的有类别IP范围的IP段给ISA Server的内部接口。同样的,除了ISA Server和三层设备外,没有其他设备连接到这个网段。 因为这个网络只是一个中继网络,在上图中,我称之为Stub Subnet。

 

 

3. 有类别IP地址

    在20世纪70年代最初的Internet路由架构发展中,使用Class A、Class B、Class C三个类别中的一个来分配站点的IP地址。这些类别在容量和数量上存在不同。Class A地址是最多的,但是数量最少。Class C包含的地址最少,但是数量最多。同样也定义了Class D和E,但是他们并不用于通常的环境。类别的不同总结如下:

 

·         Class A - 0nnnnnnn hhhhhhhh hhhhhhhh hhhhhhhh

一位 0,网络位7,主机位24

一字节:0 - 127

拥有126个网络(0和127保留)

每个Class A网络拥有16,777,214主机

 

·         Class B - 10nnnnnn nnnnnnnn hhhhhhhh hhhhhhhh

前两位 10,网络位14,主机位16

第一字节:128 - 191

拥有16,384个网络

每个Class B网络拥有65,532个主机

 

·         Class C - 110nnnnn nnnnnnnn nnnnnnnn hhhhhhhh

前三位110,网络位 21,主机位 8

第一字节:192 - 223

拥有2,097,152个网络

每个网络可以拥有 254个主机

 

·         Class D - 1110mmmm mmmmmmmm mmmmmmmm mmmmmmmm

前四位1110,28个多播地址位

第一字节:224 - 247

Class D是保留为多播地址用,详细信息参照 RFC 1112

 

 

·         Class E - 1111rrrr rrrrrrrr rrrrrrrr rrrrrrrr

前四位 1111,28个保留地址位

第一字节:248 - 255

保留为实验使用

 

     在ISA Server安装为防火墙或者集成模式时,你必须指定本地地址表(LAT)。本地地址表列出了位于ISA Server之后的内部网络的所有内部IP地址。ISA Server使用LAT来控制内部网络内的计算机如何和外部进行通信。

     典型的,LAT包含了ISA Server计算机内部网卡相关的所有IP地址,另外还有Internet Assigned Numbers Authority (IANA)在RFC 1918: Address Allocation for Private Internets中定义的内部保留IP指定,它们是

10.0.0.0 - 10.255.255.255 (10/8 前缀)

172.16.0.0 - 172.31.255.255 (172.16/12 前缀)

192.168.0.0 - 192.168.255.255 (192.168/16 前缀)

     它们分别是Class A、Class B、Class C类网络。

     为了给Stub Subnet分配不包含在内部网络的有类别IP地址范围的IP地址,你必须小心的计算你的IP编码。例如,如果你在内部网络中使用保留IP段10.0.0.0/8,你不能给Stub Subnet分配10.0.0.0/8的IP段,因为它们都属于同样的Class A地址。

     因此,我建议你按照以下方法来分配保留的IP地址段:

·   首先决定你需要同时支持的VPN客户数量,它决定你需要定义多少个VPN端口;

·   如果你只需要同时支持低于254个的VPN客户,在192.168.0.0/16外分配一个Class C网络

·   如果你需要同时支持超过254个的VPN客户,在172.16.0.0/16外分配一个Class B网络。

至于如何使用DHCP来为VPN客户分配IP段,请阅读Tom  Shinder的文章 Using DHCP with ISA/VPN Server Clients

 

 

4. 结束

    通过使用上述网络设计和给Stub Subnet分配不包含在内部网络有类别IP段的IP地址范围,你可以通过向VPN客户分配脱离内部网络的IP地址来提高内部网络的安全性,而且可以超越不能DHCP来为VPN客户分配IP的限制。 

, ,

分享到