最近几天大家在群里面讨论得比较热闹,就是关于边缘的部署,提了很多问题,比如说我没有TMG或者ISA,那么逆向代理怎么来弄?我只有一个公网IP,边缘应该怎么来部署?边缘只有一块网卡怎么部署等等。

其实只要明白里面的一些原理,只有一个公网IP,没有TMG等也是可以实现边缘部署的,并且顺利的进行及时消息,音视频会议。

这样的部署模式目前还没有发现什么异常的情况。当然了这些不是微软官方推荐的做法,建议如果是生产环境还是参照标准文档来处理。

 

本次具体的部署拓扑图如下:

p_w_picpath

企业只有一个路由器,外部的地址为:182.151.22.27。边缘只有一个网卡,但是我们绑定了2个IP地址,都是和前端在一个网段的。为了简化拓扑,其它一些角色未画出。

本文假设用户对LYNC的服务器常规边缘部署相对熟悉,所以一些基本的步骤等都已经略过。如果不熟悉,建议先看我以前的边缘部署文章。http://ucworld.blog.51cto.com/811917/466835

具体的实现方法:

p_w_picpath

由于我们在路由器上采用了NAT方式,所以我们需要在边缘的相关属性里设置使用了NAT的公用IP地址。

 

p_w_picpath

我们在192.168.1.20上面开放5061,444,442三个端口供这三个角色使用,这里除了5061之外,使用的都是非规范端口。这样边缘的相关设置就都好了,然后就是发布,同步拓扑。

 

p_w_picpath

在边缘的相关属性里,我们可以看到设置的2个IP地址,都是内部地址。

p_w_picpath

同时在边缘服务器上可以看到刚才设置的3个端口都在外部IP地址上进行监听。

p_w_picpath

然后我们在路由器上做了几条NAT记录。除了刚才设置的3个端口的NAT之外,我们还设置一个50000-59999之间端口的NAT,这个是实现音视频和桌面共享等必须的。直接NAT到边缘的外部IP地址192.168.1.20上就OK。

为什么还有一个443端口的要路由到192.168.1.11上呢。192.168.1.11就是我们的前端。这条NAT记录实现外部客户端下载地址簿,会议共享内容等目的。

 

p_w_picpath

这里外部客户端所填入的sip.lyncpbx.net,对应解析出来的IP地址需要是我们的公网IP地址。同时边缘外部端口上的证书的SN也必须是sip.lyncpbx.net。到这里外部用户就可以正常登录了。


p_w_picpath

用户如何下载到地址簿?通过上图的对应关系,我们可以可以清晰地看到:通过配置拓扑的相关信息(需要连接的主机的FQDN和端口),系统告诉外部用户可以到https://sip.lyncpbx.net:443那里去下载地址簿和分布组等信息。如果你要改成其它端口,也可以随意的修改,只要客户端一登录上来,它就会知道去那里下载。

 

到这里就搞定了,对于边缘服务器,它不知道自己是位于NAT后,还是使用公网IP地址,所以如果是使用NAT,那么我们需要手工输入NAT后的IP地址。我们可以看看填入NAT地址和不填入NAT地址,边缘所发出的包里面有哪些不同。

p_w_picpath

上图是填入了NAT后的公网IP地址的边缘数据截图,我们可以看到在接到外部用户发出的sip invite之后,边缘回复给客户端的信息里面包含了我们所填入的公网IP地址和端口,它通过这个信息告诉外部的客户端应该去连接的IP地址和端口。

 

p_w_picpath

如果我们把NAT后的IP地址取消

 

p_w_picpath

这个时候用户就无法进行音视频呼叫了,因为边缘告诉了它去连接一个内部的IP地址(192.168.1.20),由于这个地址是属于私有地址,所以肯定音视频连接肯定失败。 


看着一切都OK,但是这样的部署有什么问题呢?

p_w_picpath

其实这样的部署未考虑一个因素就是前端服务器上的IIS,我们都知道LYNC建立了两个IIS站点,一个供内部用户访问,一个供外部用户访问,它们所监听的端口都不一样。而我们上面的部署中,外部用户也通过443端口的访问也到了本来只供内部访问的站点上了。估计安全上有一些隐患。如果采用TMG发布的方式的话,用户原本通往443的访问就可以被TMG转换成为到4443的访问。