天天看点

用TCP和TLS为即时通讯搭建通信通道

在上一篇文章中我们搭建了即时通讯服务器LCS,今天我们为用户启用即时通讯服务,并为即时通讯用户搭建基于TCP和基于TLS的通信通道。

试验拓扑图如下:

试验拓扑介绍:Florence为域控制器、DNS服务器、CA服务器。

Firenze为LCS服务器。

Istanbul为测试客户机。

所有计算机都处于LCSTEST.COM域中

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617862AW6H.gif"></a>

<b>首先我们为客户启用即时通讯服务。</b><b></b>

在域控制器Florence上打开Active Directory 用户和计算机。选择要开启即时通讯服务的用户。右击用户名,选择属性。在用户属性中选择Live communications选项。

如下图所示,勾选为此用户启用Live communications(E)

为用户指定登录名格式如下所示:(在此我们为administrator配置LCS)sip:[email protected]

服务器或池我们选择FIRENZE.lcstest.com

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617864hMxu.jpg"></a>

同样的格式,为用户张三开启即时通讯服务。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_124261786896py.jpg"></a>

<b>安装</b><b>LCS</b><b>客户端</b><b></b>

LCS客户端是必不可少的。接下来我们在客户机上安装LCS客户端MSN。

双击执行安装MSN5.1

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617871XHzd.jpg"></a>

安装向导,点击下一步。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617874e4Tt.jpg"></a>

同意用户许可协议。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617883a7Vu.jpg"></a>

如下图所示,MSN正在安装…

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_12426178956sjV.jpg"></a>

MSN 5.1 安装完成。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617900PQAw.jpg"></a>

此时MSN是无法登陆的,因为LCS服务器没有配置SRV记录。

<b>配置</b><b>SRV</b><b>记录</b><b></b>

SRV记录可以说明某台服务器在某个端口提供某种服务,我们可以通过SRV记录说明firenze在5060端口提供TCP基础上的SIP服务,这样客户端软件就可以直接通过SRV记录找到LCS服务器,我们也就无需在每台客户机上一一进行设置了。

如下图所示,打开DNS,在当前域中选择其他新纪录

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617908Y1ng.jpg"></a>

选择新建SRV记录。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617913Ttdc.jpg"></a>

LCS服务器使用SIP(会话初始化协议)作为即时通讯的信令协议,SIP协议既可以在5060端口提供TCP连接,也可以在5061端口提供TLS加密连接, TLS需要有证书的支持,我们现在先来测试5060端口的TCP连接。

设置方式如下:

服务:_sip

协议:_tcp

优先级和权数使用默认值

端口号为5060

提供此服务的主机,我们要使用完全合格域名,我们的LCS服务器为firenze.lcstest.com

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617918CfW2.jpg"></a>

<b>验证</b><b></b>

配置完SRV记录后我们在客户机上登录MSN测试。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617923iVsI.jpg"></a>

连接到消息的服务:勾选SIP通讯服务

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617927HwGF.jpg"></a>

登陆名输入我们在前边设置的名称。我们在florence上以管理员登陆

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_12426179304PTr.jpg"></a>

OK 成功登陆

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617933VbDG.jpg"></a>

Istanbul上我们以张三登陆,顺利登陆并且两个用户能相互通讯啦.

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617937M25u.jpg"></a>

至此我们完成了即时通讯最基本的服务。

<b>接下来我们配置基于</b><b>TLS</b><b>的即时通讯服务。</b><b></b>

<b>创建证书服务器</b><b></b>

基于TLS的即时通讯服务要有证书的支持。我们在Florence上创建证书服务器。在添加删除windows组建中勾选证书服务。提示在安装证书服务前确认计算机名和域成员身份。选择是。继续后续操作。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617946Wd9g.jpg"></a>

创建企业根

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617950uRc3.jpg"></a>

CA的功用名称为ITETCA

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617955L8PU.jpg"></a>

证书数据库和证书数据库日志都放在默认目录中。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617957m1kr.jpg"></a>

OK 完成证书服务器的创建。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617962nYaB.jpg"></a>

证书服务器安装完成后,域内其他的计算机需要信任这个证书服务器。如果想让组策略尽快生效,可以如下图所示运行gpupdate/force,这样可以可以强制组策略立即生效。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617965hATW.jpg"></a>

<b>LCS</b><b>服务器申请证书。</b><b></b>

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617968RXzf.jpg"></a>

申请高级证书

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617973lCg9.jpg"></a>

在高级证书申请页面中,选择创建并想此CA提交一个申请。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617978IqEl.jpg"></a>

特别注意:

证书模版为:web服务器

姓名:firenze.lcstest.com

其他选项根据实际情况自行填写。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617983nYFj.jpg"></a>

在密钥选项中勾选:将证书报春在本地计算机存储中

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617985KTiW.jpg"></a>

证书已颁发。点击安装此证书。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617986aEei.jpg"></a>

证书申请完成。

<b>LCS</b><b>服务器使用证书</b><b></b>

LCS服务器申请证书后,就要使用申请到的证书配置TLS了。在Firenze的管理工具中打开“Live Communications Server 2005”,如下图所示,我们发现目前Firenze只在5060端口提供TCP连接,右键点击firenze.lcstest.com,选择属性。

<b></b>

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617988zFRJ.jpg"></a>

点击如下图中的添加。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617990HkKU.jpg"></a>

传输类型选择TLS,

端口为5061

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617992IPC1.jpg"></a>

基于TLS的即时通讯服务须有证书的支持。选择刚申请到得证书。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_12426179955XT1.jpg"></a>

如下图所示,是我们新建的添加连接。点击确定。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242617998HmGf.jpg"></a>

如下图所示,LCS服务器可以在5061端口提供加密的TLS连接啦。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242618002oIhr.jpg"></a>

同基于TCP的连接一样。TLS连接也得创建SRV记录。打开DNS管理器选择新建其他记录

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242618008IziN.jpg"></a>

选择创建SRV

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242618013JaL0.jpg"></a>

格式为:

协议:-_tls

优先级和权数还是用默认值

端口号为5061

提供此服务的主机为:firenze.lcstest.com

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242618016Gwtn.jpg"></a>

如下图所示,使用ipconfig/flushdns来清除DNS缓存, 以免查询不到DNS新增加的SRV记录。

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_12426180187NJs.jpg"></a>

如下图所示,administrator成功登陆。那怎样判断,客户端连接服务器使用的是TCP还是TLS呢?

<a href="http://fanlinlin.blog.51cto.com/attachment/200905/18/535085_1242618021k2EO.jpg"></a>

注意:如果LCS服务器既提供TCP连接,又提供TLS连接,客户端会优先使用安全性更高的TLS连接。

本文转自 范琳琳 51CTO博客,原文链接:http://blog.51cto.com/fanlinlin/158893,如需转载请自行联系原作者

继续阅读