DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
Deployment Guide Citrix NetScaler for Microsoft Lync
www.citrix.com
DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
Table of Contents
Introduction..........................................................................................................................................3 Solution Requirements.........................................................................................................................4 Prerequisites.........................................................................................................................................4 Network Diagram.................................................................................................................................5 Networking...........................................................................................................................................7 Add Subnet IPs................................................................................................................................7 Load Balancing....................................................................................................................................9 Add Custom Availability Monitors...................................................................................................9 Add Lync Servers to be Load Balanced........................................................................................10 Create Load Balancing Service Groups........................................................................................11 Bind Availability Monitors..............................................................................................................13 Create Virtual Servers....................................................................................................................15
Introduction Citrix® NetScaler® optimizes the delivery of Web applications—increasing security, improving performance, and expanding Web server capacity. This approach ensures the best total cost of ownership (TCO), security, availability, and performance for Web applications. The Citrix NetScaler solution is a comprehensive network system that combines high-speed load balancing and content switching with state-of-the-art application acceleration, layer 4-7 traffic management, data compression, dynamic content caching, SSL acceleration, network optimization, and robust application security to provide a single, tightly integrated solution. Deployed in front of application servers, the NetScaler significantly reduces processing overhead on application and database servers, resulting in reduced hardware and bandwidth costs. There are several ways to configure the NetScaler to load balance the Microsoft Lync servers. NetScalers can be configured through their GUI configuration utility or through the CLI. This guide describes both scenarios, using the Lync Server 2010 as an example. Microsoft Lync 2010 has Standard and Enterprise Editions available. However, the Enterprise Edition is the one that requires a hardware load balancer at the front end of a large deployment with multiple servers in order to scale to the maximum number of users for the Enterprise customers. For large-scale deployments, NetScaler will front end the Lync servers with Virtual IP addresses and balance the load across the Lync server pool. After Lync clients register on an active directory or Enterprise pool, the client traffic is bound to an Lync-specific server through the NetScaler. Each Lync server within the Enterprise pool directory handles the server applications, security, authentication, and connection and protocol processing. The SQL database in the back end handles the persistent data, such as contact lists and Access Control Lists. Therefore, the same client can be processed by any Lync server in the pool at any given time.
3
DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
Solution Requirements • Load Balanced Microsoft Lync server environment
Prerequisites • NetScaler v9.2+ (Quantity 2 for High Availability) • Microsoft Lync Server 2010
4
Network Diagram The following is the Network that was used to develop this deployment guide.
Citrix NetScaler for Microsoft Lync Logical Diagram
External VLAN 305
NetScaler VIP edgeap edgedp edgemr
Lync Access Edge Lync Server edgeap1 edgedp1 edgemr1
IPAddress 172.29.107.101 172.29.107.103 172.29.107.104
Ports 443,135 443 443,3478
IPAddress 172.29.107.214 172.29.107.217 172.29.107.218
Lync A/V Lync Server edgeap2 edgedp2 edgemr2
IPAddress 172.29.107.105 172.29.107.109 172.29.107.110
NetScaler VIP vsrv_Lync
Lync Front-End 1 Lync Server FE1
IPAddress 10.6.66.30
Ports 80,135,443,444,5060,5061
IPAddress 10.6.66.35
Port 443,135 443 443,3478
Internal VLAN 66 Ports 80,135,443,444,5060,5061
Lync Front-End 2 Lync Server FE2
Database
5
Ports 443,135 443 443,3478
IPAddress 10.6.66.31
Ports 80,135,443,444,5060,5061
DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
Citrix NetScaler for Microsoft Lync Physical Diagram
NetScaler edgeap: 172.29.107.214 edgedp: 172.29.107.217 edgemr: 172.29.107.218
vsrv_Lync: 10.6.66.35
Lync Front-End 1 FE1: 10.6.66.30
Database VLAN 305
VLAN 66
Lync Front-End 2 FE2: 10.6.66.31
Lync Access Edge edgeap1: 172.29.107.101 edgedp1: 172.29.107.103 edgemr1: 172.29.107.104
Lync A/V edgeap2: 172.29.107.105 edgedp2: 172.29.107.109 edgemr2: 172.29.107.110
6
Networking Add Subnet IPs Create a certificate request on the NetScaler, and we will submit it to the Windows Certificate Authority to issue a certificate.
Connect to NetScaler: Network -> IPs. Add. In this example we are adding two Subnet IP addresses. The 172 address will be bound to VLAN 1, while the 10 address will be bound to VLAN 66. Subnet IPs are used as the Source IP Address when routing packets that leave the NetScaler.
7
DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
Add VLANs: Navigate to Network -> VLANs. Add VLAN 66. We will bind the Subnet IP Address 10.6.66.250 to VLAN 66. This is equivalent to a VLAN IP Address, but is also used as the Source IP for routing packets from the NetScaler.
Using the Command Line Interface: At the NetScaler command prompt, type: set ns hostName nslync add ns ip 63.110.51.88 255.255.255.0 -vServer DISABLED add ns ip 172.29.107.215 255.255.252.0 -vServer DISABLED add ns ip 10.6.66.250 255.255.255.0 -vServer DISABLED add vlan 66 bind vlan 66 -IPAddress 10.6.66.250 255.255.255.0
8
Load Balancing Add Custom Availability Monitors Add Monitors: These are the monitors that will determine the uptime of the Microsoft Lync Servers. In the NetScaler GUI, navigate to Load Balancing -> Monitors -> Add. For this example:
Monitor
Port
MON_80
TCP 80
MON_443
TCP 443
MON_5060
TCP 5060
MON_5061
TCP_5061
Using the Command Line Interface: At the NetScaler command prompt, type: add lb monitor MON_5061 TCP -LRTM ENABLED -destPort 5061 -secure YES add lb monitor MON_5060 TCP -LRTM ENABLED -destPort 5060 add lb monitor MON_80 TCP -LRTM ENABLED -destPort 80 add lb monitor MON_443 TCP -LRTM ENABLED -destPort 443 save config
9
DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
Add Lync Servers to be Load Balanced Add Servers: These are the Microsoft Lync Servers that the NetScaler will Load Balance. In the NetScaler GUI, navigate to Load Balancing -> Servers -> Add. For this example:
Using the Command Line Interface: At the NetScaler command prompt, type:
Server
IP Address
FE1
10.6.6.30
FE2
10.6.66.31
edgeap1
172.29.107.101
edgedp1
172.29.107.103
edgemr1
172.29.107.104
edgeap2
172.29.107.105
edgedp2
172.29.107.109
edgemr2
172.29.107.110
add server FE1 10.6.66.30 add server FE2 10.6.66.31 add server edgeap1 172.29.107.101 add server edgedp1 172.29.107.103 add server edgemr1 172.29.107.104 add server edgeap2 172.29.107.105 add server edgedp2 172.29.107.109 add server edgemr2 172.29.107.110 save config
10
Create Load Balancing Service Groups Add Load Balancing Service Groups: This is where the Load Balancing algorithm and policies are defined. In the NetScaler GUI, navigate to Load Balancing -> Service Groups -> Add.
Service Group
11
Protocol
Lync Server Port
svc_LYNC5060
TCP
FE1 FE2
5060 5060
svc_LYNC5061
TCP
FE1 FE2
5061 5061
svc_LYNC135
TCP
FE1 FE2
135 135
svc_LYNC444
TCP
FE1 FE2
444 444
svc_LYNC443
SSL_BRIDGE
FE1 FE2
443 443
svc_LYNC80
TCP
FE1 FE2
80 80
svc_LYNCedgeap
SSL_BRIDGE
edgeap1 edgeap2
443 443
svc_LYNCedgedp
SSL_BRIDGE
edgedp1 edgedp2
443 443
svc_LYNCedgemr
SSL_BRIDGE
edgemr1 edgemr2
443 443
svc_LYNCedgeap1135
TCP
edgeap1 edgeap2
135 135
DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
Service Groups: When finished entering Service Groups, your configuraiton should match the screenshot and the values in the table.
Using the Command Line Interface: At the NetScaler command prompt, type: add serviceGroup svc_LYNC5060 TCP add serviceGroup svc_LYNC5061 TCP add serviceGroup svc_LYNC135 TCP add serviceGroup svc_LYNC444 TCP add serviceGroup svc_LYNC443 SSL_BRIDGE add serviceGroup svc_LYNC80 TCP add serviceGroup svc_LYNCedgeap SSL_BRIDGE add serviceGroup svc_LYNCedgedp SSL_BRIDGE add serviceGroup svc_LYNCedgemr SSL_BRIDGE add serviceGroup svc_LYNCedgeap135 TCP bind serviceGroup svc_LYNC5060 FE1 5060 bind serviceGroup svc_LYNC5060 FE2 5060 bind serviceGroup svc_LYNC5061 FE1 5061 bind serviceGroup svc_LYNC5061 FE2 5061 bind serviceGroup svc_LYNC135 FE1 135 bind serviceGroup svc_LYNC135 FE2 135 bind serviceGroup svc_LYNC444 FE1 444 bind serviceGroup svc_LYNC444 FE2 444 bind serviceGroup svc_LYNC443 FE1 443 12
bind serviceGroup svc_LYNC443 FE2 443 bind serviceGroup svc_LYNC80 FE1 80 bind serviceGroup svc_LYNC80 FE2 80 bind serviceGroup svc_LYNCedgeap edgeap1 443 bind serviceGroup svc_LYNCedgeap edgeap2 443 bind serviceGroup svc_LYNCedgedp edgesp1 443 bind serviceGroup svc_LYNCedgedp edgedp2 443 bind serviceGroup svc_LYNCedgemr edgemr1 443 bind serviceGroup svc_LYNCedgemr edgemr2 443 bind serviceGroup svc_LYNCedgeap135 edgeap1 135 bind serviceGroup svc_LYNCedgeap135 edgeap2 135 save config
Bind Monitors to Service Groups: In the NetScaler GUI, navigate to Load Balancing -> Service Groups -> Open ->. Select the Monitors tab, and assign the server monitor.
13
Bind Availability Monitors
DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
Service Group
Monitor
svc_LYNC5060
MON_5060
svc_LYNC5061
MON_5061
svc_LYNC135
MON_5061
svc_LYNC444
MON_5061
svc_LYNC443
MON_443
svc_LYNC80
MON_80
svc_LYNCedgeap
MON_443
svc_LYNCedgedp
MON_443
svc_LYNCedgemr
MON_443
svc_LYNCedgeap1135
MON_5061
Bind Monitors: These are the Monitors that will poll the Microsoft Lync servers to determine if they are up and running - for high availability.
Using the Command Line Interface: At the NetScaler command prompt, type: bind lb monitor MON_5060 svc_LYNC5060 bind lb monitor MON_5061 svc_LYNC5061 bind lb monitor MON_5061 svc_LYNC135 bind lb monitor MON_5061 svc_LYNC443 bind lb monitor MON_80 svc_LYNC80 bind lb monitor MON_443 svc_LYNCedgeap bind lb monitor MON_443 svc_LYNCedgedp bind lb monitor MON_443 svc_LYNCedgemr bind lb monitor MON_443 svc_LYNCedgeap135
14
Add Load Balancing Virtual Servers: These are the Virtual Servers that end-users will connect to. These IP Addresses should be resolvable by DNS. In the NetScaler GUI, navigate to Load Balancing -> Virtual Servers -> Add. Enter each virtual server name and VIP - Virtual IP Address, protocol and port number.
On the advanced tab, enter 1200 secconds for the ClientTimeout. This value should be at least the same or equal timeout value set in Microsoft Lync.
15
Create Virtual Servers
DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
Virtual Servers: When finished the Virtual Servers should match the screenshot and table below.
Client Virtual Server IP Address Protocol Port Service Group Persistence Timeout vsrv_LYNC135
10.6.66.35
TCP
135
svc_LYNC135
Source IP -orCookie Insert
1200 secs
vsrv_LYNC444
10.6.66.35
TCP
444
svc_LYNC444
Source IP -orCookie Insert
1200 secs
vsrv_LYNC5060
10.6.66.35
TCP
5060
svc_LYNC5060
Source IP -orCookie Insert
1200 secs
vsrv_LYNC5061
10.6.66.35
TCP
5061
svc_LYNC5061
Source IP -orCookie Insert
1200 secs
vsrv_LYNC443
10.6.66.35
SSL_BRIDGE
443
svc_LYNC443
Source IP -orCookie Insert
1200 secs
vsrv_LYNC80
10.6.66.35
TCP
80
svc_LYNC80
Source IP -orCookie Insert
1200 secs
vsrv_LYNCedgeap
172.29.107.214
SSL_BRIDGE
443
svc_LYNCedgeap
Source IP -orCookie Insert
1200 secs
vsrv_LYNCedgedp
172.29.107.217
SSL_BRIDGE
443
svc_LYNCedgedp
Source IP -orCookie Insert
1200 secs
vsrv_LYNCedgemr
172.29.107.218
SSL_BRIDGE
443
svc_LYNCedgemr
Source IP -orCookie Insert
1200 secs
vsrv_LYNCedge135
172.29.107.214
TCP
135
svc_LYNCedgeap135
Source IP -orCookie Insert
1200 secs
16
Using the Command Line Interface: At the NetScaler command prompt, type: add lb vserver vsrv_LYNC135 TCP 10.6.66.35 135 -persistenceType SOURCEIP -cltTimeout 1200 add lb vserver vsrv_LYNC444 TCP 10.6.66.35 444 -persistenceType SOURCEIP -cltTimeout 1200 add lb vserver vsrv_LYNC5060 TCP 10.6.66.35 5060 -persistenceType SOURCEIP -cltTimeout 1200 add lb vserver vsrv_LYNC5061 TCP 10.6.66.35 5061 -persistenceType SOURCEIP -timeout 22 -cltTimeout 1200 add lb vserver vsrv_LYNC443 SSL_BRIDGE 10.6.66.35 443 -persistenceType SOURCEIP -cltTimeout 1800 add lb vserver vsrv_LYNC80 TCP 10.6.66.35 80 -persistenceType NONE -state DISABLED -cltTimeout 9000 add lb vserver vsrv_LYNCedgeap SSL_BRIDGE 172.29.107.214 443 -persistenceType SOURCEIP -cltTimeout 1200 add lb vserver vsrv_LYNCedgedp SSL_BRIDGE 172.29.107.217 443 -persistenceType SOURCEIP -cltTimeout 1200 add lb vserver vsrv_LYNCedgemr SSL_BRIDGE 172.29.107.218 443 -persistenceType SOURCEIP -cltTimeout 1200 add lb vserver vsrv_LYNCedgeap135 TCP 172.29.107.214 135 -persistenceType SOURCEIP -cltTimeout 1200 bind lb vserver vsrv_LYNC5060 svc_LYNC5060 bind lb vserver vsrv_LYNC5061 svc_LYNC5061 bind lb vserver vsrv_LYNC135 svc_LYNC135 bind lb vserver vsrv_LYNC444 svc_LYNC444 bind lb vserver vsrv_LYNC443 svc_LYNC443 bind lb vserver vsrv_LYNC80 svc_LYNC80 bind lb vserver vsrv_LYNCedge-ap-443 svc_LYNCedgeap bind lb vserver vsrv_LYNCedge-dp-443 svc_LYNCedgedp bind lb vserver vsrv_LYNCedge-mr-443 svc_LYNCedgemr bind lb vserver vsrv_LYNCedge-ap-135 svc_LYNCedgeap135
17
DEPLOYMENT GUIDE | Citrix NetScaler, Microsoft Lync
18
Worldwide Headquarters Citrix Systems, Inc. 851 West Cypress Creek Road Fort Lauderdale, FL 33309, USA T +1 800 393 1888 T +1 954 267 3000 Americas Citrix Silicon Valley 4988 Great American Parkway Santa Clara, CA 95054, USA T +1 408 790 8000 Europe Citrix Systems International GmbH Rheinweg 9 8200 Schaffhausen, Switzerland T +41 52 635 7700 Asia Pacific Citrix Systems Hong Kong Ltd. Suite 3201, 32nd Floor One International Finance Centre 1 Harbour View Street Central, Hong Kong T +852 2100 5000 Citrix Online Division 6500 Hollister Avenue Goleta, CA 93117, USA T +1 805 690 6400 www.citrix.com
About Citrix Citrix Systems, Inc. (NASDAQ:CTXS) is the leading provider of virtualization, networking and software as a service technologies for more than 230,000 organizations worldwide. Its Citrix Delivery Center, Citrix Cloud Center (C3) and Citrix Online Services product families radically simplify computing for millions of users, delivering applications as an on-demand service to any user, in any location on any device. Citrix customers include the world’s largest Internet companies, 99 percent of Fortune Global 500 enterprises, and hundreds of thousands of small businesses and prosumers worldwide. Citrix partners with over 10,000 companies worldwide in more than 100 countries. Founded in 1989, annual revenue in 2008 was $1.6 billion. The information in this publication is subject to change without notice. THIS PUBLICATION IS PROVIDED “AS IS” WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. CITRIX SYSTEMS, INC. (“CITRIX”), SHALL NOT BE LIABLE FOR TECHNICAL OR EDITORIAL ERRORS OR OMISSIONS CONTAINED HEREIN, NOR FOR DIRECT, INCIDENTAL, CONSEQUENTIAL OR ANY OTHER DAMAGES RESULTING FROM THE FURNISHING, PERFORMANCE, OR USE OF THIS PUBLICATION, EVEN IF CITRIX HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES IN ADVANCE. This publication contains information protected by copyright. Except for internal distribution, no part of this publication may be photocopied or reproduced in any form without prior written consent from Citrix. The exclusive warranty for Citrix products, if any, is stated in the product documentation accompanying such products. Citrix does not warrant products other than its own. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies. © 2009 Citrix Systems, Inc., 851 West Cypress Creek Road, Ft. Lauderdale, Florida 33309-2009 U.S.A. All rights reserved.