对于OS X Mountain Lion的VPN服务器,我的安装有些奇怪。它实际上是用作绕过我公司的防火墙到我们的Extranet连接的桥梁-我们团队需要做的某些事情要求不受限制地访问外部,并且更改IT策略以允许通过主防火墙的流量只是一种选择。
Extranet连接通过Wireless-N路由器提供(我们将其称为Wi-Fi X)。我的Mac Mini服务器已配置为此路由器的连接作为主要连接,因此可以不受限制地通过路由器访问Internet。可以通过LAN端口在直接子网上连接到此设备,但是在子网上以外的设备可靠性较差。
我能够使用PPTP和L2TP配置VPN服务器为192.168.11.150-192.168.11.200范围内的客户端提供IP地址,并且能够使用标准Mac OS X VPN通过VPN连接到Extranet系统偏好设置中的客户端,但是毫不奇怪,本地地址(我们称其为internal.company.com)什么也不返回。
我试图通过在VPN设置中设置路由来绕过VPN服务器的限制。我们公司对所有内部流量使用13.xxx,而不是10.xxx,因此路由表如下所示:
IP Address ---------- Subnet Mask ---------- Configuration
0.0.0.0 248.0.0.0 Private
8.0.0.0 252.0.0.0 Private
12.0.0.0 255.0.0.0 Private
13.0.0.0 255.0.0.0 Public
14.0.0.0 254.0.0.0 Private
16.0.0.0 240.0.0.0 Private
32.0.0.0 224.0.0.0 Private
64.0.0.0 192.0.0.0 Private
128.0.0.0 128.0.0.0 Private
我的印象是,如果此处未输入任何内容,则所有流量都将通过VPN路由。输入某些内容后,只有经过特殊标记才能通过VPN的流量才能通过VPN,所有其他流量将由客户端使用其自己的默认连接进行访问。这就是为什么我必须专门将除13.xxx之外的每个子网都标记为“私有”。
我的怀疑是,由于无法从本地子网外部访问VPN服务器,因此它未与主DNS服务器建立连接,因此无法在较大的网络上访问。我以为输入的主机名如internal.company.com不会被踢回客户端进行解析,因为服务器不知道IP地址属于公共范围,因为我怀疑(可能应该ping测试它,但是(现在无法访问它),则它无法到达DNS服务器以查找有关该主机名的任何信息。
在我看来,解决这些问题的所有选择都归结为相同类型的解决方案:
找出如何通过服务器上的辅助连接访问DNS。我在想,如果我能够做某事使我的服务器认识到它也应该检查我的本地网关(假设服务器IP == 13.100.100.50和网关IP == 13.100.100.1)。从那里,网关IP可以告诉我在13.1.1.1处查找DNS服务器,并向我提供有关内部网络的信息。我对这条路非常困惑-真的不确定我是否有意义。
我考虑过尝试做此客户端,但这也没有意义,因为那样会增加每个客户端设置的时间。另外,在服务器上解决它似乎更合乎逻辑-我可以完全摆脱路由表,也可以保留它-我认为唯一的区别是内部流量也将通过服务器-可能对服务器造成不必要的负担它。
有什么帮助吗?还是我在头上?对我来说,转发代理或透明代理也是一种选择,尽管我不知道如何设置它们。(我知道,Google是我的朋友。)