Citrix NetScaler 10 5 Admin Guide
Citrix NetScaler 10 5 Admin Guide
Administration Guide
Citrix NetScaler 10.5
December 11, 2014
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT
SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE
OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
The following information is for FCC compliance of Class A devices: This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant
to part 15 of the FCC rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial
environment. This equipment generates, uses, and can radiate radio-frequency energy and, if not installed and used in accordance with the instruction manual, may cause
harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference, in which case users will be required
to correct the interference at their own expense.
The following information is for FCC compliance of Class B devices: This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant
to part 15 of the FCC rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates,
uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications.
However, there is no guarantee that interference will not occur in a particular installation. If the equipment causes interference to radio or television reception, which can be
determined by turning the equipment off and on, users are encouraged to try to correct the interference by using one or more of the following measures:
Reorient or relocate the receiving antenna.
Increase the separation between the equipment and receiver.
Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
Consult the dealer or an experienced radio/TV technician for help.
Modifications to this product not authorized by Cisco could void the FCC approval and negate your authority to operate the product.
The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCBs public
domain version of the UNIX operating system. All rights reserved. Copyright 1981, Regents of the University of California.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED AS IS WITH
ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF
DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING,
WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO
OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this
URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership
relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display
output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in
illustrative content is unintentional and coincidental.
Citrix and other Citrix product names referenced herein are trademarks of Citrix Systems, Inc. and/or one of its subsidiaries, and may be registered in the United States Patent
and Trademark Office and in other countries. All other product names, company names, marks, logos, and symbols are trademarks of their respective owners.
1 Basic Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Viewing and Saving Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
To view the running configuration by using the command line interface. . . . . . . . . . . . . . 22
To view the running configuration by using the configuration utility. . . . . . . . . . . . . . . . . . . 22
To find the difference between two configuration files by using the command line
interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
To find the difference between two configuration files by using the configuration
utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
To save configurations by using the command line interface. . . . . . . . . . . . . . . . . . . . . . . . . . 22
To save configurations by using the configuration utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
To view the saved configurations by using the command line interface. . . . . . . . . . . . . . .23
To view the saved configurations by using the configuration utility. . . . . . . . . . . . . . . . . . . . 23
Clearing the NetScaler Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
To clear the configuration by using the command line interface. . . . . . . . . . . . . . . . . . . . . . . 24
To clear the configuration by using the configuration utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Configuring Clock Synchronization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Setting Up Clock Synchronization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
To add an NTP server by using the command line interface. . . . . . . . . . . . . . . . . . . . . 24
To configure an NTP server by using the configuration utility. . . . . . . . . . . . . . . . . . . . 25
Starting the NTP Daemon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
To enable NTP synchronization by using the command line interface. . . . . . . . . . . 25
To enable NTP synchronization by using the configuration utility. . . . . . . . . . . . . . . . 25
Configuring Clock Synchronization Manually. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
To enable clock synchronization on your NetScaler by modifying the
ntp.conf file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Configuring System Session Timeout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Viewing the System Date and Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
To view the system date and time by using the command line interface. . . . . . . . . . . . . . 28
To view the system date and time by using the configuration utility. . . . . . . . . . . . . . . . . . . 28
Backing up and Restoring the NetScaler Appliance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Backing up a NetScaler Appliance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
iii
Contents
To backup the NetScaler by using the NetScaler command line interface. . . . . . .30
To backup the NetScaler by using the configuration utility. . . . . . . . . . . . . . . . . . . . . . . 31
Restoring the NetScaler Appliance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
To restore the NetScaler by using the command line interface. . . . . . . . . . . . . . . . . . .31
To restore the NetScaler by using the configuration utility. . . . . . . . . . . . . . . . . . . . . . . .32
Restarting or Shutting down the Appliance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
To restart the NetScaler by using the command line interface. . . . . . . . . . . . . . . . . . . . . . . . .32
To restart the NetScaler by using the configuration utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
To shut down the NetScaler by using the command line interface. . . . . . . . . . . . . . . . . . . . 33
2 Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
Authentication and Authorization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Configuring Users and Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Configuring User Accounts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Configuring User Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Configuring Command Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Built-in Command Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
Creating Custom Command Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Binding Command Policies to Users and Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Resetting the Default Administrator (nsroot) Password. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
To reset the nsroot password. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Example of a User Scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Configuration steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Configuring External User Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Configuring LDAP Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Configuring RADIUS Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Configuring TACACS+ Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
Binding the Authentication Policies to the System Global Entity. . . . . . . . . . . . . . . . . 52
TCP Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Setting Global TCP Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Default TCP profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
Global TCP command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
TCP buffering feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Setting Service or Virtual Server Specific TCP Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . 55
To specify service or virtual server level TCP configurations by using the
command line interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
To specify service or virtual server level TCP configurations by using the
configuration utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Built-in TCP Profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
Sample TCP Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
iv
Citrix NetScaler System Guide
v
Contents
vi
Citrix NetScaler System Guide
3 AppFlow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
How AppFlow Works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Flow Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
EIEs for web page performance data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
EIEs for database information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Configuring the AppFlow Feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Enabling AppFlow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
To enable the AppFlow feature by using the command line interface. . . . . . . . . . 139
To enable the AppFlow feature by using the configuration utility. . . . . . . . . . . . . . . 139
Specifying a Collector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
To specify a collector by using the command line interface. . . . . . . . . . . . . . . . . . . . . 139
To specify a collector by using the configuration utility. . . . . . . . . . . . . . . . . . . . . . . . . . 139
Configuring an AppFlow Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
To configure an AppFlow action by using the command line interface. . . . . . . . . 140
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
To configure an AppFlow action by using the configuration utility. . . . . . . . . . . . . . 140
vii
Contents
viii
Citrix NetScaler System Guide
5 Clustering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
NetScaler Features Supported on a Cluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Hardware and Software Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
How Clustering Works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Synchronization Across Cluster Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Striped, Partially Striped, and Spotted Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
Communication in a Cluster Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Traffic Distribution in a Cluster Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Cluster Nodegroups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Nodegroup - For Spotted and Partially-Striped Configurations. . . . . . . . . . . . . . . . . 173
Nodegroup - For Datacenter Redundancy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
Cluster and Node States. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Routing in a Cluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
Setting up a NetScaler Cluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Setting up Inter-Node Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
To set up the cluster backplane, do the following for every node. . . . . . . . . . . . . . . 181
Creating a NetScaler Cluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
To create a cluster by using the command line interface. . . . . . . . . . . . . . . . . . . . . . . .182
To create a cluster by using the configuration utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
Adding a Node to the Cluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
To add a node to the cluster by using the command line interface. . . . . . . . . . . . . 184
To add a node to the cluster by using the configuration utility. . . . . . . . . . . . . . . . . . 185
To join a previously added node to the cluster by using the configuration
utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Removing a Cluster Node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
To remove a cluster node by using the command line interface. . . . . . . . . . . . . . . . 186
To remove a cluster node by using the configuration utility. . . . . . . . . . . . . . . . . . . . . 186
Viewing the Details of a Cluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
To view details of a cluster instance by using the command line interface. . . . . 186
To view details of a cluster node by using the command line interface. . . . . . . . . 186
To view details of a cluster instance by using the configuration utility. . . . . . . . . . 186
ix
Contents
x
Citrix NetScaler System Guide
xi
Contents
xii
Citrix NetScaler System Guide
7 Networking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
IP Addressing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Configuring NetScaler-Owned IP Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Configuring the NetScaler IP Address (NSIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Configuring and Managing Virtual IP (VIP) Addresses . . . . . . . . . . . . . . . . . . . . . . . . . 269
Configuring ARP response Suppression for Virtual IP addresses (VIPs). . . . . . .272
Configuring Subnet IP Addresses (SNIPs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274
Configuring Mapped IP Addresses (MIPs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Configuring GSLB Site IP Addresses (GSLBIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Removing a NetScaler-Owned IP Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Configuring Application Access Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
How the NetScaler Proxies Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
How the Destination IP Address Is Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
How the Source IP Address Is Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Enabling Use Source IP Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
Recommended Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
To globally enable or disable USIP mode by using the command line
interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
To enable USIP mode for a service by using the command line interface. . . . . .290
xiii
Contents
To globally enable or disable USIP mode by using the configuration utility. . . . 290
To enable USIP mode for a service by using the configuration utility. . . . . . . . . . .290
Configuring Network Address Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
Configuring INAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Coexistence of INAT and Virtual Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Stateless NAT46 Translation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
DNS64. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Stateful NAT64 Translation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
Configuring RNAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
RNAT in USIP, USNIP, and LLB Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Configuring RNAT for IPv6 Traffic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
Configuring Prefix-Based IPv6-IPv4 Translation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Configuring Static ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
To add a static ARP entry by using the command line interface. . . . . . . . . . . . . . . . 315
To remove a static ARP entry by using the command line interface. . . . . . . . . . . . 315
To add a static ARP entry by using the configuration utility. . . . . . . . . . . . . . . . . . . . . 315
Setting the Timeout for Dynamic ARP Entries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
To set the time-out for dynamic ARP entries by using the command line
interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
To set the time-out for dynamic ARP entries to its default value by using the
command line interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316
To set the time-out for dynamic ARP entries by using the configuration utility 316
Configuring Neighbor Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Adding IPv6 Neighbors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Removing IPv6 Neighbors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
Configuring IP Tunnels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
NetScaler as an Encapsulator (Load Balancing with DSR Mode). . . . . . . . . . . . . . 319
NetScaler as a Decapsulator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
Creating IP Tunnels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Customizing IP Tunnels Globally. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320
Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Configuring MAC-Based Forwarding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321
To enable or disable MAC-based forwarding by using the command line
interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
Configuring Network Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Setting the Network Interface Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Enabling and Disabling Network Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325
Resetting Network Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Monitoring a Network Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Configuring Forwarding Session Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
xiv
Citrix NetScaler System Guide
xv
Contents
xvi
Citrix NetScaler System Guide
xvii
Contents
xviii
Citrix NetScaler System Guide
xix
Contents
To save the content of the webinterface.conf to your local system by using the
configuration utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Using the config.xml Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .476
To search a string in the config.xml file by using the configuration utility. . . . . . . . . . . . 476
To save the content of the config.xml to the local system by using the
configuration utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
xx
Chapter 1
Basic Operations
21
Chapter 1 Basic Operations
show ns runningConfig
save ns config
22
Citrix NetScaler System Guide
show ns ns.conf
Basic level. Clearing your configuration at the basic level clears all settings except the
following:
Extended level. Clearing your configuration at the extended level clears all settings
except the following:
Full level. Clearing your configuration at the full level returns all settings to their
factory default values. However, the NSIP and default gateway are not changed,
because changing them could cause the appliance to lose network connectivity.
23
Chapter 1 Basic Operations
You can configure clock synchronization on your appliance by adding NTP server entries
to the ntp.conf file from either the configuration utility or the command line interface,
or by manually modifying the ntp.conf file and then starting the NTP daemon (NTPD).
The clock synchronization configuration does not change if the appliance is restarted,
upgraded, or downgraded. However, the configuration does not get propagated to the
secondary NetScaler in a high availability setup.
Note: If you do not have a local NTP server, you can find a list of public, open access,
NTP servers at the official NTP site, http://www.ntp.org, under Public Time Servers
List. Before configuring your NetScaler to use a public NTP server, be sure to read the
Rules of Engagement page (link included on all Public Time Servers pages).
24
Citrix NetScaler System Guide
Example
25
Chapter 1 Basic Operations
4. Check the /nsconfig/ntp.conf file for the following entries and, if they are
present, remove them:
restrict localhost
restrict 127.0.0.2
5. Add the IP address for the desired NTP server to the /nsconfig/ntp.conf file,
beneath the files server and restrict entries.
Note: For security reasons, there should be a corresponding restrict entry for
each server entry.
6. If the /nsconfig directory does not contain a file named rc.netscaler, create the
file.
7. Add the following entry to /nsconfig/rc.netscaler:
/usr/sbin/ntpd -c /nsconfig/ntp.conf -l /var/log/ntpd.log &
This entry starts the ntpd service, checks the ntp.conf file, and logs messages in
the /var/log directory.
Note:
If you want to start the time synchronization process without restarting the
NetScaler, run the following command from the shell prompt:
/usr/sbin/ntpd -c /nsconfig/ntp.conf -l /var/log/ntpd.log &
GUI Navigate to System > User Administration > Users, select a user, and
edit the user's timeout setting.
GUI Navigate to System > User Administration > Groups, select a group,
and edit the group's timeout setting.
26
Citrix NetScaler System Guide
w Global system timeout. Applicable to all users and users from groups who do not
have a timeout configured.
GUI Navigate to System > Settings, click Change global system settings,
and update the timeout value as required.
The timeout value specified for a user has the highest priority. If timeout is not
configured for the user, the timeout configured for a member group is considered. If
timeout is not specified for a group (or the user does not belong to a group), the
globally configured timeout value is considered. If timeout is not configured at any
level, the default value of 900 seconds is set as the system session timeout.
Additionally, you can specify timeout durations for each of the interfaces you are
accessing. However, the timeout value specified for a specific interface is restricted to
the timeout value configured for the user that is accessing the interface. For example,
let us consider an user "publicadmin" who has a timeout value of 20 minutes. Now,
when accessing an interface, the user must specify a timeout value that is within 20
minutes.
Note: You can choose to keep a check on the minimum and maximum timeout values
by specifying the timeout as restricted (in CLI by specifying the restrictedTimeout
parameter). This parameter is provided to account for previous NetScaler versions
where the timeout value was not restricted.
w When enabled, the minimum configurable timeout value is 5 minutes (300 secs)
and the maximum value is 1 day (86400 secs). If the timeout value is already
configured to a value larger than 1 day, when this parameter is enabled, you are
prompted to change it. If you do not change the value, the timeout value will
automatically be reconfigured to the default timeout duration of 15 minutes (900
secs) on next reboot. The same will happen is the configured timeout value is less
than 5 minutes.
w When disabled, the configured timeout durations are considered.
CLI Specify the timeout value on the command prompt by using the
following command:
27
Chapter 1 Basic Operations
show ns config
Points to remember
w You cannot use the backup file taken from one appliance to restore a different
appliance.
w You can back up and restore appliances in an HA setup, but make sure that you
restore to the same appliance from which the backup file was created. For
example, if the backup was taken from the primary appliance of the HA pair, when
28
Citrix NetScaler System Guide
restoring make sure that the appliance you are restoring is the same appliance,
even if it is no longer the primary appliance.
w You cannot perform the backup and restore operation on a NetScaler cluster.
w Basic backup. Backs up only configuration files. You might want to perform this type
of backup frequently, because the files it backs up change constantly. The files that
are backed up are:
/nsconfig/ ns.conf
ZebOS.conf
rc.netscaler
snmpd.conf
nsbefore.sh
nsafter.sh
monitors
/var/ download/*
log/wicmd.log
wi/tomcat/webapps/*
wi/tomcat/logs/*
wi/tomcat/conf/catalina/localhost/*
nslw.bin/etc/krb.conf
nslw.bin/etc/krb.keytab
netscaler/locdb/*
lib/likewise/db/*
vpn/bookmark/*
netscaler/crl
nstemplates/*
learnt_data/*
29
Chapter 1 Basic Operations
/netscaler/ custom.html
vsr.htm
w Full backup. In addition to the files that are backed up by a basic backup, a full
backup backs up some less frequently updated files. The files that are backed up
when using the full backup option are:
/nsconfig/ ssl/*
license/*
fips/*
/var/ netscaler/ssl/*
wi/java_home/jre/lib/security/cacerts/*
wi/java_home/lib/security/cacerts/*
Note:
w While the backup operation is in progress, do not execute commands that affect
the configuration.
w If a file that is required to be backed up is not available, the operation skips that
file.
30
Citrix NetScaler System Guide
Note: If the file name is not specified, the appliance creates a TAR file with the
following naming convention: backup_<level>_<nsip_address>_<date-
timestamp>.tgz.
Example: To backup the full appliance using the default naming convention for the
backup file.
You can view properties of a specific backup file by using the fileName parameter.
Attention: The restore operation does not succeed if the backup file is renamed
or if the contents of the file are modified.
31
Chapter 1 Basic Operations
You can also restart the appliance by only rebooting the NetScaler software and not
rebooting the underlying operating system. This is called a warm reboot. For example,
when you add a new license or change the NetScaler IP address, you can warm reboot
the NetScaler appliance for these changes to take place.
reboot [-warm]
32
Citrix NetScaler System Guide
w shutdown p now: Shuts down the software and switches off the NetScaler. To
restart NetScaler MPX, press the AC power switch. To Restart NetScaler VPX , restart
the VPX instance.
w shutdown h now: Shuts down the software and leaves the NetScaler switched on.
Press any key to restart the NetScaler. This command does not switch off the
NetScaler. Therefore, do not switch off the AC power or remove the AC power
cables.
Note: The appliance cannot be shut down from the configuration utility.
33
Chapter 1 Basic Operations
34
Chapter 2
Administration
35
Chapter 2 Administration
36
Citrix NetScaler System Guide
You must log on as an administrator to configure users, groups, and command policies.
The default NetScaler administrator user name is nsroot. After logging on as the
default administrator, you should change the password for the nsroot account. Once
you have changed the password, no user can access the NetScaler appliance until you
create an account for that user. If you forget the administrator password after changing
it from the default, you can reset it to nsroot.
Note: Local users can authenticate to the NetScaler even if external authentication
servers are configured. You can restrict this by disabling the localAuth parameter of
the set system parameter command.
You can also customize the command-line prompt for a user. Prompts can be defined in
a users configuration, in a user-group configuration, and in the global configuration.
The prompt displayed for a given user is determined by the following order of
precedence:
1. Display the prompt as defined in the user's configuration.
2. Display the prompt as defined in the group configuration for the users group.
3. Display the prompt as defined in the system global configuration.
You can now specify a time-out value for inactive CLI sessions for a system user. If a
user's CLI session is idle for a time that exceeds the time-out value, the NetScaler
appliance terminates the connection. The timeout can be defined in a users
configuration, in a user-group configuration, and in the global configuration. The time-
out for inactive CLI sessions for a user is determined by the following order of
precedence:
1. Time-out value as defined in the user's configuration.
2. Time-out value as defined in the group configuration for the users group.
3. Time-out value as defined in the system global configuration.
37
Chapter 2 Administration
Example
Enter password:
Confirm password:
Example
38
Citrix NetScaler System Guide
Example
Note: To add members to the group, in the Members section, click Add. Select users
from the Available list and add them to the Configured list.
The appliance provides a set of built-in command policies, and you can configure
custom policies. To apply the policies, you bind them to users and/or groups.
Here are the key points to keep in mind when defining and applying command policies.
w You cannot create global command policies. Command policies must be bound
directly to the users and groups on the appliance.
w Users or groups with no associated command policies are subject to the default
(DENY-ALL) command policy, and are therefore unable to execute any configuration
commands until the proper command policies are bound to their accounts.
w All users inherit the policies of the groups to which they belong.
w You must assign a priority to a command policy when you bind it to a user account
or group account. This enables the appliance to determine which policy has priority
when two or more conflicting policies apply to the same user or group.
w The following commands are available by default to any user and are unaffected by
any command you specify:
help, show cli attribute, set cli prompt, clear cli prompt, show cli prompt, alias,
unalias, history, quit, exit, whoami, config, set cli mode, unset cli mode, and
show cli mode.
39
Chapter 2 Administration
When you use a regular expression to create a command policy, keep the following in
mind.
w When you use regular expressions to define commands that will be affected by a
command policy, you must enclose the commands in double quotation marks. For
example, to create a command policy that includes all commands that begin with
show, type the following:
"^show .*$"
To create a command policy that includes all commands that begin with rm, type
the following:
"^rm .*$"
w Regular expressions used in command policies are not case sensitive.
The following table lists examples of regular expressions:
40
Citrix NetScaler System Guide
The following table shows the command specifications for each of the built-in
command policies.
read-only (^man.*)|(^show\s+(?!system)(?!
configstatus)(?!ns ns\.conf)(?!ns
savedconfig)(?!ns runningConfig)(?!gslb
runningConfig)(?!audit messages)(?!
techsupport).*)|(^stat.*)
operator (^man.*)|(^show\s+(?!system)(?!
configstatus)(?!ns ns\.conf)(?!ns
savedconfig)(?!ns runningConfig)(?!gslb
runningConfig)(?!audit messages)(?!
techsupport).*)|(^stat.*)|(^(enable|
disable) (server|service).*)
41
Chapter 2 Administration
superuser .*
Example
w Command policies bound directly to users and the corresponding groups are
evaluated according to priority number. A command policy with a lower priority
number is evaluated before one with a higher priority number. Therefore, any
privileges the lower-numbered command policy explicitly grants or denies are not
overridden by a higher-numbered command policy.
w When two command policies, one bound to a user account and other to a group,
have the same priority number, the command policy bound directly to the user
account is evaluated first.
42
Citrix NetScaler System Guide
Example
Example
To reset the nsroot password, you must boot the appliance into single user mode,
mount the file systems in read/write mode, and remove the set NetScaler user nsroot
entry from the ns.conf file. You can then reboot, log on with the default password, and
choose a new password.
43
Chapter 2 Administration
Note: You cannot log on by using SSH to perform this procedure; you must
connect directly to the appliance.
Note: If boot -s does not work, then try reboot -- -s and appliance will reboot in
single user mode.
Note: Your flash drive will have a specific device name depending on your
NetScaler; hence, you have to replace ad0s1a in the preceding command
with the appropriate device name.
44
Citrix NetScaler System Guide
w John Doe. The IT manager. John needs to be able to see all parts of the NetScaler
configuration but does not need to modify anything.
w Maria Ramiez. The lead IT administrator. Maria needs to be able to see and modify
all parts of the NetScaler configuration except for NetScaler commands (which local
policy dictates must be performed while logged on as nsroot).
w Michael Baldrock. The IT administrator in charge of load balancing. Michael needs
to be able to see all parts of the NetScaler configuration, but needs to modify only
the load balancing functions.
The following table shows the breakdown of network information, user account names,
group names, and command policies for the sample company.
45
Chapter 2 Administration
The following description walks you through the process of creating a complete set of
user accounts, groups, and command policies on the NetScaler appliance named
ns01.example.net.
The description includes procedures for binding the appropriate user accounts and
groups to one another, and binding appropriate command policies to the user accounts
and groups.
This example illustrates how you can use prioritization to grant precise access and
privileges to each user in the IT department.
The example assumes that initial installation and configuration have already been
performed on the NetScaler.
Configuration steps
1. Use the procedure described in "Configuring User Accounts" to create user accounts
johnd, mariar, and michaelb.
2. Use the procedure described in "Configuring User Groups" to create user groups
Managers and SysOps, and then bind the users mariar and michaelb to the SysOps
group and the user johnd to the Managers group.
3. Use the procedure described in "Creating Custom Command Policies" to create the
following command policies:
read_all with action Allow and command spec "(^show\s+(?!system)(?!ns
ns.conf)(?!ns runningConfig).*)|(^stat.*)"
modify_lb with action as Allow and the command spec "^set\s+lb\s+.*$"
modify_all with action as Allow and the command spec "^\S+\s+(?!system).*"
4. Use the procedure described in "Binding Command Policies to Users and Groups" to
bind the read_all command policy to the SysOps group, with priority value 1.
5. Use the procedure described in "Binding Command Policies to Users and Groups" to
bind the modify_lb command policy to user michaelb, with priority value 5.
w John Doe, the IT manager, has read-only access to the entire NetScaler
configuration, but he cannot make modifications.
w Maria Ramirez, the IT lead, has near-complete access to all areas of the NetScaler
configuration, having to log on only to perform NetScaler-level commands.
w Michael Baldrock, the IT administrator responsible for load balancing, has read-only
access to the NetScaler configuration, and can modify the configuration options for
load balancing.
46
Citrix NetScaler System Guide
Each time a user enters a command, the operating system searches the command
policies for that user until it finds a policy with an ALLOW or DENY action that matches
the command. When it finds a match, the operating system stops its command policy
search and allows or denies access to the command.
If the operating system finds no matching command policy, it denies the user access to
the command, in accordance with the NetScaler appliance's default deny policy.
Note: When placing a user into multiple groups, take care not to cause unintended
user command restrictions or privileges. To avoid these conflicts, when organizing your
users in groups, bear in mind the NetScaler command policy search procedure and
policy ordering rules.
After creating an authentication policy, you bind it to the system global entity and
assign a priority to it. You can create simple server configurations by binding a single
authentication policy to the system global entity. Or, you can configure a cascade of
authentication servers by binding multiple policies to the system global entity. If no
authentication policies are bound to the system, users are authenticated by the
onboard system.
By default, LDAP authentication is secured by using SSL/TLS protocol. There are two
types of secure LDAP connections. In the first type, the LDAP server accepts the
SSL/TLS connection on a port separate from the port used to accept clear LDAP
connections. After users establish the SSL/TLS connection, LDAP traffic can be sent
over the connection. The second type allows both unsecure and secure LDAP
connections and is handled by a single port on the server. In this scenario, to create a
secure connection, the client first establishes a clear LDAP connection. Then the LDAP
command StartTLS is sent to the server over the connection. If the LDAP server
supports StartTLS, the connection is converted to a secure LDAP connection by using
TLS.
47
Chapter 2 Administration
LDAP connections that use the StartTLS command use port number 389. If port numbers
389 or 3268 are configured on the appliance, it tries to use StartTLS to make the
connection. If any other port number is used, connection attempts use SSL/TLS. If
StartTLS or SSL/TLS cannot be used, the connection fails.
When configuring the LDAP server, the case of the alphabetic characters must match
that on the server and on the appliance. If the root directory of the LDAP server is
specified, all of the subdirectories are also searched to find the user attribute. In large
directories, this can affect performance. For this reason, Citrix recommends that you
use a specific organizational unit (OU).
The following table lists examples of user attribute fields for LDAP servers.
The following table lists examples of the base distinguished name (DN).
48
Citrix NetScaler System Guide
The following table lists examples of the bind distinguished name (DN).
You can download the LDAP browser from the Softerra LDAP Administrator Web site at
http://www.ldapbrowser.com. After the browser is installed, set the following
attributes:
w The host name or IP address of your LDAP server.
w The port of your LDAP server. The default is 389.
w The base DN field can be left blank.
w The information provided by the LDAP browser can help you determine the base DN
needed for the Authentication tab.
49
Chapter 2 Administration
w The Anonymous Bind check determines whether the LDAP server requires user
credentials for the browser to connect to it. If the LDAP server requires credentials,
leave the check box cleared.
After completing the settings, the LDAP browser displays the profile name in the left
pane and connects to the LDAP server.
Your configuration might require using a network access server IP address (NAS IP) or a
network access server identifier (NAS ID). When configuring the appliance to use a
RADIUS authentication server, use the following guidelines:
w If you enable use of the NAS IP, the appliance sends its configured IP address to the
RADIUS server, rather than the source IP address used in establishing the RADIUS
connection.
w If you configure the NAS ID, the appliance sends the identifier to the RADIUS server.
If you do not configure the NAS ID, the appliance sends its host name to the RADIUS
server.
w When the NAS IP is enabled, the appliance ignores any NAS ID that was configured
by using the NAS IP to communicate with the RADIUS server.
To further protect RADIUS traffic, assign a different shared secret to each appliance or
virtual server. When you define clients on the RADIUS server, you can also assign a
separate shared secret to each client. If you do this, you must configure separately
each policy that uses RADIUS authentication.
50
Citrix NetScaler System Guide
Shared secrets are configured on the appliance when a RADIUS policy is created.
When configuring the RADIUS server for IP address extraction, you configure the vendor
identifier and the attribute type.
The vendor identifier enables the RADIUS server to assign an IP address to the client
from a pool of IP addresses that are configured on the RADIUS server. The vendor ID and
attributes are used to make the association between the RADIUS client and the RADIUS
server. The vendor ID is the attribute in the RADIUS response that provides the IP
address of the internal network. A value of zero indicates that the attribute is not
vendor encoded. The attribute type is the remote IP address attribute in a RADIUS
response. The minimum value is one and the maximum value is 255.
51
Chapter 2 Administration
TCP Configurations
TCP configurations for a NetScaler appliance can be specified in an entity called a TCP
profile, which is a collection of TCP settings. The TCP profile can then be associated
with services or virtual servers that want to use these TCP configurations.
A default TCP profile can be configured to set the TCP configurations that will be
applied by default, globally to all services and virtual servers.
Note: When a TCP parameter has different values for service, virtual server, and
globally, the value of the most-specific entity (the service) is given the highest
precedence.
The NetScaler appliance also provides other approaches for configuring TCP. Read on
for more information.
The NetScaler appliance supports the following TCP capabilities:
52
Citrix NetScaler System Guide
w Window scaling to increase the TCP receive window size beyond its maximum value
of 65,535 bytes.
w Selective acknowledgment (SACK), using which the data receiver (either a NetScaler
appliance or a client) notifies the sender about all the segments that have been
received successfully.
w TCP connection multiplexing enables reuse of existing TCP connections. The
NetScaler appliance stores established TCP connections to the reuse pool. Whenever
a client request is received, appliance checks for an available connection in the
reuse pool and serves the new client if the connection is available. If it is
unavailable, the appliance creates a new connection for the client request and
stores the connection to the reuse pool.
NetScaler supports connection multiplexing for HTTP, SSL, and DataStream
connection types.
w Dynamic receive buffering allows the receive buffer to be adjusted dynamically
based on memory and network conditions.
w MPTCP connections between client and NetScaler. MPTCP connections are not
supported between NetScaler and the backend server.
The NetScaler implementation of MPTCP is RFC 6824 compliant.
Note:
For MPTCP to work, both sides of the connection (client and server) must
support it. If you use the NetScaler appliance as an MPTCP gateway for your
servers, the servers do not have to support MPTCP.
The NetScaler appliance does not initiate subflows (MP_JOIN's). The appliance
expects the client to initiate subflows.
w TCP keep-alive to monitor the TCP connections to verify if the peers are up.
Additionally, NetScaler provides configuration support for the following:
53
Chapter 2 Administration
Note:
w Not all TCP parameters can be configured through the default TCP profile. Some
settings have to be performed by using the global TCP command (see section
below).
w The default profile does not have to be explicitly bound to a service or virtual
server.
54
Citrix NetScaler System Guide
parameters that can be set by using a TCP profile. Any update made to these duplicate
parameters is reflected in the corresponding parameter in the default TCP profile.
For example, if the SACK parameter is updated using this approach, the value is
reflected in the SACK parameter of the default TCP profile (nstcp_default_profile).
Note: Citrix recommends that you use this approach only for TCP parameters that are
not available in the default TCP profile.
Note: The buffer size can also be configured in the default TCP profile. If the buffer
size has different values in the TCP buffering feature and the default TCP profile, the
greater value is applied.
Note:
55
Chapter 2 Administration
w You can also modify the TCP parameters of default profiles as per your
requirements. For more information on built-in TCP profiles, see Built-in TCP
Profiles.
w You can specify the TCP buffer size at service level using the parameters
specified by the TCP buffering feature. For more information, see TCP buffering
feature.
Example:
Example:
56
Citrix NetScaler System Guide
57
Chapter 2 Administration
58
Citrix NetScaler System Guide
TCP keep-alive
Enable TCP keep-alive and update other related configurations.
59
Chapter 2 Administration
MPTCP
Enable MPTCP and then set the optional MPTCP configurations.
Congestion control
Set the required TCP congestion control algorithm.
HTTP Configurations
HTTP configurations for a NetScaler appliance can be specified in an entity called an
HTTP profile, which is a collection of HTTP settings. The HTTP profile can then be
associated with services or virtual servers that want to use these HTTP configurations.
60
Citrix NetScaler System Guide
A default HTTP profile can be configured to set the HTTP configurations that will be
applied by default, globally to all services and virtual servers.
Note: When a HTTP parameter has different values for service, virtual server, and
globally, the value of the most-specific entity (the service) is given the highest
precedence.
The NetScaler appliance also provides other approaches for configuring HTTP. Read on
for more information.
The NetScaler supports the following HTTP capabilities:
w WebSocket protocol which allows browsers and other clients to create a bi-
directional, full duplex TCP connection to the servers. The NetScaler
implementation of WebSocket is RFC 6455 complaint.
w SPDY (Speedy). For more information, see SPDY.
Note:
w Not all HTTP parameters can be configured through the default HTTP profile.
Some settings have to be performed by using the global HTTP command (see
section below).
w The default profile does not have to be explicitly bound to a service or virtual
server.
To configure the default HTTP profile
61
Chapter 2 Administration
parameters that can be set by using a HTTP profile. Any update made to these
duplicate parameters is reflected in the corresponding parameter in the default HTTP
profile.
For example, if the maxReusePool parameter is updated using this approach, the value
is reflected in the maxReusePool parameter of the default HTTP profile
(nshttp_default_profile).
Note: Citrix recommends that you use this approach only for HTTP parameters that
are not available in the default HTTP profile.
Note: You can also modify the HTTP parameters of default profiles as per your
requirements. For more information on built-in HTTP profiles, see Built-in HTTP
Profiles.
Example:
62
Citrix NetScaler System Guide
Example:
63
Chapter 2 Administration
WebSocket connections
Enable webSocket on the required HTTP profile.
SNMP
You can use Simple Network Management Protocol (SNMP) to configure the SNMP agent
on the Citrix NetScaler appliance to generate asynchronous events, which are called
traps. The traps are generated whenever there are abnormal conditions on the
NetScaler. The traps are then sent to a remote device called a trap listener, which
signals the abnormal condition on the NetScaler appliance. Or, you can query the SNMP
agent for System-specific information from a remote device called an SNMP manager.
The agent then searches the management information base (MIB) for the data
requested and sends the data to the SNMP manager.
The SNMP agent on the NetScaler can generate traps compliant with SNMPv1 and
SNMPv2 only. For querying, the SNMP agent supports SNMP version 1 (SNMPv1), SNMP
version 2 (SNMPv2), and SNMP version 3 (SNMPv3).
The following figure illustrates a network with a NetScaler that has SNMP enabled and
configured. In the figure, each SNMP network management application uses SNMP to
communicate with the SNMP agent on the NetScaler. The SNMP agent searches its
management information base (MIB) to collect the data requested by the SNMP
Manager and provides the information to the application.
64
Citrix NetScaler System Guide
w mib.txt
w traps.txt
The NetScaler appliance provides a set of condition entities called SNMP alarms. When
the condition in any SNMP alarm is met, the appliance generates SNMP trap messages
that are sent to the configured trap listeners. For example, when the LOGIN-FAILURE
alarm is enabled, a trap message is generated and sent to the trap listener whenever
there is a login failure on the appliance.
To configure the NetScaler appliance to generate traps, you need to enable and
configure alarms. Then, you specify trap listeners to which the appliance will send the
generated trap messages.
When you enable an SNMP alarm, the appliance generates corresponding trap messages
when some events occur. Some alarms are enabled by default.
65
Chapter 2 Administration
Configuring Alarms
The NetScaler appliance provides a set of condition entities called SNMP alarms. When
the condition set for an SNMP alarm is met, the appliance generates SNMP traps
messages that are sent to the configured trap listeners. For example, when the LOGIN-
FAILURE alarm is enabled, a trap message is generated and sent to the trap listener
whenever there is a login failure on the appliance.
You can assign an SNMP alarm with a severity level. When you do this, the
corresponding trap messages are assigned that severity level.
The following are the severity levels, defined on the appliance, in decreasing order of
severity.
w Critical
w Major
w Minor
w Warning
w Informational
For example, if you set a warning severity level for the SNMP alarm named LOGIN-
FAILURE, the trap messages generated when there is a login failure will be assigned
with the warning severity level.
You can also configure an SNMP alarm to log the corresponding trap messages
generated whenever the condition on that alarm is met.
66
Citrix NetScaler System Guide
You can configure a maximum of 20 trap listeners for receiving either generic or
specific traps.
You can also configure the appliance to send SNMP trap messages with a source IP
address other than the NetScaler IP (NSIP or NSIP6) address to a particular trap listener.
For a trap listener that has an IPv4 address, you can set the source IP to either a
mapped IP (MIP) address or a subnet IP (SNIP) address configured on the appliance. For
a trap listener that has an IPv6 address, you can set the source IP to subnet IPv6
(SNIP6) address configured on the appliance.
You can also configure the appliance to send trap messages to a trap listener on the
basis of a severity level. For example, if you set the severity level as Minor for a trap
listener, all trap messages of the severity level equal to or greater than Minor (Minor,
Major, and Critical) are sent to the trap listener.
If you have defined a community string for the trap listener, you must also specify a
community string for each trap that is to be sent to the listener. A trap listener for
which a community string has been defined accepts only trap messages that include a
community string matching the community string defined in the trap listener. Other
trap messages are dropped.
Example
67
Chapter 2 Administration
The trap destination can now receive SNMPv1, SNMPv2, and SNMPv3 trap messages.
Note: Once set, the SNMP trap version cannot not be modified.
Example
68
Citrix NetScaler System Guide
Example
Example
The following types of SNMP v1 and v2 queries are supported by the SNMP agent:
w GET
w GET NEXT
w ALL
w GET BULK
You can create strings called community strings and associate each of these to query
types. You can associate one or more community strings to each query type.
Community string are passwords and used to authenticate SNMP queries from SNMP
managers.
69
Chapter 2 Administration
For example, if you associate two community strings, such as abc and bcd, to the query
type GET NEXT, the SNMP agent on the NetScaler appliance considers only those GET
NEXT SNMP query packets that contain abc or bcd as the community string.
For an IPv4 SNMP manager you can specify a host name instead of the manager's IP
address. If you do so, you must add a DNS name server that resolves the host name of
the SNMP manager to its IP address. You can add up to a maximum of five host-name
based SNMP managers.
Note: The appliance does not support use of host names for SNMP managers that
have IPv6 addresses. You must specify the IPv6 address.
If you do not configure at least one SNMP manager, the appliance accepts and responds
to SNMP queries from all IP addresses on the network. If you configure one or more
SNMP managers, the appliance accepts and responds only to SNMP queries from those
specific IP addresses.
If you remove an SNMP manager from the configuration, that manager can no longer
query the appliance.
Example
> add snmp manager 10.102.29.10 10.102.29.15
10.102.29.30
Important: If you specify the SNMP managers host name instead of its IP address,
you must configure a DNS name server to resolve the host name to the SNMP
managers IP address.
At the command prompt, type the following commands to set the parameters and
verify the configuration:
70
Citrix NetScaler System Guide
Example
> add nameserver 10.103.128.15
Important: If you specify the SNMP managers host name instead of its IPv4 address,
you must configure a DNS name server to resolve the host name to the SNMP
managers IP address.
Note: The appliance does not support host names for SNMP managers that have IPv6
addresses.
w GET
w GET NEXT
w ALL
w GET BULK
You can associate one or more community strings to each query types. For example,
when you associate two community strings, such as abc and bcd, to the query type GET
NEXT, the SNMP agent on the appliance considers only those GET NEXT SNMP query
packets that contain abc or bcd as the community string.
If you do not associate any community string to a query type then the SNMP agent
responds to all SNMP queries of that type.
71
Chapter 2 Administration
Example
> add snmp community com all
Throughput and PPS are monitored every seven seconds. You can configure traps with
high-threshold and normal-threshold values, which are expressed as a percentage of
the licensed limits. The appliance then generates a trap when throughput or PPS
exceeds the high threshold, and a second trap when the monitored parameter falls to
the normal threshold. In addition to sending the traps to the configured destination
device, the NetScaler logs the events associated with the traps in the /var/log/
ns.log file as EVENT ALERTSTARTED and EVENT ALERTENDED.
Exceeding the throughput limit can result in packet loss. You can configure SNMP
alarms to report packet loss.
For more information about SNMP alarms and traps, see "Configuring the NetScaler to
generate SNMP v1 and v2 Traps."
72
Citrix NetScaler System Guide
Example
> set snmp alarm PF-RL-RATE-THRESHOLD -
thresholdValue 70 -normalValue 50
Example
> set snmp alarm PF-RL-PPS-THRESHOLD -
thresholdValue 70 -normalValue 50
73
Chapter 2 Administration
To implement message level security and access control, SNMPv3 introduces the user-
based security model (USM) and the view-based access control model (VACM).
w User-Based Security Model. The user-based security model (USM) provides message-
level security. It enables you to configure users and security parameters for the
SNMP agent and the SNMP manager. USM offers the following features:
Data integrity: To protect messages from being modified during transmission
through the network.
Data origin verification: To authenticate the user who sent the message request.
Message timeliness: To protect against message delays or replays.
Data confidentiality: To protect the content of messages from being disclosed to
unauthorized entities or individuals.
w View-Based Access Control Model. The view-based access control model (VACM)
enables you to configure access rights to a specific subtree of the MIB based on
various parameters, such as security level, security model, user name, and view
type. It enables you to configure agents to provide different levels of access to the
MIB to different managers.
The Citrix NetScaler supports the following entities that enable you to implement the
security features of SNMPv3:
w SNMP Engines
w SNMP Views
w SNMP Groups
w SNMP Users
These entities function together to implement the SNMPv3 security features. Views are
created to allow access to subtrees of the MIB. Then, groups are created with the
required security level and access to the defined views. Finally, users are created and
assigned to the groups.
74
Citrix NetScaler System Guide
Note: The view, group, and user configuration are synchronized and propagated to the
secondary node in a high availability (HA) pair. However, the engine ID is neither
propagated nor synchronized as it is unique to each NetScaler appliance.
The NetScaler appliance has a unique engineID based on the MAC address of one of its
interfaces. It is not necessary to override the engineID. However, if you want to change
the engine ID, you can reset it.
Example
> set snmp engineId 8000173f0300c095f80c68
Configuring a View
SNMP views restrict user access to specific portions of the MIB. SNMP views are used to
implement access control.
75
Chapter 2 Administration
Example
> add snmp view View1 -type included
Configuring a Group
SNMP groups are logical aggregations of SNMP users. They are used to implement access
control and to define the security levels. You can configure an SNMP group to set access
rights for users assigned to that group, thereby restricting the users to specific views.
You need to configure an SNMP group to set access rights for users assigned to that
group.
Example
> add snmp group edocs_group2 authPriv -
readViewName edocs_read_view
Configuring a User
SNMP users are the SNMP managers that the agents allow to access the MIBs. Each SNMP
user is assigned to an SNMP group.
You need to configure users at the agent and assign each user to a group.
76
Citrix NetScaler System Guide
Example
> add snmp user edocs_user -group edocs_group
Audit Logging
Auditing is a methodical examination or review of a condition or situation. The Audit
Logging feature enables you to log the NetScaler states and status information
collected by various modules in the kernel and in the user-level daemons. For audit
logging, you have the options to configure SYSLOG, the native NSLOG protocol, or both.
SYSLOG is a standard protocol for logging. It has two components the SYSLOG auditing
module, which runs on the NetScaler appliance, and the SYSLOG server, which can run
on the underlying FreeBSD operating system (OS) of the NetScaler appliance or on a
remote system. SYSLOG uses user data protocol (UDP) for the transfer of data.
Similarly, the native NSLOG protocol has two components the NSLOG auditing module,
which runs on the NetScaler appliance, and the NSLOG server, which can run on the
underlying FreeBSD OS of the NetScaler appliance or on a remote system. NSLOG uses
transmission control protocol (TCP) for transfer of data.
When you run NSLOG or a SYSLOG server, it connects to the NetScaler appliance. The
NetScaler appliance then starts sending all the log information to the SYSLOG or NSLOG
server, and the server can filter the log entries before storing them in a log file. An
NSLOG or SYSLOG server can receive log information from more than one NetScaler
appliance and a NetScaler appliance can send log information to more than one SYSLOG
server or NSLOG server.
The log information that a SYSLOG or NSLOG server collects from a NetScaler appliance
is stored in a log file in the form of messages. These messages typically contain the
following information:
77
Chapter 2 Administration
information. You then install and configure the SYSLOG or the NSLOG server on the
underlying FreeBSD OS of the NetScaler appliance or on a remote system.
Note: Because SYSLOG is an industry standard for logging program messages and
because various vendors provide support, this documentation does not include
SYSLOG server configuration information.
The NSLOG server has its own configuration file (auditlog.conf). You can customize
logging on the NSLOG server system by making additional modifications to the
configuration file (auditlog.conf).
w Source port
w Destination port
w Source IP
w Destination IP
w Number of bytes transmitted and received
w Time period for which the connection is open
Note:
w You can enable TCP logging on individual load balancing vservers. You must bind
the audit log policy to a specific load balancing vserver that you want to log.
w When using the NetScaler as the audit log server, by default, the ns.log file is
rotated (new file is created) when the file size reaches 100K and the last 25
copies of the ns.log are archived and compressed with gzip. To accommodate
more archived files after 25 files, the oldest archive is deleted. You can modify
the 100K limit or the 25 file limit by updating the following entry in the /etc/
newsyslog.conf file:
where, 25 is the number of archived files to be maintained and 100K is the size of
the ns.log file after which the file will be archived.
78
Citrix NetScaler System Guide
Example
> add audit syslogaction audit-action1 10.102.1.1 -
loglevel INFORMATIONAL -dateformat MMDDYYYY
Example
> add audit nslogAction nslog-action1 10.102.1.3 -
serverport 520 -loglevel INFORMATIONAL -dateFormat
MMDDYYYY
79
Chapter 2 Administration
Example
> add audit syslogpolicy syslog-pol1 ns_true audit-
action1
Example
> add audit nslogPolicy nslog-pol1 ns_true nslog-
action1
Example
> bind system global nslog-pol1 -priority 20
80
Citrix NetScaler System Guide
Pre Requisites
w User Configurable Log Messages (userDefinedAuditlog) option is enabled for when
configuring the audit action server to which you want to send the logs in a defined
format. For more information about enabling policy-based logging on an audit action
server, see "Binding the Audit Policies Globally."
w The related audit policy is bound to system global. For more information about
binding audit policies to system global, see "Binding the Audit Policies Globally."
Example
81
Chapter 2 Administration
Then, you start the NSLOG server by executing the auditserver executable. The NSLOG
server configuration is based on the settings in the configuration file. You can further
customize logging on the NSLOG server system by making additional modifications to
the NSLOG server configuration file (auditlog.conf).
Attention: The version of the NSLOG server package must be the same as that
of the NetScaler. For example, if the version of the NetScaler is 10.1 Build 125.9, the
NSLOG server must also be of the same version.
The following table lists the operating systems on which the NSLOG server is supported.
82
Citrix NetScaler System Guide
The minimum hardware specifications for the platform running the NSLOG server are as
follows:
This command extracts the files and installs them in the following directories:
/usr/local/netscaler/etc
/usr/local/netscaler/bin
/usr/local/netscaler/samples
83
Chapter 2 Administration
Note: NSLOG server is not supported on the underlying FreeBSD OS of the NetScaler
appliance.
Example
pkg_add audserver_bsd-9.3-51.5.tgz
<root directory extracted from the FreeBSD NSLOG server package tgz file>
\netscaler\bin (for example, /var/auditserver/netscaler/bin)
84
Citrix NetScaler System Guide
<root directory extracted from the FreeBSD NSLOG server package tgz file>
\netscaler\etc (for example, /var/auditserver/netscaler/etc)
<root directory extracted from the FreeBSD NSLOG server package tgz file>
\netscaler\samples (for example, /var/auditserver/samples)
4. At a command prompt, type the following command to verify that the package is
installed:
pkg_info | grep NSaudserver
85
Chapter 2 Administration
audserver -remove
86
Citrix NetScaler System Guide
(Windows only)
(Windows Only)
Run the audserver command from the directory in which the audit server executable
is present:
w On Windows: \ns\bin
w On Solaris and Linux: \usr\local\netscaler\bin
The audit server configuration files are present in the following directories:
87
Chapter 2 Administration
w On Windows: \ns\etc
w On Linux: \usr\local\netscaler\etc
The audit server executable is started as ./auditserver in Linux and FreeBSD.
You are prompted to enter the information for the following parameters:
NSIP: Specifies the IP address of the NetScaler appliance, for example, 10.102.29.1.
If you add multiple NetScaler IP addresses (NSIP), and later you do not want to log all
of the NetScaler appliance event details, you can delete the NSIPs manually by
removing the NSIP statement at the end of the auditlog.conf file. For a high
availability (HA) setup, you must add both primary and secondary NetScaler IP
addresses to auditlog.conf by using the audserver command. Before adding the IP
address, make sure the user name and password exist on the system.
88
Citrix NetScaler System Guide
To customize logging, use the configuration file to define filters and log properties.
w Log filters. Filter log information from a NetScaler appliance or a set of NetScaler
appliances.
w Log properties. Each filter has an associated set of log properties. Log properties
define how to store the filtered log information.
Creating Filters
You can use the default filter definition located in the configuration file (audit
log.conf ), or you can modify the filter or create a new filter. You can create more
than one log filter.
Note: For consolidated logging, if a log transaction occurs for which there is no filter
definition, the default filter is used (if it is enabled.) The only way you can configure
consolidated logging of all the NetScaler appliances is by defining the default filter.
To create a filter
At the command prompt, type the following command in the configuration file
( auditlog.conf) :
Specify ON to enable the filter to log transactions, or specify OFF to disable the filter.
If no argument is specified, the filter is ON
89
Chapter 2 Administration
Examples
filter F1 IP 192.168.100.151 ON
filterName is a required parameter if you are defining a filter with other optional
parameters, such as IP address, or the combination of IP address and Netmask.
BEGIN <filtername>
logFilenameFormat ...
logDirectory ...
logInterval ...
logFileSizeLimit ....
END
w LogFilenameFormat specifies the file name format of the log file. The name of the
file can be of the following types:
Static: A constant string that specifies the absolute path and the file name.
Dynamic: An expression that includes the following format specifiers:
w Date (%{format}t)
w % creates file name with NSIP
Example
LogFileNameFormat Ex%{%m%d%y}t.log
This creates the first file name as Exmmddyy.log. New files are named:
Exmmddyy.log.0, Exmmddyy.log.1, and so on. In the following example, the
new files are crated when the file size reaches 100MB.
Example
LogInterval size
LogFileSize 100
LogFileNameFormat Ex%{%m%d%y}t
90
Citrix NetScaler System Guide
w logDirectory specifies the directory name format of the log file. The name of the
file can be either of the following:
Static: Is a constant string that specifies the absolute path and file name.
Dynamic: Is an expression containing the following format specifiers:
w Date (%{format}t)
w % creates directory with NSIP
The directory separator depends on the operating system. In Windows, use the
directory separator \.
Example:
LogDirectory dir1\dir2\dir3
In the other operating systems (Linux, FreeBsd, etc.), use the directory separator /.
w LogInterval specifies the interval at which new log files are created. Use one of the
following values:
Hourly: A file is created every hour. Default value.
Daily: A file is created very day at midnight.
Weekly: A file is created every Sunday at midnight.
Monthly : A file is created on the first day of the month at midnight.
None: A file is created only once, when audit server logging starts.
Size: A file is created only when the log file size limit is reached.
Example
LogInterval Hourly
w LogFileSizeLimit specifies the maximum size (in MB) of the log file. A new file is
created when the limit is reached.
Note that you can override the loginterval property by assigning size as its value.
Example
LogFileSizeLimit 35
91
Chapter 2 Administration
begin default
logInterval Hourly
logFileSizeLimit 10
logFilenameFormat auditlog%{%y%m%d}t.log
end default
Example 1
Filter f1 IP 192.168.10.1
This creates a log file for NSI 192.168.10.1 with the default values of the log in effect.
Example 2
Filter f1 IP 192.168.10.1
begin f1
logFilenameFormat logfiles.log
end f1
This creates a log file for NSIP 192.168.10.1. Since the log file name format is
specified, the default values of the other log properties are in effect.
##############################
# This is the Auditserver configuration file
# Only the default filter is active
# Remove leading # to activate other filters
##############################
MYIP <NSAuditserverIP>
MYPORT 3023
# Filter filter_nsip IP <Specify the NetScaler IP address
to filter on > ON
# begin filter_nsip
# logInterval Hourly
# logFileSizeLimit 10
# logDirectory logdir\%A\
# logFilenameFormat nsip%{%d%m%Y}t.log
# end filter_nsip
Filter default
begin default
92
Citrix NetScaler System Guide
logInterval Hourly
logFileSizeLimit 10
logFilenameFormat auditlog%{%y%m%d}t.log
end default
To configure Web server logging, you first enable the Web logging feature on the
NetScaler and configure the size of the buffer for temporarily storing the log entries.
Then, you install NSWL on the client system. You then add the NetScaler IP address
(NSIP) to the NSWL configuration file. You are now ready to start the NSWL client to
begin logging. You can customize Web server logging by making additional modifications
to the NSWL configuration file (log.conf).
93
Chapter 2 Administration
Note: To activate your modification, you must disable and then re-enable the Web
server logging feature.
w [Optional] Specify the custom HTTP header names that you want to export.
set ns weblogparam [-customReqHdrs <string> ...] [-customRspHdrs <string> ...]
Example
w To enable the web server logging feature, click Change Advanced Features and
select Web Logging.
w To modify the buffer size, click Change Global System Settings and under Web
Logging, enter the buffer size.
w To specify the custom HTTP headers to be exported, click Change Global System
Settings and under Web Logging, specify the header values.
Attention: The version of the NSWL client must be the same as that of the
NetScaler. For example, if the version of the NetScaler is 10.1 Build 125.9, the NSWL
client must also be of the same version.
The following table lists the operating systems on which the NSWL client can be
installed.
Table 2-12. Supported Platforms for the NSWL Client with hardware requirements
94
Citrix NetScaler System Guide
w Windows 2000/NT
w Windows Server
2008
w Windows Server
2008 R2
RAM - 512 MB
Controller - SCSI
FreeBSD FreeBSD 6.3 or later Processor - Intel For NetScaler 10.5, use only
x86 ~501 MHz FreeBSD 8.4.
RAM - 512 MB
Controller - SCSI
If the NSWL client system cannot process the log transaction because of a CPU
limitation, the Web log buffer overruns and the logging process reinitiates.
To temporarily solve a NSWL client system bottleneck caused by a CPU limitation, you
can tune the Web server logging buffer size on the NetScaler appliance. To solve the
problem, you need a client system that can handle the site's throughput.
95
Chapter 2 Administration
A directory NSweblog is created in the temporary directory, and the files are
extracted to the NSweblog directory.
4. Install the package with the following command:
pkgadd -d
The list of available packages appears. In the following example, one NSweblog
package is shown:
5. You are prompted to select the packages. Select the package number of the
NSweblog to be installed.
After you select the package number and press Enter, the files are extracted and
installed in the following directories:
/usr/local/netscaler/etc
/usr/local/netscaler/bin
/usr/local/netscaler/samples
96
Citrix NetScaler System Guide
6. To check whether the NSWL package is installed, execute the following command:
pkgrm NSweblog
rpm -i nswl_linux-9.3-51.5.rpm
This command extracts the files and installs them in the following directories.
/usr/local/netscaler/etc
/usr/local/netscaler/bin
/usr/local/netscaler/samples
rpm -e NSweblog
Note: To get more information about the NSweblog RPM file, execute the
following command:
Note: To view the installed Web server logging files, execute the following
command:
97
Chapter 2 Administration
pkg_add nswl_bsd-9.3-51.5.tgz
This command extracts the files and installs them in the following directories.
/usr/local/netscaler/etc
/usr/local/netscaler/bin
/usr/local/netscaler/samples
pkg_delete NSweblog
pkg_add nswl_macos-9.3-51.5.tgz
This command extracts the files and installs them in the following directories:
/usr/local/netscaler/etc
/usr/local/netscaler/bin
/usr/local/netscaler/samples
98
Citrix NetScaler System Guide
pkg_delete NSweblog
where,
Note: To uninstall the NSWL client, at the command prompt, run the following
command from the <NSWL-HOME>\bin directory:
99
Chapter 2 Administration
rpm -i nswl_aix-9.3-51.5.rpm
This command extracts the files and installs them in the following directories.
/usr/local/netscaler/etc
/usr/local/netscaler/bin
/usr/local/netscaler/samples
rpm -e NSweblog
Note: To get more information about the NSweblog RPM file, execute the
following command:
Note: To view the installed Web server logging files, execute the following
command:
Note: You can further customize logging on the NSWL client system by making
additional modifications to the NSWL configuration file (log.conf). For details, see
Customizing Logging on the NSWL Client System.
The following table describes the commands that you can use to configure the NSWL
client.
100
Citrix NetScaler System Guide
nswl -stop (Solaris and Linux only) Stop the NSWL client if it was started as
a background process; otherwise, use
CTRL+C to stop Web server logging.
nswl -startservice (Windows only) Start the NSWL client by using the
settings in the configuration file
specified in the nswl install option. You
can also start NSWL client from Start >
Control Panel > Services.
Run the following commands from the directory in which the NSWL executable is
located:
w Windows: \ns\bin
w Solaris and Linux: \usr\local\netscaler\bin
The Web server logging configuration files are located in the following directory path:
w Windows: \ns\etc
w Solaris and Linux: \usr\local\netscaler\etc
101
Chapter 2 Administration
< directorypath >: Specifies the path to the configuration file (log.conf).
2. At the next prompt, enter the following information:
Note: If you add multiple NetScaler IP addresses (NSIP), and later you do not want to
log all of NetScaler system log details, you can delete the NSIPs manually by
removing the NSIP statement at the end of the log.conf file. During a failover setup,
you must add both primary and secondary NetScaler IP addresses to the log.conf by
using the command. Before adding the IP address, make sure the user name and
password exist on the NetScaler appliances.
< directorypath >: Specifies the path to the configuration file (log.conf).
nswl -stop
102
Citrix NetScaler System Guide
To customize logging, use the configuration file to define filters and log properties.
w Log filters. Filter log information based on the host IP address, domain name, and
host name of the Web servers.
w Log properties. Each filter has an associated set of log properties. Log properties
define how to store the filtered log information.
##########
# This is the NSWL configuration file
# Only the default filter is active
# Remove leading # to activate other filters
##########
##########
# Default filter (default on)
# W3C Format logging, new file is created every hour or on
reaching 10MB file size,
# and the file name is Exyymmdd.log
##########
Filter default
begin default
logFormat W3C
logInterval Hourly
logFileSizeLimit 10
logFilenameFormat Ex%{%y%m%d}t.log
end default
##########
# netscaler caches example
# CACHE_F filter covers all the transaction with HOST name
www.netscaler.com and the listed server ip's
##########
#Filter CACHE_F HOST www.netscaler.com IP 192.168.100.89
192.168.100.95 192.168.100.52 192.168.100.53 ON
##########
# netscaler origin server example
# Not interested in Origin server to Cache traffic transaction
logging
103
Chapter 2 Administration
##########
#Filter ORIGIN_SERVERS IP 192.168.100.64 192.168.100.65
192.168.100.66 192.168.100.67 192.168.100.225 192.168.100.226
192.168.
100.227 192.168.100.228 OFF
##########
# netscaler image server example
# all the image server logging.
##########
#Filter IMAGE_SERVER HOST www.netscaler.images.com IP
192.168.100.71 192.168.100.72 192.168.100.169 192.168.100.170
192.168.10
0.171 ON
##########
# NCSA Format logging, new file is created every day midnight
or on reaching 20MB file size,
# and the file name is /datadisk5/netscaler/log/NS<hostname>/
Nsmmddyy.log.
# Exclude objects that ends with .gif .jpg .jar.
##########
#begin ORIGIN_SERVERS
# logFormat NCSA
# logInterval Daily
# logFileSizeLimit 40
# logFilenameFormat /datadisk5/ORGIN/log/%v/NS%{%m
%d%y}t.log
# logExclude .gif .jpg .jar
#end ORIGIN_SERVERS
##########
# NCSA Format logging, new file is created every day midnight
or on reaching 20MB file size,
# and the file name is /datadisk5/netscaler/log/NS<hostname>/
Nsmmddyy.log with log record timestamp as GMT.
##########
#begin CACHE_F
# logFormat NCSA
# logInterval Daily
# logFileSizeLimit 20
# logFilenameFormat /datadisk5/netscaler/log/%v/NS%{%m%d
%y}t.log
# logtime GMT
#end CACHE_F
##########
# W3C Format logging, new file on reaching 20MB and the log
file path name is
# atadisk6/netscaler/log/server's ip/Exmmyydd.log with log
record timestamp as LOCAL.
##########
#begin IMAGE_SERVER
# logFormat W3C
# logInterval Size
# logFileSizeLimit 20
# logFilenameFormat /datadisk6/netscaler/log/%AEx%{%m%d
%y}t
# logtime LOCAL
104
Citrix NetScaler System Guide
#end IMAGE_SERVER
##########
# Virtual Host by Name firm, can filter out the logging based
on the host name by,
##########
Creating Filters
You can use the default filter definition located in the configuration file (log.conf), or
you can modify the filter or create a new filter. You can create more than one log filter.
Note: Consolidated logging, which logs transactions for which no filter is defined, uses
the default filter if it is enabled. Consolidated logging of all servers can be done by
defining only the default filter.
If the server hosts multiple Web sites and each Web site has its own domain name, and
each domain is associated with a virtual server, you can configure Web server logging to
create a separate log directory for each Web site. The following table displays the
parameters for creating a filter.
Parameter Specifies
105
Chapter 2 Administration
Parameter Specifies
To create a filter
To create a filter, enter the following command in the log.conf file:
w filter <filterName> <HOST name> | [IP<ip> ] | [IP<ip 2...ip n> ] | <IP ip NETMASK
mask> [ON | OFF]
w filter <filterName> <HOST name> | [IP6 ip/<prefix length>] [ON | OFF]
Example
106
Citrix NetScaler System Guide
Filter F9 2002::8/112 ON
Filter F10 HOST www.abcd.com IP6 2002::8 ON
BEGIN <filtername>
logFormat ...
logFilenameFormat ...
logInterval ...
logFileSize ....
logExclude ....
logTime .
END
w LogFormat specifies the Web server logging feature that supports NCSA, W3C
Extended, and custom log file formats.
By default, the logformat property is w3c. To override, enter custom or NCSA in the
configuration file, for example:
LogFormat NCSA
Note: For the NCSA and custom log formats, local time is used to time stamp
transactions and for file rotation.
w LogInterval specifies the intervals at which new log files are created. Use one of
the following values:
Example
LogInterval Daily
w LogFileSizeLimit specifies the maximum size of the log file in MB. It can be used
with any log interval (weekly, monthly, and so on.) A file is created when the
maximum file size limit is reached or when the defined log interval time elapses.
107
Chapter 2 Administration
To override this behavior, specify the size as the loginterval property so that a file is
created only when the log file size limit is reached.
Example
LogFileSizeLimit 35
w LogFilenameFormat specifies the file name format of the log file. The name of the
file can be of the following types:
Static: Specifies a constant string that contains the absolute path and file name.
Dynamic: Specifies an expression containing the following format:
Example
LogFileNameFormat Ex%{%m%d%y}t.log
This command creates the first file name as Exmmddyy.log, then every hour creates
a file with file name: Exmmddyy.log.0, Exmmddyy.log.1,..., Exmmddyy.log.n.
Example
LogInterval size
LogFileSize 100
LogFileNameFormat Ex%{%m%d%y}t
LogExclude .html
This command creates a log file that excludes log transactions for *.html files.
w LogTime specifies log time as either GMT or LOCAL.
The defaults are:
108
Citrix NetScaler System Guide
To use the NCSA Common log format, enter NCSA in the LogFormat argument in the
log.conf file.
Argument Specifies
109
Chapter 2 Administration
Log analyzers must accept either LF or CRLF form. Each line may contain either a
directive or an entry. If you want to use the W3C Extended log format, enter W3C as
the Log-Format argument in the log.conf file.
By default, the standard W3C log format is defined internally as the custom log format,
shown as follows:
%{%Y-%m-%d%H:%M:%S}t %a %u %S %A %p %m %U %q %s %j %J %T %H %+
{user-agent}i %+{cookie} i%+{referer}i
#Version: 1.0
#Fields: date time cs-method cs-uri
#Date: 12-Jun-2001 12:34
2001-06-12 12:34:23 GET /sports/football.html
2001-06-12 12:34:30 GET /sports/football.html
Entries
Entries consist of a sequence of fields relating to a single HTTP transaction. Fields are
separated by white space; Citrix recommends the use of tab characters. If a field in a
particular entry is not used, a dash (-) marks the omitted field.
Directives
Directives record information about the logging process. Lines beginning with the
pound sign (#) contain directives.
Directive Description
110
Citrix NetScaler System Guide
Directive Description
Start-Date: <date> <time> Displays the date and time at which the
log was started.
Date: <date> <time> Displays the date and time when the
entry was added.
Note: The Version and Fields directives are required. They precede all other entries in
the log file.
Example
The following sample log file shows the log entries in W3C Extended log format:
#Version: 1.0
#Fields: time cs-method cs-uri
#Date: 12-Jan-1996 00:00:00
00:34:23 GET /sports/football.html
12:21:16 GET /sports/football.html
12:45:52 GET /sports/football.html
12:57:34 GET /sports/football.html
Fields
The Fields directive lists a sequence of field identifiers that specify the information
recorded in each entry. Field identifiers may have one of the following forms:
Prefix Specifies
c Client
s Server
111
Chapter 2 Administration
Prefix Specifies
r Remote
cs Client to server
sc Server to client
x Application-specific identifier
Examples
cs-method: The method in the request sent by the client to the server.
Identifiers
The following table describes the W3C Extended log format identifiers that do not
require a prefix.
Table 2-17. W3C Extended Log Format Identifiers (No Prefix Required)
Identifier Description
The following table describes the W3C Extended log format identifiers that require a
prefix.
112
Citrix NetScaler System Guide
Identifier Description
The W3C Extended Log file format allows you to choose log fields. These fields are
shown in the following table.
Table 2-19. W3C Extended Log File Format (Allows Log Fields)
Field Description
113
Chapter 2 Administration
Field Description
w Windows: The nswl.lib library located in \ns\bin directory on the system manager
host computer.
w Solaris: The libnswl.a library located in /usr/local/netscaler/bin.
114
Citrix NetScaler System Guide
Example
##########
# A new file is created every midnight or on
reaching 20MB file size,
# and the file name is /datadisk5/netscaler/log/
NS<hostname>/Nsmmddyy.log and create digital
#signature field for each record.
BEGIN CACHE_F
logFormat custom "%a - "%{user-agent}i"
[%d/%B/%Y %T -%g] "%x" %s %b%{referrer}i "%{user-
agent}i" "%{cookie}i" %d "
logInterval Daily
logFileSizeLimit 20
logFilenameFormat /datadisk5/
netscaler/log/%v/NS%{%m%d%y}t.log
END CACHE_F
w The string can contain the c type control characters \n and \t to represent new
lines and tabs.
w Use the <Esc> key with literal quotes and backslashes.
The characteristics of the request are logged by placing % directives in the format
string, which are replaced in the log file by the values.
If the %v (Host name) or %x (URL suffix) format specifier is present in a log file name
format string, the following characters in the file name are replaced by an underscore
symbol in the log configuration file name:
"*./:<>?\|
Characters whose ASCII values lie in the range of 0-31 are replaced by the following:
Caution: If the %v format specifier is present in a log file name format string, a
separate file is opened for each virtual host. To ensure continuous logging, the
maximum number of files that a process can have open should be sufficiently large.
115
Chapter 2 Administration
See your operating system documentation for a procedure to change the number of
files that can be opened.
Similarly, you can derive the other server log formats from the custom formats.
Argument Specifies
%d User-defined field.
116
Citrix NetScaler System Guide
Note: For instructions on how to export custom HTTP headers, see "Configuring the
NetScaler for Web Server Logging."
%h Remote host.
%H Request protocol.
117
Chapter 2 Administration
%m Request method.
118
Citrix NetScaler System Guide
For example, if you define the log format as %+{user-agent}i, and if the user agent
value is Citrix NetScaler system Web Client, then the information is logged as NetScaler
system+Web+Client. An alternative is to use double quotation marks. For example, %
{user-agent}i logs it as Citrix NetScaler system Web Client. Do not use the <Esc>
key on strings from %.. .r, %. . .i and, %. . .o. This complies with the
requirements of the Common Log Format. Note that clients can insert control
characters into the log. Therefore, you should take care when working with raw log
files.
Argument Specifies
%% The same as %.
119
Chapter 2 Administration
Argument Specifies
120
Citrix NetScaler System Guide
Argument Specifies
%t Inserts a tab.
Note: If you specify a conversion that does not correspond to any of the ones
described in the preceding table, or to any of the modified conversion specifications
listed in the next paragraph, the behavior is undefined and returns 0.
The difference between %U and %W (and also between modified conversions %OU and
%OW) is the day considered to be the first day of the week. Week number 1 is the first
week in January (starting with a Sunday for %U, or a Monday for %W). Week number 0
contains the days before the first Sunday or Monday in January for %U and %W.
Reporting Tool
Use the Citrix NetScaler Reporting tool to view NetScaler performance statistics data
as reports. Statistics data are collected by the nscollect utility and are stored in a
database. When you want to view certain performance data over a period of time, the
Reporting tool pulls out specified data from the database and displays them in charts.
Reports are a collection of charts. The Reporting tool provides built-in reports as well
as the option to create custom reports. In a report, you can modify the charts and add
new charts. You can also modify the operation of the data collection utility, nscollect,
and stop or start its operation.
121
Chapter 2 Administration
The following screen shots show the report toolbar and the chart toolbar, which are
frequently referenced in this documentation.
The default report that is displayed in the Reporting tool is CPU vs. Memory Usage and
HTTP Requests Rate. You can change the default report view by displaying the report
you want as your default view, and then clicking Default Report.
Reports can be generated for the last hour, last day, last week, last month, last year, or
you can customize the duration.
122
Citrix NetScaler System Guide
Note: You cannot save changes to built-in reports, but you can save a modified built-in
report as a custom report.
You can either create a new report or save a built-in report as a custom report. By
default, a newly created custom report contains one chart named System Overview,
which displays the CPU Usage counter plotted for the last day. You can customize the
interval and set the data source and time zone from the report toolbar. Within a
report, you can use the chart toolbars to add, modify, or delete charts, as described in
"Working with Charts."
By default, newly created custom reports contain one chart named System Overview
that displays a CPU Usage counter plotted for the last day.
1. In the Reporting tool, on the report toolbar, click Create, or if you want to create
a new custom report based on an existing report, open the existing report, and
then click Save As.
123
Chapter 2 Administration
Note: When you delete a folder, all the contents of that folder are deleted.
124
Citrix NetScaler System Guide
Note: When you export the file, it is exported in a .gz file format.
125
Chapter 2 Administration
In all report charts, the horizontal axis represents time and the vertical axis represents
the value of the counter.
Adding a Chart
When you add a chart to a report, the System Overview chart appears with the CPU
Usage counter plotted for the last one day. To plot a different group of statistics or
select a different counter, see "Modifying a Chart."
Note: If you add charts to a built-in report, and you want to retain the report, you must
save the report as a custom report.
Modifying a Chart
You can modify a chart by changing the functional group for which the statistics are
displayed and by selecting different counters.
To modify a chart
1. In the left pane of the Reporting tool, click a report.
2. Under the chart that you want to modify, click Counters.
3. In the dialog box that appears, in the Title box, type a name for the chart.
4. Next to Plot chart for, do one of the following:
To plot counters for global counters, such as Integrated Cache and Compression,
click System global statistics.
To plot entity counters for entity types, such as Load Balancing and GSLB, click
System entities statistics.
5. In Select group, click the desired entity.
6. Under Counters, in Available, click the counter name(s) that you want to plot, and
then click the > button.
126
Citrix NetScaler System Guide
7. If you selected System entities statistics in step 4, on the Entities tab, under
Available, click the entity instance name(s) you want to plot, and then click the >
button.
8. Click OK.
Viewing a Chart
You can specify the graphical formats of the plotted counters in a chart. Charts can be
viewed as line charts, spline charts, step-line charts, scatter charts, area charts, bar
charts, stacked area charts, and stacked bar charts. You can also zoom in, zoom out, or
scroll inside the plot area of a chart. You can zoom in or out for all data sources for 1
hour, 1 day, 1 week, 1 month, 1 year, and 3 years.
Other options for customizing the view of a chart include customizing the axes of the
charts, changing the background and edge color of the plot area, customizing the color
and size of the grids, and customizing the display of each data set (counter) in a chart.
Data set numbers, such as Data Set 1, correspond to the order in which the counters in
your graph are displayed at the bottom of the chart. For example, if CPU usage and
Memory usage are displayed in first and second order at the bottom of the chart, CPU
usage is equal to Data Set 1 and Memory usage is equal to Data Set 2.
Whenever you modify a built-in report, you need to save the report as a custom report
to retain your changes.
127
Chapter 2 Administration
Note: You can also view the numeric data in the graphical view by hovering your
cursor over the notches in the gridlines.
Note: The data set numbers, such as Data Set 1, correspond to the order in
which the counters in your graph are displayed at the bottom of the chart. For
example, if CPU usage and Memory usage are displayed in first and second
order at the bottom of the chart, CPU usage is equal to Data Set 1 and
Memory usage is equal to Data Set 2.
128
Citrix NetScaler System Guide
To plot each data set in its own hidden y-axis, click Multiple Axes, and then
click Enable.
To change the background color, edge color, and gridlines for a plot
area of a chart
1. In the left pane of the Reporting tool, select a report.
2. In the right pane, under the chart for which you want to customize the plot area,
click Customize.
3. On the Plot Area tab, under Category, click one or more of the following:
To change the background color and edge color of the chart, click Background
Color and Edge Color, and then select the options for color, transparency, and
effects.
To change the horizontal or vertical grids of the chart, click Horizontal Grids or
Vertical Grids, and then select the options for displaying the grids, grid width,
grid color, transparency, and effects.
Note: The data set numbers, such as Data Set 1, correspond to the order in which
the counters in your graph are displayed at the bottom of the chart. For example, if
CPU usage and Memory usage are displayed in first and second order at the
bottom of the chart, CPU usage is equal to Data Set 1 and Memory usage is
equal to Data Set 2.
129
Chapter 2 Administration
2. In the right pane, under the chart with the data you want to export to Excel, click
Export.
Deleting a Chart
If you do not want to use a chart, you can remove it from the report. You can
permanently remove charts from custom reports only. If you delete a chart from a
built-in report and want to retain the changes, you need to save the report as a custom
report.
To delete a chart
1. In the left pane of the Reporting tool, select a report.
2. In the right pane, under the chart that you want to delete, click the Delete icon.
Examples
To display the trend report for CPU usage and memory usage for the
last week
1. In the left pane of the Reporting tool, under Built-in Reports, expand System.
2. Click the report CPU vs. Memory Usage and HTTP Requests Rate.
3. In the right pane, on the report toolbar, click Duration, and then click Last Week.
To compare the bytes received rate and the bytes transmitted rate
between two interfaces for the last week
1. In the right pane, on the report toolbar, click Create.
2. In the Report Name box, type a name for the custom report (for example,
Custom_Interfaces), and then click OK.
The report is created with the default System Overview chart, which displays the
CPU Usage counter plotted for the last hour.
3. Under System Overview, on the chart toolbar, click Counters.
4. In the counter selection pane, in Title, type a name for the chart (for example,
Interfaces bytes data).
5. In Plot chart for, click System entities statistics, and then in Select Group, select
Interface.
6. On the Entities tab, click the interface name(s) you want to plot (for example, 1/1
and 1/2), and then click the > button.
7. On the Counters tab, click Bytes received (Rate) and Bytes transmitted (Rate)
and then click the > button.
8. Click OK.
9. On the report toolbar, click Duration, and then click Last Week.
130
Citrix NetScaler System Guide
The data collection utility creates databases for global counters and entity-specific
counters, and uses this data to generate reports. Global-counter databases are created
at /var/log/db/<DataSourceName> . The entity-specific databases are created
based on the entities configured on the NetScaler, and a separate folder is created for
each entity type in /var/log/db/<DataSourceName/EntityNameDB>.
Nscollect retrieves data once every 5 minutes. It retains data in 5-minute granularity
for one day, hourly for the last 30 days, and daily for three years.
You might have to stop and restart the data collection utility if data is not updated
accurately or the reports display corrupted data.
To stop nscollect
At the command prompt, type:
/netscaler/nscollect stop
/netscaler/nscollect start
131
Chapter 2 Administration
132
Chapter 3
AppFlow
133
Chapter 3 AppFlow
134
Citrix NetScaler System Guide
As shown in the figure, the network flow identifiers for each leg of a transaction
depend on the direction of the traffic.
The different flows that form a flow record are:
135
Chapter 3 AppFlow
To help the collector link all four flows in a transaction, AppFlow adds a custom
transactionID element to each flow. For application-level content switching, such as
HTTP, it is possible for a single client TCP connection to be load balanced to different
backend TCP connections for each request. AppFlow provides a set of records for each
transaction.
Flow Records
AppFlow records contain standard NetFlow or IPFIX information, such as time stamps
for the beginning and end of a flow, packet count, and byte count. AppFlow records
also contain application-level information (such as HTTP URLs, HTTP request methods
and response status codes, server response time, and latency), web page performance
data (such as page load time, page render time, and time spent on the page), and
database information (such as database protocol, database response status and
database response size). IPFIX flow records are based on templates that need to be
sent before sending flow records.
Templates
AppFlow defines a set of templates, one for each type of flow. Each template contains
a set of standard Information Elements (IEs) and Enterprise-specific Information
Elements (EIEs). IPFIX templates define the order and sizes of the Information Elements
(IE) in the flow record. The templates are sent to the collectors at regular intervals, as
described in RFC 5101.
transactionID
An unsigned 32-bit number identifying an application-level transaction. For HTTP,
this corresponds to a request and response pair. All flow records that correspond to
this request and response pair have the same transaction ID. In the most common
case, there are four uniflow records that correspond to this transaction. If the
NetScaler generates the response by itself (served from the integrated cache or by a
security policy), there may be only two flow records for this transaction.
connectionID
An unsigned 32-bit number identifying a layer-4 connection (TCP or UDP). The
NetScaler flows are usually bidirectional, with two separate flow records for each
direction of the flow. This information element can be used to link the two flows.
For the NetScaler, connectionID is an identifier for the connection data structure to
track the progress of a connection. In an HTTP transaction, for instance, a given
connectionID may have multiple transactionID elements corresponding to multiple
requests that were made on that connection.
tcpRTT
The round trip time, in milliseconds, as measured on the TCP connection. This can be
used as a metric to determine the client or server latency on the network.
136
Citrix NetScaler System Guide
httpRequestMethod
An 8-bit number indicating the HTTP method used in the transaction. An options
template with the number-to-method mapping is sent along with the template.
httpRequestSize
An unsigned 32-bit number indicating the request payload size.
httpRequestURL
The HTTP URL requested by the client.
httpUserAgent
The source of incoming requests to the Web server.
httpResponseStatus
An unsigned 32-bit number indicating the response status code.
httpResponseSize
An unsigned 32-bit number indicating the response size.
httpResponseTimeToFirstByte
An unsigned 32-bit number indicating the time taken to receive the first byte of the
response.
httpResponseTimeToLastByte
An unsigned 32-bit number indicating the time taken to receive the last byte of the
response.
flowFlags
An unsigned 64-bit flag used to indicate different flow conditions.
clientInteractionEndTime
Time at which the browser received the last byte of response to load all the objects
of the page such as images, scripts, and stylesheets.
clientRenderStartTime
Time at which the browser starts to render the page.
clientRenderEndTime
Time at which browser finished rendering the entire page, including the embedded
objects.
137
Chapter 3 AppFlow
dbReqType
An unsigned 8-bit number indicating the database request method used in the
transaction. For MS SQL, valid values are 1 is for QUERY, 2 is for TRANSACTION, and 3
is for RPC. For valid values for MySQL, see the MySQL documentation.
dbReqString
Indicates the database request string without the header.
dbRespStatus
An unsigned 64-bit number indicating the status of the database response received
from the web server.
dbRespLength
An unsigned 64-bit number indicating the response size.
dbRespStatString
The response status string received from the web server.
You can further set AppFlow parameters to specify the template refresh interval and to
enable the exporting of httpURL, httpCookie, and httpReferer information. On each
collector, you must specify the NetScaler IP address as the address of the exporter.
Note: For information about configuring the NetScaler as an exporter on the collector,
see the documentation for the specific collector.
The configuration utility provides tools that help users define the policies and actions
that determine exactly how the NetScaler appliance export records for a particular
flow to a set of collectors(action.) The command line interface provides a
corresponding set of CLI-based commands for experienced users who prefer a command
line.
Enabling AppFlow
To be able to use the AppFlow feature, you must first enable it.
138
Citrix NetScaler System Guide
Specifying a Collector
A collector receives flow records generated by the NetScaler appliance. To be able to
send flow records, you must specify at least one collector. You can specify up to four.
However, you cannot export the same data to multiple collectors. You can remove
unused collectors. By default, the collector listens to IPFIX messages on UDP port 4739.
You can change the default port, when configuring the collector. Similarly, by default,
NSIP is used as the source IP for appflow traffic. You can change this default source IP
to a SNIP or MIP address when configuring a collector.
Example
> add appflow collector col1 -IPaddress
10.102.29.251 -port 8000 -netprofile n2
139
Chapter 3 AppFlow
Example
> add appflow action apfl-act-collector-1-and-3 -
collectors collector-1 collecter-3
Note: For creating and managing AppFlow policies, the configuration utility provides
assistance that is not available at the command line interface.
Example
> add appflow policy apfl-pol-tcp-dsprt
client.TCP.DSTPORT.EQ(22) apfl-act-collector-1-
and-3
140
Citrix NetScaler System Guide
When you make your choice, the rightmost list box lists appropriate terms for the
next part of your expression.
2. In the second list box, choose the second term for your expression.
The choices depend upon which choice you made in the previous step, and are
appropriate to the context. After you make your second choice, the Help window
below the Construct Expression window (which was blank) displays help
describing the purpose and use of the term you just chose.
3. Continue choosing terms from the list boxes that appear to the right of the
previous list box, or typing strings or numbers in the text boxes that appear to
prompt you to enter a value, until your expression is finished.
When you bind a policy, you assign it a priority. The priority determines the order in
which the policies you define are evaluated. You can set the priority to any positive
integer.
In the NetScaler operating system, policy priorities work in reverse orderthe higher
the number, the lower the priority. For example, if you have three policies with
priorities of 10, 100, and 1000, the policy assigned a priority of 10 is performed first,
then the policy assigned a priority of 100, and finally the policy assigned an order of
1000.
You can leave yourself plenty of room to add other policies in any order, and still set
them to evaluate in the order you want, by setting priorities with intervals of 50 or 100
141
Chapter 3 AppFlow
between each policy when you globally bind it. You can then add additional policies at
any time without having to change the priority of an existing policy.
Example
bind appflow global af_policy_lb1_10.102.71.190 1
NEXT -type REQ_OVERRIDE -invoke vserver google
Example
bind lb vserver google -policyname
af_policy_google_10.102.19.179 -priority 251
142
Citrix NetScaler System Guide
content switching, cache redirection, SSL VPN, GSLB, and authentication virtual
servers.
Example
> set cs vserver Vserver-CS-1 HTTP 10.102.29.161
80 -appflowLog ENABLED
Example
set service ser -appflowLog ENABLED
143
Chapter 3 AppFlow
Example
> set appflow Param -templateRefresh 240 -udpPmtu
128 -httpUrl enabled
When the Netscaler appliance receives a database request, the appliance evaluates the
request against a configured policy. If a match is found, the details are sent to the
AppFlow collector configured in the policy.
144
Citrix NetScaler System Guide
You can configure both load balancing and content switching virtual servers to export
EdgeSight Monitoring data to AppFlow collectors. Before configuring a virtual server for
AppFlow export, associate an Appflow action with the EdgeSight Monitoring responder
policy.
AppFlow transmits the performance data by using the Internet Protocol Flow
Information eXport (IPFIX) format, which is an open Internet Engineering Task Force
(IETF) standard defined in RFC 5101. The AppFlow templates use the following
enterprise-specific Information Elements (EIEs) to export the information:
w Client Load End Time. Time at which the browser received the last byte of a
response to load all the objects of the page such as images, scripts, and stylesheets.
w Client Load Start Time.Time at which the browser receives the first byte of the
response to load any objects of the page such as images, scripts, and stylesheets.
w Client Render End Time. Time at which browser finished rendering the entire page,
including the embedded objects.
w Client Render Start Time. Time at which the browser started rendering the page.
145
Chapter 3 AppFlow
w The AppFlow feature has been enabled and configured. For instructions, see
"Configuring the AppFlow feature".
w The Responder feature has been enabled.
w The EdgeSight Monitoring feature has been enabled. For instructions, see "Enabling
an Application for EdgeSight Monitoring."
w EdgeSight Monitoring has been enabled on the load balancing or content switching
virtual servers bound to the services of applications for which you want to collect
the performance data. For instructions, see "Enabling an Application for EdgeSight
Monitoring."
Example
set responder policy pol -appflowAction actn
146
Citrix NetScaler System Guide
147
Chapter 3 AppFlow
148
Chapter 4
149
Chapter 4 AutoScale: Automatic Scaling in the Citrix CloudPlatform Environment
150
Citrix NetScaler System Guide
The following diagram shows the sequence of operations, beginning with CloudPlatform
pushing the AutoScale configuration to the NetScaler appliance. The events are
numbered in the order in which they occur, and are described below.
When the CloudPlatform user submits the AutoScale configuration, the following events
occur:
1. CloudPlatform uses the NetScaler NITRO API to push the AutoScale configuration to
the NetScaler appliance, creating AutoScale-related entities on the appliance. The
entities include a load balancing virtual server, a service group, and monitors.
2. The AutoScale engine on the NetScaler appliance sends API requests to
CloudPlatform to initially deploy the minimum number of virtual machines
required.
3. CloudPlatform provisions the minimum number of instances (VMs) on the
hypervisors (virtualization hosts) that it manages.
4. The NetScaler appliance discovers the IP addresses assigned by CloudPlatform to
the newly created VMs and binds them, as services, to the service group
151
Chapter 4 AutoScale: Automatic Scaling in the Citrix CloudPlatform Environment
representing them. The NetScaler appliance can then load balance traffic to the
VMs.
5. NetScaler monitors bound to the service group start monitoring the load by
collecting SNMP metrics from the instances.
6. The AutoScale engine on the NetScaler appliance monitors the metrics collected
from the VMs and triggers scale-up and scale-down events whenever the metrics
breach the configured threshold for the specified period. As part of the scale-up
trigger, the NetScaler AutoScale engine sends an API request to CloudPlatform to
deploy a new VM. After the virtual machine is deployed, the AutoScale engine
binds the service representing the VM (IP address and port) to the service group
and, after the configured quiet time, starts forwarding load balanced traffic to the
new virtual machine. Likewise, as part of the scale-down trigger, the NetScaler
AutoScale engine selects a VM, stops forwarding new requests to that instance, and
waits for the configured quiet time (to allow for the processing of current requests
to complete) before it sends an API request to CloudPlatform to destroy the chosen
instance.
In this way, the NetScaler appliance monitors the application and triggers scale-up and
scale-down events on the basis of application load and/or performance.
Supported Environment
AutoScale is supported in the following environment:
Prerequisites
Before you set up AutoScale, do the following:
w Make sure that CloudPlatform is reachable from the NetScaler appliance. You can do
so by logging on to the NetScaler appliance and sending ping requests to the
CloudPlatform server's IP address.
w Make sure that the network service offering used in CloudPlatform includes the
NetScaler appliance as an external load balancing device.
w Use a CloudPlatform and NetScaler release that supports AutoScale. For information
about NetScaler releases that support AutoScale, see "Supported Environment."
152
Citrix NetScaler System Guide
bind serviceGroup
Clouda35a6b6b76614006b97476e841
b80f79 autoscale-
internal_server_Clouda35a6b6b76
614006b97476e841b80f79 22
153
Chapter 4 AutoScale: Automatic Scaling in the Citrix CloudPlatform Environment
bind serviceGroup
Clouda35a6b6b76614006b97476e841
b80f79 -monitorName Cloud-
Mon-192.0.2.116-22 -passive
154
Citrix NetScaler System Guide
155
Chapter 4 AutoScale: Automatic Scaling in the Citrix CloudPlatform Environment
156
Citrix NetScaler System Guide
gotoPriorityExpression END -
sampleSize 2 -threshold 2
Troubleshooting
Before you attempt to resolve an AutoScale issue, make sure that the prerequisites
have been adhered to, on both the CloudPlatform server and the NetScaler appliance,
as described in "Prerequisites." If that does not resolve the issue, your problem could
be one of the following.
157
Chapter 4 AutoScale: Automatic Scaling in the Citrix CloudPlatform Environment
158
Citrix NetScaler System Guide
w Verify that the service is running on the VMs, on the configured member port.
w Send a ping request to the gateway (virtual router), from the VM that is not
accepting traffic.
159
Chapter 4 AutoScale: Automatic Scaling in the Citrix CloudPlatform Environment
160
Chapter 5
Clustering
Hardware and Software The client traffic is distributed between the nodes to provide
Requirements high availability, high throughput, and scalability.
How Clustering Works To create a cluster, you must add the appliances as cluster
nodes, set up communication between the nodes, set up links
Setting up a NetScaler
to the client and server networks, configure the appliances,
Cluster
and configure the distribution of client and server traffic.
Distributing Traffic Across
Cluster Nodes
Managing the NetScaler
Cluster
Use Cases
Troubleshooting the
NetScaler Cluster
Clustering FAQs
Operations Not Propagated
to Cluster Nodes
Operations Supported on
Individual Cluster Nodes
161
Chapter 5 Clustering
Note: The entry "Node-level" in the table indicates that the feature is supported only
on individual cluster nodes.
SSL FIPS No No No
GSLB No No Yes
RTSP No No No
162
Citrix NetScaler System Guide
DNSSEC No No No
DNS64 No No No
FTP No No No
TFTP No No No
Connection mirroring No No No
MPTCP No No Yes
163
Chapter 5 Clustering
NAT46 No No No
NAT64 No No No
v6 ReadyLogo No No No
Route monitor No No No
164
Citrix NetScaler System Guide
Insight No No No
HDX Insight No No No
VMAC/VRRP No No Yes
NetScaler Push No No No
Graceful Shutdown No No No
DBS AutoScale No No No
XML XSM No No No
DHCP RA No No No
165
Chapter 5 Clustering
from
NetScaler
10.5 Build
52.1115.e
onwards)
Network Bridge No No No
EdgeSight Monitoring No No No
Till NetScaler 10.5 Build 51.10 For NetScaler 10.5 Build 52.11 and
later releases
Because of the separate cluster license Cluster is licensed with the Enterprise
file, cluster is available with Standard, and Platinum licenses. Cluster is not
Enterprise, and Platinum licenses. available for Standard license.
All cluster nodes must have the same All cluster nodes must have the same
licenses. licenses.
166
Citrix NetScaler System Guide
The cluster must be configured through a management address called the cluster IP
address. Configurations that are performed on the cluster IP address are propagated to
all the cluster nodes.
Note: The NetScaler restricts the configurations that you can perform by accessing
individual cluster nodes through their NetScaler IP (NSIP) address. These
configurations are not propagated across the cluster nodes. For more information, see
Operations Supported on Individual Cluster Nodes.
When an existing cluster node, that was intentionally disabled or that had failed, is
once again added, the cluster compares the configurations available on the node with
the configurations available on the configuration coordinator. If there is a mismatch in
configurations, the node is synchronized by using one of the following:
167
Chapter 5 Clustering
applied to the node that is rejoining the cluster. The operational state of the node
remains unaffected.
Command Propagation
While the above section talks about synchronizing the configurations of a configuration
coordinator to a newly added (or re-added) node, the NetScaler also automatically
propagates the configurations to all the existing cluster nodes as and when the
configurations are performed.
For example, you can define a SNIP address to be active on only one node, or define a
SNIP address to be active on all nodes, or define a VIP address to be active on only one
node, or define a VIP address to be active on all nodes , or define a VIP address to be
active only on two nodes of a 3-node cluster.
Depending on the number of nodes the configurations are active on, cluster
configurations are referred to as striped, partially striped, or spotted configurations.
Figure 5-2. Three-node cluster with striped, partially striped, and spotted
configurations
168
Citrix NetScaler System Guide
Partially A subset Refer Node Bind the entities that you want to be
striped of cluster Groups partially striped, to a node group. The
configurat nodes configuration will be active only on the
ion cluster nodes that belong to the node
group.
Note: Citrix recommends that you use spotted SNIP addresses. You can use striped
SNIP addresses only if there is a shortage of IP addresses. The use of striped IP
addresses can result in ARP flux issues.
169
Chapter 5 Clustering
now becomes n/c/u, where n is the node ID. For example, in the following figure,
interface 1/2 of node NS0 is represented as 0/1/2, interface 1/1 of node NS1 is
represented as 1/1/1, and interface 1/4 of node NS2 is represented as 2/1/4.
Server communication
The cluster communicates with the server through the physical connections between
the cluster node and the server-side connecting device. The logical grouping of these
physical connections is called the server data plane.
Client communication
The cluster communicates with the client through the physical connections between
the cluster node and the client-side connecting device. The logical grouping of these
physical connections is called the client data plane.
Inter-node communication
The cluster nodes communicate with each other by using the cluster backplane. The
backplane is a set of connections in which one interface of each node is connected to
a common switch, which is called the cluster backplane switch. Each node of the
cluster uses a special MAC address to communicate with other nodes through the
backplane.
The following figure shows the logical grouping of the physical connections to form the
client data plane, server data plane, and cluster backplane.
170
Citrix NetScaler System Guide
The flow receiver gets the traffic and then, using internal cluster logic determines the
node that must process the traffic. This node is called the flow processor. The flow
receiver steers the traffic to the flow processor over the backplane.
Note: The flow receiver and flow processor must be nodes capable of serving traffic.
171
Chapter 5 Clustering
The above figure shows a client request flowing through the cluster. The client sends a
request to a virtual IP (VIP) address. A traffic distribution mechanism configured on the
client data plane selects one of the cluster nodes as the flow receiver. The flow
receiver receives the traffic, determines the node that must process the traffic, and
steers the request to that node (unless the flow receiver selects itself as the flow
processor).
The flow processor establishes a connection with the server. The server processes the
request and sends the response to the subnet IP (SNIP) address that sent the request to
the server.
w If the SNIP address is a striped or partially stripedIP address, the traffic distribution
mechanism configured on the server data plane selects one of the cluster nodes as
the flow receiver. The flow receiver receives the traffic, determines the flow
processor, and steers the request to the flow processor through the cluster
backplane.
172
Citrix NetScaler System Guide
w If the SNIP address is a spotted IP address, the node that owns the SNIP address
receives the response from the server.
In an asymmetric cluster topology (all cluster nodes are not connected to the external
switch), you must use linksets either exclusively or combined with ECMP. For more
information, see Using Linksets.
Cluster Nodegroups
A nodegroup is a cluster entity that groups a set of cluster nodes.
The above figure shows a cluster which has nodegroups NG1 and NG2 that include 3
nodes each. The cluster also has 3 nodes that are not part of any nodegroup.
w To define spotted and partially striped configurations. For more information, see
Nodegroup - For Spotted and Partially-Striped Configurations.
w To provide datacenter redundancy in a cluster. This use-case is supported from
NetScaler 10.5 Build 52.1115.e onwards. For more information, see Nodegroup - For
Datacenter Redundancy.
Note: The above two functions of a nodegroup are mutually exclusive. This means
that a single nodegroup can provide only one of the functionality. The presence of the
"state" parameter in the nodegroup configuration indicates it is for the latter purpose
and the absence indicates it is for the former purpose.
You can achieve this requirement by defining a nodegroup that includes the specific
cluster nodes, and then binding the configuration to that nodegroup. This ensures that
the configuration is active only on those cluster nodes. These configurations are called
partially-striped or spotted (if active only one a single node). For more information,
see Striped, Partially Striped, and Spotted Configurations.
173
Chapter 5 Clustering
For example, consider a cluster with three nodes. You create a nodegroup NG0 that
includes node ns0 and another nodegroup NG1 that includes ns1 and ns2. Bind load
balancing virtual servers .77 to NG0 and load balancing virtual server .69 to NG1. This
means that .77 will be active only on ns0 and consequently only ns0 will receive traffic
that is directed to .77.
Similarly, .69 will be active only on nodes ns1 and ns2 and consequently only ns1 and
ns2 will receive traffic that is directed to .69.
Behavior of Nodegroups
Due to the interoperability of nodegroups with different NetScaler features and
entities, there are some behavioral aspects to be noted. Additionally, there are some
specific behavioral aspects that you must remember for the following features:
Application firewall, NetScaler Gateway, and GSLB.
174
Citrix NetScaler System Guide
VS1. Then, bind each server individually to the nodegroup, and then configure
VS2 as the backup for VS1.
Assume you have a content switching virtual server, CSVS1, whose target load
balancing virtual server is LBVS1. To add CSVS1 to a nodegroup, first remove
LBVS1 as the target. Then, bind each server individually to the nodegroup, and
then configure LBVS1 as the target.
Assume you have a load balancing virtual server, LBVS1, that has a policy which
invokes another load balancing virtual server, LBVS2. To add either one of the
virtual servers, first remove the association. Then, bind each server individually
to the nodegroup, and then reassociate the virtual servers.
w You cannot bind an entity to a nodegroup that has no nodes and that has the
strict option enabled. Consequently, you cannot unbind the last node of a
nodegroup that has entities bound to it and that has the strict option enabled
w The strict option cannot be modified for a nodegroup that has no nodes but has
entities bound to it.
175
Chapter 5 Clustering
When the original member of the nodegroup comes up, the replacement node, by
default, is replaced by the original member node.
From NetScaler 10.5 Build 50.10 onwards, however, the NetScaler allows you to change
this replacement behavior. When you enable the sticky option, the replacement node is
retained even after the original member node comes up. The original node takes over
only when the replacement node goes down.
You can also disable the backup functionality. To do this, you must enable the strict
option. In this scenario, when a nodegroup member goes down, no other cluster node is
picked up as a backup node. The original node continues being part of the nodegroup
when it comes up. This option ensures that entities bound to a nodegroup are active
only on nodegroup members.
Note: The strict and sticky option can be set only when creating a nodegroup.
In this use case, nodegroups are created by logically grouping the cluster nodes. You
must create active and spare nodegroups (by specifying nodegroup state). The active
nodegroup with the highest priority (that is, the lowest priority number) is made
operationally active. This node serves traffic.
When a node from this operationally active nodegroup goes down, the node count of
this nodegroup is compared with the node count of the other active nodegroups in
order of their priority. If a nodegroup has a higher or equal node count, that nodegroup
is made operationally active. Else, the spare nodegroups are checked.
Using this approach you can define each nodegroup as a datacenter and this helps bring
about the required redundancy.
In such a nodegroup, irrespective of an individual nodes' state, a node inherits the state
of the nodegroup. So, if a node with state as "SPARE" is added to nodegroup with state
as "ACTIVE", the node automatically behaves as an active node.
In a normal cluster setup, when an active node goes down a spare node takes over the
responsibility. However, you might have a case where the cluster nodes are grouped
based on datacenters. In such a case, you can define a nodegroup for each of your data
centers so that when one node of a nodegroup goes down, another nodegroup becomes
active and serves traffic.
176
Citrix NetScaler System Guide
The above figure shows NG1 as the active nodegroup. When it loses one of the nodes,
the spare nodegroup with the highest priority starts serving traffic.
Points to note:
w Only one nodegroup (of all available state-specific nodegroups) can be active at a
single point of time.
w The preemption defined at cluster instance level defines whether when the initial
nodegroup becomes active again, it will get control or whether the spare nodegroup
will continue serving traffic.
177
Chapter 5 Clustering
Note: Alternatively, from NetScaler release 10.5, you can configure the cluster to be
functional even when the majority criteria is not satisfied. This configuration must be
performed when creating a cluster.
Type Description
Admin An admin state is configured when you add the node to the cluster. It
indicates the purpose of the node, which can be in one of the
following states:
Operational When a node is part of a cluster, its operational state can change to
ACTIVE, INACTIVE, or UNKNOWN. There are a number of reasons for a
node being in INACTIVE or UNKNOWN state. Review the ns.log file or
error counters to help determine the exact reason.
Health Depending on its health, a node can either be UP or NOT UP. To view
the reasons for a node being in NOT UP state, run the show cluster
node command for that node.
178
Citrix NetScaler System Guide
Routing in a Cluster
Routing in a cluster works in much the same way as routing in a standalone system. A
few points to note:
!
interface vlan97
!
router ospf
owner-node 0
ospf router-id 97.131.0.1
exit-owner-node
owner-node 1
ospf router-id 97.131.0.2
exit-owner-node
owner-node 2
ospf router-id 97.131.0.3
exit-owner-node
redistribute kernel
network 97.0.0.0/8 area 0
!
> vtysh
ns# owner-node 0 1
ns(node-0 1)# show cluster state
ns(node-0 1)# exit-owner-node
> vtysh
ns# owner-node 0 1
ns(node-0 1)# clear config
ns(node-0 1)# exit-owner-node
w Routing protocol daemons can run and adjacencies can be formed on active and
inactive nodes of a cluster.
w Only active nodes advertise host routes to VIP addresses.
w Active and inactive nodes can learn dynamic routes and install them into the routing
table.
179
Chapter 5 Clustering
w Routes learnt on a node are propagated to other nodes in the cluster only if route
propagation is configured. This is mostly needed in asymmetric topologies where the
unconnected nodes may not be able to form adjacencies.
Note: Make sure that route propagation is not configured in a symmetric cluster
topology as it can result in making the node unavailable to the cluster.
Till NetScaler 10.5 Build 51.10 For NetScaler 10.5 Build 52.11 and
later releases
Because of the separate cluster license Cluster is licensed with the Enterprise
file, cluster is available with Standard, and Platinum licenses. Cluster is not
Enterprise, and Platinum licenses. available for Standard license.
All cluster nodes must have the same All cluster nodes must have the same
licenses. licenses.
180
Citrix NetScaler System Guide
For example, to use interface 1/2 as the backplane interface for node
4, connect a cable from the 1/2 interface of node 4 to the backplane
switch.
181
Chapter 5 Clustering
The role of a cluster configuration coordinator node is not fixed to a specific cluster
node. It can change over time depending on the following factors:
w The priority of the node. The node with the highest priority (lowest priority number)
is made the configuration coordinator. Therefore, if a node with a priority number
lower than that of the existing configuration coordinator is added, the new node
takes over as the configuration coordinator.
w If the current configuration coordinator goes down. The node with the next lowest
priority number takes over as the configuration coordinator. If the priority is not set
or if there are multiple nodes with the lowest priority number, the configuration
coordinator is selected from one of the available nodes.
The configurations of the appliance are cleared by implicitly executing the clear ns
config extended command.
Note:
w The default VLAN and NSVLAN are not cleared from the appliance. Therefore, if
you want the NSVLAN on the cluster, make sure it is created before the appliance
is added to the cluster.
w The SNIP addresses and all VLAN configurations are cleared from the appliance.
Note: Make sure that the cluster instance ID is unique within a LAN.
Example
182
Citrix NetScaler System Guide
Adding a node for a L2 cluster (all cluster nodes are in the same network).
Example
183
Chapter 5 Clustering
the licenses available on the configuration coordinator. If the licenses match, the
appliance is added to the cluster. The existing configurations of the appliance are
cleared, and the cluster configurations are synchronized with the node.
Note: If you use the command line interface to add a node, the new node does not
become a functional part of the cluster until you join it to the cluster. After logging on to
the cluster IP address and adding the node, log on to that node and join the node to
the cluster. Alternatively, you can add the node from the command line and use the
configuration utility to join the node to the cluster. If you use the configuration utility,
you need only log on to the cluster IP address and add the node. The newly added
node is automatically joined to the cluster.
Important: Before you add the node, make sure that you have set up the backplane
interface for that node. Additional considerations include the following:
w If you want the NSVLAN on the cluster, make sure that the NSVLAN is created on
the appliance before it is added to the cluster.
w Citrix recommends that you add the node as a passive node. Then, after joining
the node to the cluster, complete the node specific configuration from the cluster
IP address. Run the force cluster sync command if the cluster has only spotted IP
addresses, has L3 VLAN binding, or has static routes.
w When an appliance with a preconfigured link aggregate (LA) channel is added to a
cluster, the LA channel continues to exist in the cluster environment. The LA
channel is renamed from LA/x to nodeId/LA/x, where LA/x is the LA channel
identifier.
Example
184
Citrix NetScaler System Guide
Example
Note:
w When you remove a node that is the configuration coordinator, all current cluster
IP address sessions are invalidated. Another cluster node is selected as the
185
Chapter 5 Clustering
configuration coordinator, and the cluster IP address is assigned to that node. You
must start a new cluster IP address session.
w To delete the cluster, you must remove each node individually. When you remove
the last node, the cluster IP address(es) are deleted.
Note: If the cluster IP address is unreachable from the node, you must execute the rm
cluster instance command on the NSIP address of that node itself.
Note: When executed from the NSIP address of a cluster node that is not the
configuration coordinator, this command displays the status of the cluster on this node.
186
Citrix NetScaler System Guide
Note: Routes are limited to the maximum number of ECMP routes supported by the
upstream router.
To use ECMP, you must first enable the required routing protocol (OSPF, RIP, BGP, or
ISIS) on the cluster IP address. You must bind the interfaces and the spotted IP address
(with dynamic routing enabled) to a VLAN. Configure the selected routing protocol and
redistribute the kernel routes on the ZebOS by using the vtysh shell.
You must perform similar configurations on the cluster IP address and on the external
connecting device.
Note:
w All routing configurations must be done through the cluster IP address. No
configurations must be performed on individual cluster nodes.
w Make sure that the licenses on the cluster support dynamic routing, otherwise
ECMP does not work.
w ECMP is not supported for wildcard virtual servers since RHI needs a VIP address
to advertise to a router and wildcard virtual servers do not have associated VIP
addresses.
187
Chapter 5 Clustering
You must have detailed knowledge of routing protocols to use ECMP. For more
information, see "Configuring Dynamic Routes. For more information on routing in a
cluster, see "Routing in a Cluster".
As seen in the above figure, the ECMP router can reach the VIP address via SNIP0,
SNIP1, or SNIP2.
3. Add a VLAN.
add vlan <id>
Example
188
Citrix NetScaler System Guide
Example
5. Add a spotted SNIP address for each node and enable dynamic routing on it.
add ns ip <SNIP> <netmask> -ownerNode <positive_integer> -dynamicRouting
ENABLED
Example
6. Bind one of the spotted SNIP addresses to the VLAN. When you bind one spotted
SNIP address to a VLAN, all other spotted SNIP addresses defined on the cluster in
that subnet are automatically bound to the VLAN.
bind vlan <id> -IPAddress <SNIP> <netmask>
Example
Note: You can use NSIP addresses of the cluster nodes instead of adding SNIP
addresses. If so, you do not have to perform steps 3 - 6.
> vtysh
!
interface vlan97
!
router ospf
owner-node 0
ospf router-id 97.131.0.1
exit-owner-node
owner-node 1
ospf router-id 97.131.0.2
exit-owner-node
owner-node 2
ospf router-id 97.131.0.3
exit-owner-node
redistribute kernel
network 97.0.0.0/8 area 0
!
189
Chapter 5 Clustering
Note: For VIP addresses to be advertised, RHI setting must done by using the
vserverRHILevel parameter as follows:
add ns ip <IPAddress> <netmask> -type VIP -vserverRHILevel <vserverRHILevel>
For OSPF specific RHI settings, there are additional settings that can be done as
follows:
Use the add ns ip6 command to perform the above commands on IPv6 addresses.
8. Configure ECMP on the external switch. The following sample configurations are
provided for the Cisco Nexus 7000 C7010 Release 5.2(1) switch. Similar
configurations must be performed on other switches.
Interface config:
Configure terminal
interface Vlan10
no shutdown
ip address 97.131.0.5/8
Configure terminal
router ospf 1
network 97.0.0.0/8 area 0.0.0.0
---------------------------------
//For OSPFv3 (IPv6 addresses)
Global config:
Configure terminal
feature ospfv3
Configure terminal
interface Vlan10
no shutdown
ipv6 address use-link-local-only
ipv6 router ospfv3 1 area 0.0.0.0
Configure terminal
router ospfv3 1
190
Citrix NetScaler System Guide
> vtysh
conf t
router bgp 65535
neighbor 10.100.26.1 remote-as 65535
6. Configure BGP on the external switch. The following sample configurations are
provided for the Cisco Nexus 7000 C7010 Release 5.2(1) switch. Similar
configurations must be performed on other switches.
Using Linksets
Linksets must be used when some cluster nodes are not physically connected to the
external network. In such a cluster topology, the unconnected cluster nodes use the
interfaces specified in the linkset to communicate with the external network through
the cluster backplane. Linksets are typically used in scenarios when the connecting
devices have insufficient ports to connect the cluster nodes.
For example, consider a three node cluster where the upstream switch has only two
ports available. Using linksets, you can connect two nodes to the switch and leave the
191
Chapter 5 Clustering
third node unconnected. In the following figure, a linkset (LS/1) is formed by binding
the interfaces 0/1/2 and 1/1/2. NS2 is the unconnected node of the cluster.
The linkset informs NS2 that it can use interfaces 0/1/2 and 1/1/2 to communicate
with the network devices. All traffic to and from NS2 is now routed through interfaces
0/1/2 or 1/1/2.
192
Citrix NetScaler System Guide
Example
3. Bind the required interfaces to the linkset. Make sure the interfaces are not used
for the cluster backplane.
bind linkset <id> -ifnum <interface_name> ...
Example
193
Chapter 5 Clustering
Example
Note: You can bind the linkset to a VLAN by using the bind vlan command. The
interfaces of the linkset are automatically bound to the VLAN.
194
Citrix NetScaler System Guide
Example
3. Bind the required nodes to the node group. Type the following command for each
member of the node group:
bind cluster nodegroup <name> -node <nodeId>
4. Bind the entity to the node group. Type the following command once for every
entity that you want to bind:
bind cluster nodegroup <name> (-vServer <string> | -identifierName <string> | -
gslbSite <string> -service <string>)
Note: The gslbSite and service parameters are available from NetScaler 10.5
onwards.
Example: To bind virtual servers VS1 and VS2 and rate limit identifier named
identifier1.
5. Verify the configurations by viewing the details of the node group. Type:
show cluster nodegroup <name>
Example
195
Chapter 5 Clustering
b. Under Virtual Servers, select the tab corresponding to the type of virtual
server that you want to bind to the node group. Click the Add button.
w The Available list displays the virtual servers that you can bind to the node
group and the Configured list displays the virtual servers that are bound to
the node group.
w Click the + sign in the Available list to bind the virtual server. Similarly,
click the - sign in the Configured list to unbind the virtual server.
In this setup, one nodegroup must be defined as active and the others will be defined
as spare nodegroups.
196
Citrix NetScaler System Guide
Note: To disable the cluster, run the disable cluster instance command on the cluster
IP address.
Note: To disable the cluster instance on all the nodes, perform the above
procedure on the cluster IP address.
197
Chapter 5 Clustering
198
Citrix NetScaler System Guide
Note: When executed from the cluster IP address, this command displays the cluster
level statistics. However, when executed from the NSIP address of a cluster node, the
command displays node level statistics.
Additionally, you can forcefully synchronize the configurations that are available on the
configuration coordinator (full synchronization) to a specific cluster node. Make sure
you synchronize one cluster node at a time, otherwise the cluster can get affected.
199
Chapter 5 Clustering
The directories and files from the configuration coordinator that are synchronized are:
w /nsconfig/ssl/
w /var/netscaler/ssl/
w /var/vpn/bookmark/
w /nsconfig/dns/
w /nsconfig/htmlinjection/
w /netscaler/htmlinjection/ens/
w /nsconfig/monitors/
w /nsconfig/nstemplates/
w /nsconfig/ssh/
w /nsconfig/rc.netscaler
w /nsconfig/resolv.conf
w /nsconfig/inetd.conf
w /nsconfig/syslog.conf
w /nsconfig/snmpd.conf
w /nsconfig/ntp.conf
w /nsconfig/httpd.conf
w /nsconfig/sshd_config
w /nsconfig/hosts
w /nsconfig/enckey
w /var/nslw.bin/etc/krb5.conf
w /var/nslw.bin/etc/krb5.keytab
w /var/lib/likewise/db/
w /var/download/
200
Citrix NetScaler System Guide
w /var/wi/tomcat/webapps/
w /var/wi/tomcat/conf/Catalina/localhost/
w /var/wi/java_home/lib/security/cacerts
w /var/wi/java_home/jre/lib/security/cacerts
w /nsconfig/license/
w /nsconfig/rc.conf
201
Chapter 5 Clustering
5. Click OK.
When the software on a node is upgraded or downgraded, the node is not removed
from the cluster. The node continues to be a part of the cluster and serves client traffic
uninterrupted, except for the down-time when the node reboots after it is upgraded or
downgraded. However, due to software version mismatch among the cluster nodes,
configuration propagation is disabled and is enabled only after all the cluster nodes are
of the same version.
Note:
w You cannot add cluster nodes while upgrading or downgrading the cluster
software version.
w You cannot execute the start nstrace command from the cluster IP address when
the cluster is being upgraded. However, you can get the trace of individual nodes
by performing this operation on individual cluster nodes through their NetScaler
IP (NSIP) address.
w Configurations can be lost during the downgrade of the cluster.
Note:
w Citrix recommends that you wait for the previous node to become active
before upgrading or downgrading the next node.
202
Citrix NetScaler System Guide
w If you have configured a cluster before NetScaler 10.5 Build 52.11, the
cluster will work with the separate cluster license file. No changes are
required.
w When you configure a new cluster in Build 52.11 and then downgrade,
the cluster will not work as it now expects the separate cluster license
file.
Use Cases
Some scenarios in which a cluster can be deployed:
A two-node cluster is functional even if only one node is able to serve traffic.
Creating a two node cluster is the same as creating any other cluster. You must add one
node as the configuration coordinator and the other node as the other cluster node.
203
Chapter 5 Clustering
Example
rm HA node 1
2. Go to the shell on one of the HA nodes and copy the ns.conf file to another .conf
file (for example, ns_backup.conf).
3. On both the nodes, identify the network interfaces to be used for the cluster
backplane. Make sure to configure the backplane switch appropriately.
4. Create the cluster on one of the appliances (for example, 10.102.97.131).
6. After the two nodes are up and active, log on to the cluster IP address and modify
the backed-up configuration file as follows:
a. Remove the features that are not supported on a cluster. For the list of
unsupported features, see NetScaler Features Supported by a Cluster. This is
an optional step. If you do not perform this step, the execution of unsupported
commands will fail.
204
Citrix NetScaler System Guide
should be changed to
c. The backup configuration file can have SNIP addresses or MIP addresses. These
addresses are striped on all the cluster nodes. It is recommended that you add
spotted IP addresses for each node.
Example
Example
batch -f ns_backup.conf
205
Chapter 5 Clustering
traffic, the primary appliance of the HA setup is added to the cluster. This approach
will not result in a downtime for the application.
2. Log on to the secondary appliance NS1 and clear all the configurations. This
removes the secondary appliance from the HA setup and makes it a standalone
appliance.
Note:
The configurations are cleared to make sure that NS1 does not start owning
the VIPs once it becomes a standalone appliance.
At this stage, NS0 is still active and continues to serve traffic.
should be changed to
206
Citrix NetScaler System Guide
c. The backup configuration file can have SNIP addresses or MIP addresses. These
addresses are striped on all the cluster nodes. It is recommended that you add
spotted IP addresses for each node.
Example
batch -f ns_backup.conf
Note: There can be a small amount (in the order of seconds) of downtime
between disabling the interfaces and making the cluster node active.
207
Chapter 5 Clustering
The appliances of the HA setup are migrated to a cluster setup without any downtime
for the application.
To set up GSLB in a cluster you must bind the different GSLB entities to a node group.
The node group must have a single member node.
Note:
w The parent-child topology of GSLB is not supported in a cluster.
w If you have configured the static proximity GSLB method, make sure that the
static proximity database is present on all the cluster nodes. This happens by
default if the database file is available at the default location. However, if the
database file is maintained in a directory other than /var/netscaler/locdb/,
you must manually synch the file to all the cluster nodes.
Note: When creating the GSLB site, make sure that you specify the cluster IP
address and public cluster IP address (needed only when the cluster is deployed
208
Citrix NetScaler System Guide
behind a NAT device). These parameters are required to ensure the availability of
the GSLB auto-sync functionality.
add gslb site <siteName> <siteType> <siteIPAddress> -publicIP <ip_addr> -clip
<ip_addr> <publicCLIP>
Note: Enable the sticky option if you want to set up GSLB based on VPN users.
Note: Make sure that the IP address of the local GSLB site IP address is striped
(available across all cluster nodes).
5. Bind the ADNS (or ADNS-TCP) service or the DNS (or DNS-TCP) load balancing
virtual server to the node group.
To bind the ADNS service:
209
Chapter 5 Clustering
For the detailed configurations to be performed, see the description provided in the
CLI procedure mentioned above.
w Before configuring cache redirection, make sure that you have connected all nodes
to the external switch and that you have linksets configured. Otherwise, client
requests will be dropped.
w When MAC mode is enabled on a load balancing virtual server, make sure MBF mode
is enabled on the cluster by using the enable ns mode MBF command. Otherwise,
the requests are sent to origin server directly instead of being sent to the cache
server.
To use L2 mode in a cluster setup, you must make sure of the following:
w Spotted IP addresses must be available on all the nodes as required.
w Linksets must be used to communicate with the external network.
w Asymmetric topologies or asymmetric cluster LA groups are not supported.
w Cluster LA group is recommended.
w Traffic is distributed between the cluster nodes only for deployments where services
exist.
Backplane on LA Channel
In this deployment, LA channels are used for the cluster backplane.
210
Citrix NetScaler System Guide
c. Log on to the nodes 10.102.29.70 and 10.102.29.80 to join the nodes to the
cluster.
As seen in the above commands the interfaces 0/1/1, 1/1/1, and 2/1/1 are
configured as the backplane interfaces of the three cluster nodes.
2. Log on to the cluster IP address and do the following:
a. Create the LA channels for nodes NS0 and NS1.
211
Chapter 5 Clustering
To deploy a cluster with a common interface for the client and server and a
different interface for the cluster backplane
212
Citrix NetScaler System Guide
c. Log on to the nodes 10.102.29.70 and 10.102.29.80 to join the nodes to the
cluster.
As seen in the above commands the interfaces 0/1/1, 1/1/1, and 2/1/1 are
configured as the backplane interfaces of the three cluster nodes.
2. On the cluster IP address, create VLANs for the backplane interfaces and for the
client and server interfaces.
3. On the switch, create VLANs for the interfaces corresponding to the backplane
interfaces and the client and server interfaces. The following sample
configurations are provided for the Cisco Nexus 7000 C7010 Release 5.2(1) switch.
Similar configurations must be performed on other switches.
213
Chapter 5 Clustering
To deploy a cluster with a common switch for the client, server, and backplane
214
Citrix NetScaler System Guide
c. Log on to the nodes 10.102.29.70 and 10.102.29.80 to join the nodes to the
cluster.
As seen in the above commands the interfaces 0/1/1, 1/1/1, and 2/1/1 are
configured as the backplane interfaces of the three cluster nodes.
2. On the cluster IP address, create VLANs for the backplane, client, and server
interfaces.
3. On the switch, create VLANs for the interfaces corresponding to the backplane
interfaces and the client and server interfaces. The following sample
configurations are provided for the Cisco Nexus 7000 C7010 Release 5.2(1) switch.
Similar configurations must be performed on other switches.
215
Chapter 5 Clustering
To deploy a cluster with the same switch for the clients and servers and a different
switch for the cluster backplane
216
Citrix NetScaler System Guide
a. Log on to the first node that you want to add to the cluster and do the
following:
c. Log on to the nodes 10.102.29.70 and 10.102.29.80 to join the nodes to the
cluster.
As seen in the above commands the interfaces 0/1/1, 1/1/1, and 2/1/1 are
configured as the backplane interfaces of the three cluster nodes.
2. On the cluster IP address, create VLANs for the backplane, client, and server
interfaces.
3. On the switch, create VLANs for the interfaces corresponding to the backplane
interfaces and the client and server interfaces. The following sample
configurations are provided for the Cisco Nexus 7000 C7010 Release 5.2(1) switch.
Similar configurations must be performed on other switches.
217
Chapter 5 Clustering
interface Ethernet2/48
switchport access vlan 200
switchport mode access
end
The cluster configurations will be the same as the other deployments scenarios. Most of
the client-side configurations will be done on the client-side switches.
218
Citrix NetScaler System Guide
save ns config
reboot -warm
3. Join the added nodes to the cluster. This step is not applicable for the first node.
a. Log on to each newly added node.
b. Join the node to the cluster.
save ns config
reboot -warm
219
Chapter 5 Clustering
add vlan 97
v. Add a spotted SNIP on each node and enable dynamic routing on it.
220
Citrix NetScaler System Guide
If you are not able to find the issue by using the above two approaches, you can use
one of the following:
w Isolate the source of the failure. Try bypassing the cluster to reach the server. If
the attempt is successful, the problem is probably with the cluster setup.
w Check the commands recently executed. Run the history command to check the
recent configurations performed on the cluster. You can also review the ns.conf
file to verify the configurations that have been implemented.
w Check the ns.log files. Use the log files, available in the /var/log/ directory of
each node, to identify the commands executed, status of commands, and the state
changes.
w Check the newnslog files. Use the newnslog files, available in the /var/nslog/
directory of each node, to identify the events that have occurred on the cluster
nodes. You can view multiple newnslog files as a single file, by copying the files to a
single directory, and then running the following command:
If you still cannot resolve the issue, you can try tracing the packets on the cluster or
use the show techsupport -scope cluster command to send the report to the
technical support team.
221
Chapter 5 Clustering
You can use the nstrace utility from the NetScaler command line or the NetScaler shell.
You can view the status by executing the show nstrace command. You can stop tracing
the packets by executing the stop nstrace command.
Note: You can also run the nstrace utility from the NetScaler shell by executing the
nstrace.sh file. However, it is recommended that you use the nstrace utility through
the NetScaler command line interface.
Run the start nstrace command on the cluster IP address. The command is propagated
and executed on all the cluster nodes. The trace files are stored in individual cluster
nodes in the /var/nstrace/<date-timestamp> directory. The trace file names are
of the form nstrace<id>_node<id>.cap.
You can use the trace files of each node to debug the nodes operations. But if you want
the trace files of all cluster nodes in one location, you must run the stop nstrace
command on the cluster IP address. The trace files of all the nodes are downloaded on
the cluster configuration coordinator in the /var/nstrace/<date-timestamp>
directory as follows:
222
Citrix NetScaler System Guide
where,
w srcdir is the directory from which the trace files are merged. All trace files within
this directory are merged into a single file.
w dstdir is the directory where the merged trace file are created.
w filename is the name of the trace file that is created.
w filesize is the size of the trace file.
Examples
Following are some examples of using the nstrace utility to filter packets.
223
Chapter 5 Clustering
w To trace the packets from a source IP address 10.102.34.201 or from a system whose
source port is greater than 80 and the service name is not "s1":
Using classic expressions
224
Citrix NetScaler System Guide
While joining a node to the cluster, I get the following message, "ERROR: License
mismatch between the configuration coordinator and the local node." What must I
do to resolve this error?
The appliance that you are joining to the cluster must have the same licenses as the
configuration coordinator. This error occurs when the licenses on the node you are
joining do not match the licenses on the configuration coordinator. To resolve this
error, run the following commands on both the nodes and compare the outputs.
From the command line:
w show ns hardware
w show ns license
From the shell:
What must I do when the configurations of a cluster node are not in synch with the
cluster configurations?
In most cases, the configurations are automatically synchronized between all the
cluster nodes. However, if you feel that the configurations are not synchronized on a
specific node, you must force the synchronization by executing the force cluster
sync command from the node that you want to synchronize. For more information,
see "Synchronizing Cluster Configurations".
When configuring a cluster node, I get the following message, "ERROR: Session is
read-only; connect to the cluster IP address to modify the configuration."
All configurations on a cluster must be done through the cluster IP address and the
configurations are propagated to the other cluster nodes. All sessions established
through the NetScaler IP (NSIP) address of individual nodes are read-only.
Why does the node state show "INACTIVE" when the node health shows "UP"?
A healthy node can be in the INACTIVE state for a number of reasons. A scan of
ns.log or error counters can help you determine the exact reason.
How can I resolve the health of a node when its health shows "NOT UP"?
Node health "Not UP" indicates that there are some issues with the node. To know
the root cause, you must run the show cluster node command. This command
displays the node properties and the reason for the node failure.
What must I do when the health of a node shows as "NOT UP" and the reason
indicates that configuration commands have failed on a node?
This issue arises when some commands are not executed on the cluster nodes. In
such cases, you must make sure that the configurations are synchronized using one of
the following options:
w If some of the cluster nodes are in this state, you must perform the force cluster
synchronization operation on those nodes. For more information, see
"Synchronizing Cluster Configurations".
w If all cluster nodes are in this state, you must disable and then enable the cluster
instance on all the cluster nodes.
225
Chapter 5 Clustering
When I run the set vserver command, I get the following message, "No such
resource." What must I do to resolve this issue?
The set vserver command is not supported in clustering. The unset vserver,
enable vserver, disable vserver, and rm vserver commands are also not
supported. However, the show vserver command is supported.
I cannot configure the cluster over a Telnet session. What must I do?
Over a telnet session, the cluster IP address can be accessed only in read-only mode.
Therefore, you cannot configure a cluster over a telnet session.
I notice a significant time difference across the cluster nodes. What must I do to
resolve this issue?
When PTP packets are dropped due to backplane switch or if the physical resources
are over-committed in a virtual environment, the time will not get synchronized.
To synchronize the times, you must do the following on the cluster IP address:
1. Disable PTP.
What must I do, if there is no connectivity to the cluster IP address and the NSIP
address of a cluster node?
If you cannot access to the cluster IP address or the NSIP of a cluster node, you must
access the appliance through the serial console.
If the NSIP address is reachable, you can SSH to the cluster IP address from the shell
by executing the following command at the shell prompt:
Some nodes of the cluster have two default routes. How can I remove the second
default route from the cluster node?
To delete the additional default route, do the following on each node that has the
extra route:
1. Disable the cluster instance.
disable cluster instance <clId>
2. Remove the route.
rm route <network> <netmask> <gateway>
226
Citrix NetScaler System Guide
The cluster functionality gets affected when an existing cluster node comes online.
What must I do to resolve this issue?
If RPC password of node is changed from the cluster IP address when that node is out
of the cluster, then, when the node comes online, there is a mismatch in rpc
credentials and this could affect cluster functionality. To solve this issue, use the set
ns rpcNode command to update the password on the NSIP of the node which has
come online.
Clustering FAQs
How many NetScaler appliances can I have in a cluster?
A NetScaler cluster can include as few as 2 or as many as 32 NetScaler nCore
hardware or virtual appliances.
Can a cluster have NetScaler appliances from different networks?
No. The current cluster implementation requires that all cluster nodes be in the
same network.
Can a NetScaler appliance be a part of multiple clusters?
No. An appliance can belong to only one cluster.
How can I set the hostname for a cluster node?
The hostname of a cluster node must be specified by executing the set ns hostname
command through the cluster IP address. For example, to set the hostname of the
cluster node with ID 2, the command is:
227
Chapter 5 Clustering
cleared. To use the configurations that are available on each of the individual
appliances, you must:
1. Create a single *.conf file for all the configurations.
2. Edit the configuration file to remove features that are not supported in a cluster
environment.
3. Update the naming convention of interfaces from 2-tuple (u/c) format to 3-tuple
(n/u/c) format.
4. Apply the configurations to the configuration coordinator node of the cluster by
using the batch command.
Can a cluster node that is not connected to the client or server network still serve
traffic?
Yes. The cluster supports a traffic distribution mechanism called linksets, which
allows unconnected nodes to serve traffic by using the interfaces of connected
nodes. The unconnected nodes communicate with the connected nodes through the
cluster backplane.
Can I execute commands from the NSIP address of a cluster node?
No. Access to individual cluster nodes through the NetScaler IP (NSIP) addresses is
read-only. Therefore, when you log on to the NSIP address of a cluster node you can
only view the configurations and the statistics. You cannot configure anything.
However, there are some operations you can execute from the NSIP address of a
cluster node.
228
Citrix NetScaler System Guide
What details must I have available when I contact technical support for cluster-
related issues?
The NetScaler provides a show techsupport -scope cluster command that
extracts configuration data, statistical information, and logs of all the cluster nodes.
You must run this command on the cluster IP address.
The output of this command is saved in a file named
collector_cluster_<nsip_CCO>_P_<date-timestamp>.tar.gz which is
available in the /var/tmp/support/cluster/ directory of the configuration
coordinator.
Send this archive to the technical support team to debug the issue.
229
Chapter 5 Clustering
> vtysh
ns# owner-node 0 1
ns(node-0 1)# show cluster state
ns(node-0 1)# exit-cluster-node
ns#
How can I specify the node for which I want to set the LACP system priority?
Applicable for NetScaler 10.1 and later releases.
In a cluster, you must set that node as the owner node by using the set lacp
command.
For example: To set the LACP system priority for node with ID 2:
Note:
w The FIS name for each cluster node must be unique.
230
Citrix NetScaler System Guide
w A cluster LA channel can be added to a FIS. You must make sure that the
cluster LA channel has a local interface as a member interface.
Note:
w If the "strict" parameter of the node group is "Yes", the net profile must contain
a minimum of one IP address from each node of the node group member.
w If the "strict" parameter of the node group is "No", the net profile must include
at least one IP address from each of the cluster nodes.
w If the above recommendations are not followed, the net profile configurations
will not be honored and the USIP/USNIP settings will be used.
shutdown
Shuts down only the configuration coordinator.
reboot
Reboots only the configuration coordinator.
rm cluster instance
Removes the cluster instance from the node that you are executing the command on.
Note: All the show and statistics commands are allowed as they do not involve any
change in configurations.
231
Chapter 5 Clustering
232
Chapter 6
High Availability
Configuring Synchronization The secondary node monitors the primary by sending periodic
messages (often called heartbeat messages or health checks)
Synchronizing Configuration to determine whether the primary node is accepting
Files in a High Availability connections. If a health check fails, the secondary node
Setup retries the connection for a specified period, after which it
Configuring Command determines that the primary node is not functioning normally.
Propagation The secondary node then takes over for the primary (a
process called failover).
Configuring Fail-Safe Mode
After a failover, all clients must reestablish their connections
Configuring Virtual MAC to the managed servers, but the session persistence rules are
Addresses maintained as they were before the failover.
Configuring High Availability With Web server logging persistence enabled, no log data is
Nodes in Different Subnets lost due to the failover. For logging persistence to be enabled,
Configuring Route Monitors the log server configuration must carry entries for both
systems in the log.conf file.
Limiting Failovers Caused by
Route Monitors in non-INC The following figure shows a network configuration with an
mode HA pair.
Configuring FIS
Understanding the Causes of
Failover
Forcing a Node to Fail Over
Forcing the Secondary Node
to Stay Secondary
Forcing the Primary Node to
Stay Primary
233
Chapter 6 High Availability
234
Citrix NetScaler System Guide
One RPC node exists on each NetScaler. This node stores the password, which is
checked against the password provided by the contacting system. To communicate
with other systems, each NetScaler requires knowledge of those systems, including
how to authenticate on those systems. RPC nodes maintain this information, which
includes the IP addresses of the other systems, and the passwords they require for
authentication.
RPC nodes are implicitly created when adding a node or adding a Global Server Load
Balancing (GSLB) site. You cannot create or delete RPC nodes manually.
Note: If the NetScaler appliances in a high availability setup are configured in one-
arm mode, you must disable all system interfaces except the one connected to the
switch or hub.
235
Chapter 6 High Availability
Note: The configuration utility provides an option that avoids having to log on to the
second appliance.
The following figure shows a simple HA setup, in which both nodes are in same subnet.
236
Citrix NetScaler System Guide
Note: To ensure that each node in the high availability configuration has the same
settings, you should synchronize your SSL certificates, startup scripts, and other
configuration files with those on the primary node.
237
Chapter 6 High Availability
w show ha node
Example
Example
238
Citrix NetScaler System Guide
Removing a Node
If you remove a node, the nodes are no longer in high availability configuration.
rm ha node <id>
Example
> rm ha node 2
Done
Note: You can use the Network Visualizer to view the NetScaler appliances that are
configured as a high availability (HA) pair and perform high availability configuration
tasks. For more information, see "Using the Network Visualizer."
239
Chapter 6 High Availability
Configuring Synchronization
Synchronization is a process of duplicating the configuration of the primary node on the
secondary node. The purpose of synchronization is to ensure that there is no loss of
configuration information between the primary and the secondary nodes, regardless of
the number of failovers that occur. Synchronization uses port 3010.
240
Citrix NetScaler System Guide
force HA sync
To perform the synchronization, you can use the command line interface or the
configuration utility at either the primary or the secondary node. Files located on the
secondary that are specific to the secondary (not present on the primary) are not
deleted during the synchronization.
Example
241
Chapter 6 High Availability
242
Citrix NetScaler System Guide
The following table shows some of the fail-safe cases. The NOT_UP state means that
the node failed the health check yet it is partially available. The UP state means that
the node passed the health check.
243
Chapter 6 High Availability
Example
In an HA setup, the primary node owns all of the floating IP addresses, such as the
MIPs, SNIPs, and VIPs. The primary node responds to Address Resolution Protocol (ARP)
requests for these IP addresses with its own MAC address. As a result, the ARP table of
an external device (for example, an upstream router) is updated with the floating IP
address and the primary node's MAC address.
When a failover occurs, the secondary node takes over as the new primary node. It
then uses Gratuitous ARP (GARP) to advertise the floating IP addresses that it acquired
from the primary. However, the MAC address that the new primary advertises is the
MAC address of its own interface.
244
Citrix NetScaler System Guide
Some devices (notably a few routers) do not accept the GARP messages generated by
the NetScaler appliance. As a result, some external devices retain the old IP to MAC
mapping advertised by the old primary node. This can result in a site going down.
You can overcome this problem by configuring a VMAC on both nodes of an HA pair.
Both nodes then possess identical MAC addresses. Therefore, when failover occurs, the
MAC address of the secondary node remains unchanged, and the ARP tables on the
external devices do not need to be updated.
To create a VMAC, you need to first create a Virtual Router ID (VRID) and bind it to an
interface. (In an HA setup, you need to bind the VRID to the interfaces on both nodes.)
Once the VRID is bound to an interface, the system generates a VMAC with the VRID as
the last octet.
The generic VMAC is of the form 00:00:5e:00:01:<VRID>. For example, if you create a
VRID with a value of 60 and bind it to an interface, the resulting VMAC is 00:00:5e:
00:01:3c, where 3c is the hex representation of the VRID. You can create 255 VRIDs
with values from 1 to 255.
Example
245
Chapter 6 High Availability
rm vrid <id>
Example
rm vrid 100s
246
Citrix NetScaler System Guide
Example
Removing a VMAC6
To remove an IPv4 virtual MAC, you delete its virtual router ID.
rm vrid6 <id>
Example
rm vrid6 100s
247
Chapter 6 High Availability
In the figure, the systems NS1 and NS2 are connected to two separate routers, R3 and
R4, on two different subnets. The NetScaler appliances exchange heartbeat packets
through the routers. This configuration could be expanded to accommodate
deployments involving any number of interfaces.
Note: If you use static routing on your network, you must add static routes between all
the systems to ensure that heartbeat packets are sent and received successfully. (If
you use dynamic routing on your systems, static routes are unnecessary.)
If the nodes in an HA pair reside on two separate networks, the primary and secondary
node must have independent network configurations. This means that nodes on
different networks cannot share entities such as MIPs, SNIPs, VLANs, and routes. This
type of configuration, where the nodes in an HA pair have different configurable
parameters, is known as Independent Network Configuration (INC) or Symmetric
Network Configuration (SNC).
The following table summarizes the configurable entities and options for an INC, and
shows how they must be set on each node.
248
Citrix NetScaler System Guide
VIPs Floating.
When you add an HA node, you must disable the HA monitor for each interface that is
not connected or not being used for traffic. For CLI users, this is a separate procedure.
249
Chapter 6 High Availability
Example
Example
Removing a Node
If you remove a node, the nodes are no longer in high availability configuration.
Example
> rm ha node 2
Done
250
Citrix NetScaler System Guide
Note: You can use the Network Visualizer to view the NetScaler appliances that are
configured as a high availability (HA) pair and perform high availability configuration
tasks. For more information, see "Using the Network Visualizer."
Example
251
Chapter 6 High Availability
Example
However, for a node, you can limit the number of failovers for a given interval by
setting the Maximum Number of Flips and Maximum Flip Time parameters on the nodes.
When either limit is reached, no more failovers occur, and the node is assigned as
primary even if any route monitor fails on that node. If the node is then able to reach
all of the monitored routes, the next monitor failure triggers resetting of the Maximum
Number of Flips and Maximum Flip Time parameters on the node and starting the time
specified in the Maximum Flip Time parameter.
These parameters are set independently on each node and therefore are neither
propagated nor synchronized.
Maximum number of failovers allowed, within the Maximum Flip Time interval, for
the node in HA in non INC mode, if the failovers are caused by route-monitor failure.
252
Citrix NetScaler System Guide
Example
253
Chapter 6 High Availability
Done
Configuring FIS
Link redundancy is a way to prevent failover by grouping interfaces so that, when one
interface fails, other functioning interfaces are still available. The link redundancy
feature allows you to group the two interfaces into a failover interface set (FIS), which
prevents the failure of a single link from causing failover to the secondary system
unless all of the interfaces on the primary system are nonfunctional.
Each interface in an FIS maintains independent bridge entries. HA MON interfaces that
are not bound to an FIS are known as critical interfaces (CI) because if any of them
fails, failover is triggered.
Example
254
Citrix NetScaler System Guide
Example
Removing an FIS
When the FIS is removed, its interfaces are marked as critical interfaces.
rm fis <name>
Example
255
Chapter 6 High Availability
3. The primary node does not receive any heartbeat packets on its network interfaces
for three seconds.
4. On the primary node, a network interface that is not part of a Failover Interface
Set (FIS) or a Link Aggregation (LA) channel and has the HA Monitor (HAMON)
enabled, fails. (See Note: 2.)
5. On the primary node, all interfaces in an FIS fail. (See Note: 2.)
6. On the primary node, an LA channel with HAMON enabled fails. (See Note: 2.)
7. On the primary node, all interfaces fail (see Note: 2). In this case, failover occurs
regardless of the HAMON configuration.
8. On the primary node, all interfaces are manually disabled. In this case, failover
occurs regardless of the HAMON configuration.
9. You force a failover by issuing the force failover command on either node.
10. A route monitor that is bound to the primary node goes DOWN.
Note: 1. For more information about setting the dead interval, see Configuring the
Communication Intervals. Possible causes for a node not receiving heartbeat
packets from a peer node include:
A network configuration problem prevents heartbeats from traversing the
network between the HA nodes.
The peer node experiences a hardware or software failure that causes it to
freeze (hang), reboot, or otherwise stop processing and forwarding heartbeat
packets.
Note: 2. In this case, fail means that the interface was enabled but goes to the
DOWN state, as can be seen from the show interface command or from the
configuration utility. Possible causes for an enabled interface to be in the DOWN
state are LINK DOWN and TXSTALL.
256
Citrix NetScaler System Guide
The NetScaler appliance displays a warning message if it detects a potential issue when
you run the force failover command. The message includes the information that
triggered the warning, and requests confirmation before proceeding.
You can force a failover on a primary node, secondary node, and when nodes are in
listen mode.
If the secondary node is DOWN, the force failover command returns the following
error message: "Operation not possible due to invalid peer state. Rectify and retry."
If the secondary system is in the claiming state or inactive, it returns the following
error message: "Operation not possible now. Please wait for system to stabilize
before retrying."
w Forcing Failover on the Secondary Node.
If you run the force failover command from the secondary node, the secondary node
becomes primary and the primary node becomes secondary. A force failover can
occur only if the secondary nodes health is good and it is not configured to stay
secondary.
If the secondary node cannot become the primary node, or if secondary node was
configured to stay secondary (using the STAYSECONDARY option), the node displays
the following error message: "Operation not possible as my state is invalid. View the
node for more information."
w Forcing Failover When Nodes Are in Listen Mode.
When the two nodes of an HA pair are running different versions of the system
software, the node running the higher version switches to the listen mode. In this
mode, neither command propagation nor synchronization works.
Before upgrading the system software on both nodes, you should test the new
version on one of the nodes. To do this, you need to force a failover on the system
that has already been upgraded. The upgraded system then takes over as the
primary node, but neither command propagation or synchronization occurs. Also, all
connections need to be re-established.
force HA failover
Navigate to System > High Availability and, on the Nodes tab, select the node, in the
Action list, select Force Failover.
257
Chapter 6 High Availability
For example, suppose the primary node needs to be upgraded and the process will take
a few seconds. During the upgrade, the primary node may go down for a few seconds,
but you do not want the secondary node to take over; you want it to remain the
secondary node even if it detects a failure in the primary node.
When you force the secondary node to stay secondary, it will remain secondary even if
the primary node goes down. Also, when you force the status of a node in an HA pair to
stay secondary, it does not participate in HA state machine transitions. The status of
the node is displayed as STAYSECONDARY.
Forcing the node to stay secondary works on both standalone and secondary nodes. On
a standalone node, you must use this option before you can add a node to create an HA
pair. When you add the new node, the existing node continues to function as the
primary node, and the new node becomes the secondary node.
Note: When you force a system to remain secondary, the forcing process is not
propagated or synchronized. It affects only the node on which you run the command.
On a standalone system, you must run this command before you can add a node to
create an HA pair. When you add the new node, it becomes the primary node. The
existing node stops processing traffic and becomes the secondary node in the HA pair.
258
Citrix NetScaler System Guide
259
Chapter 6 High Availability
High Availability
What are the various ports used to exchange the HA-related information between
the nodes in an HA configuration?
In an HA configuration, both nodes use the following ports to exchange HA related
information:
w UDP Port 3003, to exchange heartbeat packets.
w Port 3010, for synchronization and command propagation.
260
Citrix NetScaler System Guide
Does a configuration added to the secondary node get synchronized on the primary?
No, a configuration added to the secondary node is not synchronized to the primary.
What could be the reason for both nodes claiming to be the primary in an HA
configuration?
The most likely reason is that the primary and secondary nodes are both healthy but
the secondary does not receive the heartbeat packets from the primary. The problem
could be with the network between the nodes.
Does an HA configuration run into any issues if you deploy the two nodes with
different system clock settings?
Different system-clock settings on the two nodes can cause the following issues:
w The time stamps in the log file entries do not match. This situation makes it
difficult to analyze the log entries for any issues.
w After a failover, you might have problems with any type of cookie based
persistence for load balancing. A significant difference between the times can
cause a cookie to expire sooner than expected, resulting in termination of the
persistence session.
w Similar considerations apply to any time related decisions on the nodes.
What are the conditions for failure of the force HA sync command?
Forced synchronization fails in any of the following circumstances:
w You force synchronization when synchronization is already in progress.
w You force synchronization on a standalone NetScaler appliance.
w The secondary node is disabled.
w HA synchronization is disabled on the current secondary node.
w HA propagation is disabled on the current primary node and you force
synchronization from the primary.
261
Chapter 6 High Availability
What are the conditions for failure of the sync HA files command?
Synchronizing configuration files fail in either of the following circumstances:
w On a standalone system.
w With the secondary node disabled.
What are the conditions for failure of the force failover command?
A forced failover fails in any of the following circumstances:
w You force failover on a standalone system.
w The secondary node is disabled.
w The secondary node is configured to remain secondary.
w The primary node is configured to remain primary.
w The state of the peer node is unknown.
w Issue
The inability of the NetScaler appliances to pair the NetScaler appliances in a high
availability setup.
Cause
Network connectivity
Resolution
Verify that both the appliances are connected to the switch and the interfaces
are enabled.
Cause
Mismatch in the Password for the default Administrator account
Resolution
262
Citrix NetScaler System Guide
IP conflict
Resolution
Verify that both the appliances have unique NetScaler IP (NSIP) address. The
appliances should not have the same NSIP address.
Cause
Node ID mismatch
Resolution
Verify that the Node ID Configuration on both the appliances is unique. The
appliances should not have the same Node ID configuration. Additionally, you
must assign value for a Node ID between 1 and 64.
Cause
Mismatch in the password of the RPC node
Resolution
Verify that both the nodes have the same RPC node password.
Cause
An administrator has disabled the remote node
Resolution
Resolution
Resolution
Verify that the UDP port 3003 is not blocked for communication between the
appliances.
w Issue
The NetScaler appliance is not able to synchronize the configuration.
Cause
A Firewall application is blocking the required port.
Resolution
263
Chapter 6 High Availability
Verify that the UDP port 3010 (or UDP port 3008 with secure synchronization) is
not blocked for communication between the appliances.
Cause
An administrator has disabled synchronization.
Resolution
Resolution
Resolution
Verify that the UDP port 3011 (or UDP port 3009 with secure propagation) is not
blocked for communication between the appliances.
Cause
An administrator has disabled command propagation.
Resolution
Resolution
Resolution
264
Citrix NetScaler System Guide
Resolution
Set the secondary high availability status of the secondary node to Enable from
Stay Secondary.
w Issue
The secondary appliance does not receive any traffic after the failover process.
Cause
The upstream router does not understand GARP messages of NetScaler appliance.
Resolution
265
Chapter 6 High Availability
266
Chapter 7
Networking
267
Chapter 7 Networking
IP Addressing
Before you can configure the NetScaler appliance, you must assign the NetScaler IP
Address (NSIP), also known as the Management IP address. You can also create other
NetScaler-owned IP addresses for abstracting servers and establishing connections with
the servers. In this type of configuration, the appliance serves as a proxy for the
abstracted servers. You can also proxy connections by using network address
translations (INAT and RNAT). When proxying connections, the appliance can behave
either as a bridging (Layer 2) device or as a packet forwarding (Layer 3) device. To
make packet forwarding more efficient, you can configure static ARP entries. For IPv6,
you can configure neighbor discovery (ND).
268
Citrix NetScaler System Guide
Example
In some situations, you need to customize VIP attributes or enable or disable a VIP
address. A VIP address is usually associated with a virtual server, and some of the VIP
attributes are customized to meet the requirements of the virtual server. You can host
the same virtual server on multiple NetScaler appliances residing on the same
broadcast domain, by using ARP and ICMP attributes. After you add a VIP (or any IP
address), the NetScaler sends, and then responds to, ARP requests. VIPs are the only
NetScaler-owned IP addresses that can be disabled. When a VIP address is disabled, the
virtual server using it goes down and does not respond to ARP, ICMP, or L4 service
requests.
As an alternative to creating VIP addresses one at a time, you can specify a consecutive
range of VIP addresses.
269
Chapter 7 Networking
Example
Example
w enable ns ip <IPAddress>
w show ns ip <IPAddress>
w disable ns ip <IPAddress>
w show ns ip <IPAddress>
270
Citrix NetScaler System Guide
Example
IP: 10.102.29.79
Netmask: 255.255.255.255
Type: VIP
state: Enabled
arp: Enabled
icmp: Enabled
vserver: Enabled
management access: Disabled
telnet: Disabled
ftp: Disabled
ssh: Disabled
gui: Disabled
snmp: Disabled
Restrict access: Disabled
dynamic routing: Disabled
hostroute: Disabled
Done
> disable ns ip 10.102.29.79
Done
> show ns ip 10.102.29.79
IP: 10.102.29.79
Netmask: 255.255.255.255
Type: VIP
state: Disabled
arp: Enabled
icmp: Enabled
vserver: Enabled
management access: Disabled
telnet: Disabled
ftp: Disabled
ssh: Disabled
gui: Disabled
snmp: Disabled
Restrict access: Disabled
dynamic routing: Disabled
hostroute: Disabled
Done
271
Chapter 7 Networking
For example, if virtual servers V1, of type HTTP, and V2, of type HTTPs, share VIP
address 10.102.29.45 on a NetScaler appliance, you can configure the appliance to not
respond to any ARP request for VIP 10.102.29.45 if both V1 and V2 are in the DOWN
state.
The following three options are available for configuring ARP-response suppression for
a virtual IP address.
w NONE. The NetScaler appliance responds to any ARP request for the VIP address,
irrespective of the state of the virtual servers associated with the address.
w ONE VSERVER. The NetScaler appliance responds to any ARP request for the VIP
address if at least one of the associated virtual servers is in UP state.
w ALL VSERVER. The NetScaler appliance responds to any ARP request for the VIP
address if all of the associated virtual servers are in UP state.
Following table shows the sample behavior of NetScaler appliance for a VIP configured
with two virtual servers:
NONE
V1 UP UP DOWN DOWN
V2 UP DOWN UP DOWN
ONE VSERVER
V1 UP UP DOWN DOWN
V2 UP DOWN UP DOWN
ALL VSERVER
272
Citrix NetScaler System Guide
V1 UP UP DOWN DOWN
V2 UP DOWN UP DOWN
Respond to an Yes No No No
ARP request
for this VIP?
Consider an example where you want to test the performance of two virtual servers, V1
and V2, which have the same VIP address but are of different types and are each
configured on NetScaler appliances NS1 and NS2. Let's call the shared VIP address VIP1.
V1 load balances servers S1, S2, and S3. V2 load balances servers S4 and S5.
On both NS1 and NS2, for VIP1, the ARP suppression parameter is set to ALL_VSERVER.
If you want to test the performance of V1 and V2 on NS1, you must manually disable V1
and V2 on NS2, so that NS2 does not respond to any ARP request for VIP1.
Figure 7-1.
273
Chapter 7 Networking
3. NS1 replies with source MAC address MAC1 and source IP address VIP1. NS2 does
not reply to the ARP request.
4. SW1 learns the port for VIP1 from the ARP reply and updates its bridge table, and
R1 updates the ARP entry with MAC1 and VIP1.
5. R1 forwards the packet to address VIP1 on NS1.
6. NS1's load balancing algorithm selects server S2, and NS1 opens a connection
between one of its SNIP or MIP addresses and S2. When S2 sends a response to the
client, the response returns by the same path.
7. Now you want to test the performance of V1 and V2 on NS2, so you enable V1 and
V2 on NS2 and disable them on NS1. NS2 now broadcasts an ARP message for VIP1.
In the message, MAC2 is the source MAC address and VIP1 is the source IP address.
8. SW1 learns the port number for reaching MAC2 from the ARP broadcast and
updates its bridge table to send subsequent client requests for VIP1 to NS2. R1
updates its ARP table.
9. Now suppose the ARP entry for VIP1 times out in the ARP table of R1, and client C1
sends a request for V1. Because R1 does not have an APR entry for VIP1, it
broadcasts an ARP request for VIP1.
10. NS2 replies with a source MAC address and VIP1 as the source IP address. NS1 does
not reply to the ARP request.
Example
The NetScaler ADC uses the subnet IP address as a source IP address to proxy client
connections to servers. It also uses the subnet IP address when generating its own
274
Citrix NetScaler System Guide
Depending on your network topology, you might have to configure one or more SNIPs
for different scenarios. Following are three typical scenarios in which you have to
configure SNIPs:
w Using SNIPs for a Directly Connected Server Subnet
w Using SNIPs for Server Subnets Connected through a Router
w Using SNIPs for Multiple Server Subnets (VLANs) on an L2 Switch
To configure a SNIP address on a NetScaler ADC, you add the SNIP address and then
enable global Use Subnet IP (USNIP) mode.
As an alternative to creating SNIPs one at a time, you can specify a consecutive range
of SNIPs.
Example
Example
275
Chapter 7 Networking
Consider an example of a load balancing setup in which load balancing virtual server
LBVS1 on NetScaler ADC NS1 is used to load balance servers S1 and S2, which are
connected to NS1 through L2 switch SW1. S1 and S2 belong to the same subnet.
SNIP address SNIP1, which belongs to the same subnet as S1 and S2, is configured on
NS1. As soon as SNIP1 is configured, NS1 broadcasts ARP packets for SNIP1.
Services SVC-S1 and SVC-S2 on NS1 represent S1 and S2. As soon as these services are
configured, NS1 broadcasts ARP requests for S1 and S2 to resolve IP-to-MAC mapping.
After S1 and S2 respond, NS1 sends them monitoring probes at regular intervals, from
address SNIP1, to check their health.
For more information about configuring load balancing on a NetScaler ADC, see Load
Balancing.
276
Citrix NetScaler System Guide
Consider an example of a load balancing setup in which load balancing virtual server
LBVS1 on NetScaler ADC NS1 is used to load balance servers S1, S2, S3, and S4, which
are connected to NS1 through router R1.
277
Chapter 7 Networking
NetScaler ADC NS1 is connected to router R1 through subnet 192.0.1.0/24. SNIP address
SNIP1, which belongs to the same subnet as the directly connected interface to the
router (192.0.1.0/24), is configured on NS1. NS1 uses this address to communicate with
servers S1 and S2, and with servers S3 and S4.
For more information about configuring load balancing on a NetScaler ADC, see Load
Balancing.
As soon as address SNIP1 is configured, NS1 broadcasts ARP announcement packets for
SNIP1.
NS1s routing table consists of route entries for S1, S2, S3, and S4 through R1. These
route entries are either static route entries or advertised by R1 to NS1, using dynamic
routing protocols.
Services SVC-S1, SVC-S2, SVC-S3, and SVC-S4 on NS1 represent servers S1, S2, S3, and
S4. NS1 finds, in its routing tables, that these servers are reachable through R1. NS1
sends them monitoring probes at regular intervals, from address SNIP1, to check their
health.
278
Citrix NetScaler System Guide
279
Chapter 7 Networking
Consider an example of a load balancing setup in which load balancing virtual server
LBVS1 on NetScaler ADC NS1 is used to load balance servers S1 and S2, which are
connected to NS1 through L2 switch SW1. S1 and S2 belong to different subnets and are
part of VLAN 10 and VLAN20, respectively. The link between NS1 and SW1 is a trunk link
and is shared by VLAN10 and VLAN20.
For more information about configuring load balancing on a NetScaler ADC, see Load
Balancing.
Subnet IP addresses SNIP1 (for reference purposes only) and SNIP2 (for reference
purposes only) are configured on NS1. NS1 uses SNIP1 (on VLAN 10) to communicate
with server S1, and SNIP2 (on VLAN 20) to communicate with S2. As soon as SNIP1 and
SNIP2 are configured, NS1 broadcasts ARP announcement packets for SNIP1 and SNIP2.
For more information about configuring VLANs on a NetScaler ADC, see Configuring
VLANs.
Services SVC-S1 and SVC-S2 on NS1 represent servers S1 and S2. As soon as these
services are configured, NS1 broadcasts ARP requests for them. After S1 and S2
respond, NS1 sends them monitoring probes at regular intervals to check their health.
NS1 sends monitoring probes to S1 from address SNIP1, and to S2 from address SNIP2.
280
Citrix NetScaler System Guide
5. NS1 sends the request packet to S2 from SNIP2. The request packet has:
Source IP = SNIP1 (192.0.2.10)
Destination IP = IP address of S2 (192.0.2.20)
6. S2s response returns by the same path.
If the mapped IP address is the first in the subnet, the NetScaler appliance adds a route
entry, with this IP address as the gateway to reach the subnet. You can create or delete
a MIP during run time without rebooting the appliance.
As an alternative to creating MIPs one at a time, you can specify a consecutive range of
MIPs.
The following diagram shows the use of the MIP and SNIP addresses in a NetScaler
appliance that connects to the backend servers across the subnets.
281
Chapter 7 Networking
In the setup, if the NetScaler appliance and the backend servers are in the 10.1.1.0/24
subnet, then the appliance uses the MIP address to communicate to the servers.
However, if the setup has backend servers on additional subnets, such as 10.2.2.0/24,
and there is no router between the NetScaler appliance and the subnet, then you can
configure a SNIP address that has a range of 10.2.2.x/24, such as 10.2.2.9 in this case,
to communicate to the additional subnet.
You can enable to NetScaler appliance to use MIP to communicate the additional
subnet. However, if the setup has a Firewall application between the appliance and the
server, then the Firewall might prevent the traffic other than 10.2.2.0/24. In such
cases, you need a SNIP address to communicate to the servers.
Example
282
Citrix NetScaler System Guide
Example
283
Chapter 7 Networking
Mapped IP address (MIP) If a SNIP exists, you can remove the MIPs.
The NetScaler uses NSIP and SNIPs to
communicate with the servers when the
MIP is removed. Therefore, you must also
enable use SNIP (USNIP) mode.
Virtual Server IP address (VIP) Before removing a VIP, you must first
remove the vserver associated with it.
rm ns ip <IPaddress>
Example
rm ns ip 10.102.29.54
For information about using ACLs, see "Access Control Lists (ACLs)."
284
Citrix NetScaler System Guide
You can access and manage the NetScaler by using applications such as Telnet, SSH,
GUI, and FTP.
Note: Telnet and FTP are disabled on the NetScaler for security reasons. To enable
them, contact the customer support. After the applications are enabled, you can apply
the controls at the IP level.
To configure the NetScaler to respond to these applications, you need to enable the
specific management applications. If you disable management access for an IP address,
existing connections that use the IP address are not terminated, but no new
connections can be initiated.
285
Chapter 7 Networking
You can block access to these non-management applications on a MIP, SNIP, or NSIP.
When access is blocked, a user connecting to a NetScaler by using the MIP, SNIP, or NSIP
is not be able to access the non-management applications running on the underlying
operating system.
set ns ip <IPAddress> -mgmtAccess <value> -telnet <value> -ftp <value> -gui <value> -
ssh <value> -snmp <value> -restrictAccess (ENABLED | DISABLED)
Example
You can configure the NetScaler to process the packet before initiating the connection
with a server. The default behavior is to change the source and destination IP addresses
of a packet before sending the packet to the server. You can configure the NetScaler to
retain the source IP address of the packets by enabling Use Source IP mode.
286
Citrix NetScaler System Guide
Packets destined for a service are sent directly to the appropriate server, and the
NetScaler does not modify the destination IP addresses. In this case, the NetScaler
functions as a proxy.
Note: If the Use Source IP (USIP) option is enabled, NetScaler uses the IP address of
the client.
287
Chapter 7 Networking
server. The decision of whether to select a MIP or a SNIP depends on the subnet in
which the physical server resides.
If necessary, you can configure the NetScaler appliance to use the client's IP address as
source IP. Some applications need the actual IP address of the client. The following use
cases are a few examples:
w Client's IP address in the web access log is used for billing purposes or usage
analysis.
w Client's IP address is used to determine the country of origin of the client or the
originating ISP of the client. For example, many search engines such as Goggle
provide content relevant to the location to which the user belongs.
w The application must know the client's IP address to verify that the request is from a
trustworthy source.
w Sometimes, even though an application server does not need the client's IP address,
a firewall placed between the application server and the NetScaler may need the
client's IP address for filtering the traffic.
Enable Use Source IP mode (USIP) mode if you want NetScaler to use the client's IP
address for communication with the servers. By default, USIP mode is disabled. USIP
mode can be enabled globally on the NetScaler or on a specific service. If you enable it
globally, USIP is enabled by default for all subsequently created services. If you enable
USIP for a specific service, the client's IP address is used only for the traffic directed to
that service.
As an alternative to USIP mode, you have the option of inserting the client's IP address
(CIP) in the request header of the server-side connection for an application server that
needs the client's IP address.
In earlier NetScaler releases, USIP mode had the following source-port options for
server-side connections:
w Use the client's port. With this option, connections cannot be reused. For every
request from the client, a new connection is made with the physical server.
w Use proxy port. With this option, connection reuse is possible for all requests from
the same client. Before NetScaler release 8.1 this option imposed a limit of 64000
concurrent connections for all server-side connections.
In the later NetScaler releases , if USIP is enabled, the default is to use a proxy port for
server-side connections and not reuse connections. Not reusing connections may not
affect the speed of establishing connections.
By default, the Use Proxy Port option is enabled if the USIP mode is enabled.
Note: If you enable the USIP mode, it is recommended to enable the Use Proxy Port
option.
The following figure shows how the NetScaler uses IP addresses in USIP mode.
288
Citrix NetScaler System Guide
Recommended Usage
Enable USIP in the following situations:
w Load balancing of Intrusion Detection System (IDS) servers
w SMTP load balancing
w Stateless connection failover
w Sessionless load balancing
w If you use the Direct Server Return (DSR) mode
Note: When USIP is required in the one-arm mode installation of the NetScaler
appliance, make sure that the server's gateway is one of the IP addresses owned by
the NetScaler.
w If you enable USIP, set the idle timeout for server connections to a value lower than
the default value, so that idle connections are cleared quickly on the server side.
w For transparent cache redirection, if you enable USIP, enable L2CONN also.
w Because HTTP connections are not reused when USIP is enabled, a large number of
server-side connections may accumulate. Idle server connections can block
connections for other clients. Therefore, set limits on maximum number of
connections to a service. Citrix also recommends setting the HTTP server time-out
value, for a service on which USIP is enabled, to a value lower than the default, so
that idle connections are cleared quickly on the server side.
289
Chapter 7 Networking
Example
w Inbound NAT (INAT), in which the NetScaler replaces the destination IP address in
the packets generated by the client with the private IP address of the server.
w Reverse NAT (RNAT), in which the NetScaler replaces the source IP address in the
packets generated by the servers with the public NAT IP addresses.
Configuring INAT
When a client sends a packet to a NetScaler appliance that is configured for Inbound
Network Address Translation (INAT), the appliance translates the packet's public
destination IP address to a private destination IP address and forwards the packet to
the server at that address.
290
Citrix NetScaler System Guide
When the appliance forwards a packet to a server, the source IP address assigned to the
packet is determined as follows:
w If use subnet IP (USNIP) mode is enabled and use source IP (USIP) mode is disabled,
the NetScaler uses a subnet IP address (SNIP) as the source IP address.
w If USNIP mode is disabled and USIP mode is disabled, the NetScaler uses a mapped IP
address (MIP) as the source IP address.
w If USIP mode is enabled, and USNIP mode is disabled the NetScaler uses the client IP
(CIP) address as the source IP address.
w If both USIP and USNIP modes are enabled, USIP mode takes precedence.
w You can also configure the NetScaler to use a unique IP address as the source IP
address, by setting the proxyIP parameter.
w If none of the above modes are enabled and a unique IP address has not been
specified, the NetScaler attempts to use a MIP as the source IP address.
w If both USIP and USNIP modes are enabled and a unique IP address has been
specified, the order of precedence is as follows: USIP-unique IP-USNIP-MIP-Error.
To protect the NetScaler from DoS attacks, you can enable TCP proxy. However, if other
protection mechanisms are used in your network, you may want to disable them.
291
Chapter 7 Networking
Example
rm inat <name>
Example
The default public destination IP in an INAT configuration is the virtual IP (VIP) address
of the NetScaler device. Virtual servers also use VIPs. When both INAT and a virtual
server use the same IP address, the Vserver configuration overrides the INAT
configuration.
Following are a few sample configuration setup scenarios and their effects.
292
Citrix NetScaler System Guide
Case Result
You have configured a virtual server and All packets received on the NetScaler,
a service to send all data packets except those received on the specified
received on a specific NetScaler port to port, pass through the TCP engine.
the server directly. You have also
configured INAT and enabled TCP.
Configuring INAT in this manner sends all
data packets received through a TCP
engine before sending them to the
server.
You have configured a virtual server and Only packets received on the specified
a service to send all data packets of port pass through the TCP engine.
service type TCP, that are received on a
specific port on the NetScaler, to the
server after passing through the TCP
engine. You have also configured INAT
and disabled TCP. Configuring INAT in this
manner sends the data packets received
directly to the server.
You have configured a virtual server and The INAT configuration is not allowed.
a service to send all data packets
received to either of two servers. You are
attempting to configure INAT to send all
data packets received to a different
server.
You have configured INAT to send all The vserver configuration is not allowed.
received data packets directly to a
server. You are attempting to configure a
virtual server and a service to send all
data packets received to two different
servers.
For a stateless NAT46 configuration, the appliance translates an IPv4 packet to IPv6 or
an IPv6 packet to IPv4 as defined in RFCs 6145 and 2765.
293
Chapter 7 Networking
w IPv4-IPv6 INAT entryAn INAT entry defining a 1:1 relationship between an IPv4
address and an IPv6 address. In other words, an IPv4 address on the appliance
listens to connection requests on behalf of an IPv6 server. An IPv4 request packet
for this IPv4 address is translated into an IPv6 packet, and then the IPv6 packet is
sent to the IPv6 server.
The appliance translates an IPv6 response packet into an IPv4 response packet with
its source IP address field set as the IPv4 address specified in the INAT entry. The
translated packet is then sent to the client.
w NAT46 IPv6 prefixA global IPv6 prefix of length 96 bits (128-32=96) configured on
the appliance. During IPv4 packet to IPv6 packet translation, the appliance sets the
source IP address of the translated IPv6 packet to a concatenation of the NAT46 IPv6
prefix [96 bits] and the IPv4 source address [32 bits] that was received in the
request packet.
During IPv6 packet to IPv4 packet translation, the appliance sets the destination IP
address of the translated IPv4 packet to the last 32 bits of the destination IP address
of the IPv6 packet.
294
Citrix NetScaler System Guide
295
Chapter 7 Networking
Example
To set global parameters for stateless NAT46 by using the command line interface
At the command prompt, type:
296
Citrix NetScaler System Guide
Example
To set global parameters for stateless NAT46 by using the configuration utility
Navigate to System > Network, in the Settings group, click Configure INAT
Parameters.
DNS64
The NetScaler DNS64 feature responds with a synthesized DNS AAAA record to an IPv6
client sending an AAAA request for an IPv4-only domain. The DNS64 feature is used with
the NAT64 feature to enable seamless communication between IPv6-only clients and
IPv4-only servers. DNS64 enables discovery of the IPv4domain by the IPV6 only clients,
and NAT64 enables communication between the clients and servers.
For synthesizing an AAAA record, the NetScaler appliance fetches a DNS A record from
a DNS server. The DNS64 prefix is a 96-bit IPv6 prefix configured on the NetScaler
appliance. The NetScaler appliance synthesizes the AAAA record by concatenation of
the DNS64 Prefix (96 bits) and the IPv4 address (32 bits).
For enabling communication between IPv6 clients and IPv4 servers, a NetScaler
appliance with DNS64 and NAT64 configuration can deployed either on the IPv6 client
side or on the IPv4 server side. In both cases, the DNS64 configuration on the NetScaler
appliance is similar and includes a load balancing virtual server acting as a proxy server
297
Chapter 7 Networking
for DNS servers. If the NetScaler appliance is deployed on the client side, the load
balancing virtual server must be specified, on the IPv6 client, as the nameserver for a
domain.
Consider an example where a NetScaler appliance with DNS64 and NAT64 configuration
is configured on the IPv4 side. In this example, an enterprise hosts site
www.example.com on server S1, which has an IPv4 address. To enable communication
between IPv6 clients and IPv4 server S1, NetScaler appliance NS1 is deployed with a
DNS64 and stateful NAT64 configuration.
The DNS64 configuration includes DNS load balancing virtual server LBVS-DNS64-1, on
which the DNS64 option is enabled. A DNS64 policy named DNS64-Policy-1, and an
associated DNS64 action named DNS64-Action-1, are also configured on NS1, andDNS64-
Policy-1 is bound to LBVS-DNS64-1. LBVS-DNS64-1 acts as a DNS proxy server for DNS
servers DNS-1 and DNS-2.
The global DNS parameter cacherecords is enabled on the NetScaler appliance, so the
appliance caches DNS records. This setting is necessary for the DNS64 to work properly.
The following table lists the settings used in the above example:
298
Citrix NetScaler System Guide
w Rule=
CLIENT.IP.SRC.IN_SUBNE
T(2001:DB8:5001::/64)
299
Chapter 7 Networking
w The DNS64 feature of the NetScaler appliance is compliant with RFC 6174.
w The DNS64 feature of the NetScaler appliance does not support DNSSEC. The
NetScaler appliance does not synthesize an AAAA record from a DNSSEC response
received from a DNS server. A response is classified as a DNSSEC response, only if it
contains RRSIG records.
w The NetScaler appliance supports DNS64 prefix of length of only 96 bits.
w Though the DNS64 feature is used with the NAT64 feature, the DNS64 and NAT64
configurations are independent on the NetScaler appliance. For a particular flow,
you must specify the same IPv6 prefix value for the DNS64 prefix and the NAT64
prefix parameters, so that the synthesized IPv6 addresses received by the client are
routed to the particular NAT64 configuration. For more information on configuring
NAT64 on a NetScaler appliance, See "Stateful NAT64".
w The following are the different cases of DN64 processing by the NetScaler appliance:
If the AAAA response from the DNS server includes AAAA records, then each
record in the response is checked for the set of exclusion rule configured on the
NetScaler appliance for the particular DNS64 configuration. The NetScaler
removes the IPv6 addresses, whose prefix matches the exclusion rule, from the
response. If the resulting response includes at least one IPv6 record, the
NetScaler appliance forwards this response to the client, else, the appliance
synthesizes a AAAA response from the A record of the domain and sends it to the
IPv6 client.
If the AAAA response from the DNS server is an empty answer response, the
appliance requests for A resource records with the same domain name or
searches in its own records if the appliance is an authentic domain name server
for the domain. If the request results in an empty answer or error, the same is
forwarded to the client.
If the response from the DNS server includes RCODE=1 (format error), the
NetScaler appliance forwards the same to the client. If there is no response
before the timeout, the NetScaler appliance sends a response with RCODE=2
(server failure) to the client.
If the response from the DNS server includes a CNAME, the chain is followed until
the terminating A or AAAA record is reached. If the CNAME does not have any
AAAA resource records, the NetScaler appliance fetches the DNS A record to be
used for synthesizing AAAA record. The CNAME chain is added to the answer
section along with the synthesized AAAA record and then sent to the client.
w The DNS64 feature of the NetScaler appliance also supports responding to PTR
request. When a PTR request for a domain of an IPv6 address is received on the
appliance and the IPv6 address matches any of the configured DNS64 prefix, the
appliance creates a CNAME record mapping the IP6-ARPA domain into the
corresponding IN-ADDR.ARPA domain and the newly formed IN-ADDR.ARPA domain is
used for resolution. The appliance searches the local PTR records and if the records
are not present, the appliance sends a PTR request for IN-ADDR.ARPA domain to the
DNS server. The NetScaler appliance uses the response from the DNS server to
synthesize response for the initial PTR request.
300
Citrix NetScaler System Guide
Configuration Steps
Creating the required entities for stateful NAT64 configuration on the NetScaler
appliance involves the following procedures:
w Add DNS services. DNS services are logical representation of DNS servers for which
the NetScaler appliance acts as a DNS proxy server.
w Add DNS64 action and DNS64 policy and then bind the DNS64 action to the
DNS64 policy. A DNS64 policy specifies conditions to be matched against traffic for
DNS64 processing according to the settings in the associated DNS64 action. The
DNS64 action specifies the mandatory DNS64 prefix and the optional exclude rule
and mapped rule settings.
w Create a DNS load balancing virtual server and bind the DNS services and the
DNS64 policy to it. The DNS load balancing virtual server acts as a DNS proxy server
for DNS servers represented by the bound DNS services. Traffic arriving at the virtual
server is matched against the bound DNS64 policy for DNS64 processing.
Note: The command line interface has separate commands for these two tasks, but
the configuration utility combines them in a single dialog box.
w Enable caching of DNS records. Enable the global parameter for the NetScaler
appliance to cache DNS records, which are obtained through DNS proxy operations.
To create a service of type DNS by using the command line interface
At the command prompt, type:
w add service <name> <IP> <serviceType> <port>
To create a DNS load balancing virtual server by using the command line interface
At the command prompt, type:
w add lb vserver <name> DNS <IPAddress> <port> -dns64 ( ENABLED | DISABLED ) [-
bypassAAAA ( YES | NO )]
To bind the DNS services and the DNS64 policy to the DNS load balancing virtual
server by using the command line interface
At the command prompt, type:
w bind lb vserver <name> <serviceName> ...
301
Chapter 7 Networking
Example
302
Citrix NetScaler System Guide
To create a DNS load balancing virtual server and bind the DNS
services and the DNS64 policy to it by using the configuration utility
1. Navigate to Traffic Management > Load Balancing > Virtual Servers, and add a
new virtual server.
2. Set the following parameters:
Name*
IP Address*
Protocol* (Select DNS from the drop down list.)
Port*
3. Select the Enable DNS64 option.
4. In the Services pane, bind the service to the virtual server.
5. In the Policies pane, bind the policy to the virtual server.
Note: Currently the NetScaler appliance supports only one prefix to be used
commonly with all NAT 64 rules.
The NetScaler appliance considers an incoming IPv6 packet for NAT64 translation when
all of the following conditions are met:
w The incoming IPv6 packet matches the ACL6 rule bound to a NAT64 rule.
w The destination IP address of the IPv6 packet matches the NAT64 IPv6 prefix.
When an IPv6 request packet received by the NetScaler appliance matches an ACL6
defined in a NAT64 rule and the destination IP of the packet matches the NAT64 IPv6
prefix, the NetScaler appliance considers the IPv6 packet for translation.
The appliance translates this IPv6 packet to an IPv4 packet with a source IP address
matching one of the IP address bound to the netprofile defined in the NAT64 rule, and
303
Chapter 7 Networking
a destination IP address consisting of the last 32 bits of the destination IPv6 address of
the IPv6 request packet. The NetScaler appliance creates a NAT64 session for this
particular flow and forwards the packet to the IPv4 server. Subsequent responses from
the IPv4 server and requests from the IPv6 client are translated accordingly by the
appliance, on the basis of information in the particular NAT64 session.
304
Citrix NetScaler System Guide
w Source IP address
=2001:DB8:5001::30
305
Chapter 7 Networking
To add an IPset and bind multiple IPs to it by using the command line interface
At the command prompt, type:
w add ipset <name>
w bind ipset <name> <IPaddress >
306
Citrix NetScaler System Guide
Example
Configuring RNAT
In Reverse Network Address Translation (RNAT), the NetScaler appliance replaces the
source IP addresses in the packets generated by the servers with public NAT IP
addresses. By default, the appliance uses a Mapped IP address (MIP) as the NAT IP
address. You can also configure the appliance to use a unique NAT IP address for each
subnet. You can also configure RNAT by using Access Control Lists (ACLs). Use Source IP
(USIP), Use Subnet IP (USNIP), and Link Load Balancing (LLB) modes affect the
operation of RNAT. You can display statistics to monitor RNAT.
Note: The ephemeral port range for RNAT on the NetScaler appliance is 1024-65535.
307
Chapter 7 Networking
You can use either a network address or an extended ACL as the condition for an RNAT
entry:
w Using a Network address. When you use a network address, RNAT processing is
performed on all of the packets coming from the specified network.
w Using Extended ACLs. When you use ACLs, RNAT processing is performed on all
packets that match the ACLs. To configure the NetScaler appliance to use a unique
IP address for traffic that matches an ACL, you must perform the following three
tasks:
a. Configure the ACL.
b. Configure RNAT to change the source IP address and Destination Port.
c. Apply the ACL.
The following diagram illustrates RNAT configured with an ACL.
You have the following basic choices for the type of NAT IP address:
w Using a MIP or SNIP as the NAT IP Address. When using a MIP as the NAT IP address,
the NetScaler appliance replaces the source IP addresses of server-generated
packets with the a MIP. Therefore, the MIP address must be a public IP address. If
Use Subnet IP (USNIP) mode is enabled, the NetScaler can use a subnet IP address
(SNIP) as the NAT IP address.
w Using a Unique IP Address as the NAT IP Address. When using a unique IP address
as the NAT IP address, the NetScaler appliance replaces the source IP addresses of
server-generated packets with the unique IP address specified. The unique IP
address must be a public NetScaler-owned IP address. If multiple NAT IP addresses
are configured for a subnet, NAT IP selection uses the round robin algorithm.
This configuration is illustrated in the following diagram.
308
Citrix NetScaler System Guide
Examples
309
Chapter 7 Networking
Monitoring RNAT
You can display RNAT statistics to troubleshoot issues related to IP address translation.
stat rnat
310
Citrix NetScaler System Guide
Example
RNAT summary
Rate (/
s) Total
Bytes Received
0 0
Bytes Sent
0 0
Packets Received
0 0
Packets Sent
0 0
Syn Sent
0 0
Current RNAT sessions
-- 0
Done
>
The following tables describes the statistics associated with RNAT and RNAT IP.
Statistic Description
311
Chapter 7 Networking
packets, which matches a RNAT rule, is replaced according to the setting in the
RNAT rule.
w When RNAT and Use SNIP (USNIP) are configured on the NetScaler appliance,
selection of the source IP address is based on the state of USNIP, as follows:
If USNIP is off, the NetScaler appliance uses the mapped IP addresses.
If USNIP is on, the NetScaler uses a SNIP address as the NAT IP address.
This behavior does not apply when a unique NAT IP address is used.
In a topology where the NetScaler appliance performs both Link Load Balancing (LLB)
and RNAT for traffic originating from the server, the appliance selects the source IP
address based on the router. The LLB configuration determines selection of the router.
When configuring an RNAT6 rule, you can specify either an IPv6 prefix or an ACL6 as the
condition:
w Using a IPv6 network address. When you use an IPv6 prefix, the appliance performs
RNAT processing on those IPv6 packets whose IPv6 address matches the prefix.
w Using ACL6s. When you use an ACL6, the appliance performs RNAT processing on
those IPv6 packets that match the conditions specified in the ACL6.
You have one of the following options to set the NAT IP address:
w Specify a set of NetScaler owned SNIP6 and VIP6 addresses for an RNAT6 rule. The
NetScaler appliance uses any one of the IPv6 addresses from this set as a NAT IP
address for each session. The selection is based on the round robin algorithm and is
done for each session.
w Do not specify any NetScaler owned SNIP6 or VIP6 address for an RNAT6 rule. The
NetScaler appliance uses any one of the NetScaler owned SNIP6 or VIP6 addresses as
a NAT IP address. The selection is based on the next hop network to which an IPv6
packet that matches the RNAT rule is destined.
312
Citrix NetScaler System Guide
The NetScaler appliance compares the first 96 bits of the destination IP address of all
the incoming IPv6 packets to the configured prefix. If there is a match, the NetScaler
appliance generates an IPv4 packet and sets the destination IP address as the last 32
bits of the destination IP address of the matched IPv6 packet. IPv6 packets addressed
to this prefix have to be routed to the NetScaler so that the IPv6-IPv4 translation is
done by the NetScaler.
In the following diagram, 3ffe::/96 is configured as the IPv6 NAT prefix on NetScaler
NS1. The IPv6 host sends an IPv6 packet with destination IP address 3ffe::
74.125.91.105. NS1 compares the first 96 bits of the destination IP address of all the
incoming IPv6 packets to the configured prefix, and they match. NS1 then generates an
IPv4 packet and sets the destination IP address as 74.125.91.105.
313
Chapter 7 Networking
Example
314
Citrix NetScaler System Guide
Example
You can specify an ARP time-out value of from 1 through 1200 seconds.
315
Chapter 7 Networking
Example
> set arpparam -timeout 500
Done
w unset arpparam
w show arpparam
Example
> unset arpparam
Done
Router Discovery
Enables a host to discover the local routers on an attached link and automatically
configure a default router.
Prefix Discovery
Enables the host to discover the network prefixes for local destinations.
316
Citrix NetScaler System Guide
Parameter Discovery
Enables a host to discover additional operating parameters, such as MTU and the
default hop limit for outbound traffic.
Address Autoconfiguration
Enables hosts to automatically configure IP addresses for interfaces both with and
without stateful address configuration services such as DHCPv6. The NetScaler does
not support Address Autoconfiguration for Global IPv6 addresses.
Address Resolution
Equivalent to ARP in IPv4, enables a node to resolve a neighboring node's IPv6
address to its link-layer address.
Neighbor Unreachability Detection
Enables a node to determine the reachability state of a neighbor.
Duplicate Address Detection
Enables a node to determine whether an NSIP address is already in use by a
neighboring node.
Redirect
Equivalent to the IPv4 ICMP Redirect message, enables a router to redirect the host
to a better first-hop IPv6 address to reach a destination.
Example
317
Chapter 7 Networking
3) 2001::1 00:04:23:be:3c:
06( 1, 1/1) REACHABLE STATIC
Done
Example
clear nd6
Configuring IP Tunnels
An IP Tunnel is a communication channel, that can be created by using encapsulation
technologies, between two networks that do not have a routing path. Every IP packet
that is shared between the two networks is encapsulated within another packet and
then sent via the tunnel.
318
Citrix NetScaler System Guide
w NetScaler as a Decapsulator
When you configure Direct Server Return (DSR) on this NetScaler, the packet sent from
the source subnet is encapsulated by the NetScaler and sent via a router and tunnel to
the appropriate back-end server. The back-end server decapsulates the packet and
responds directly to the client, without allowing the packet to pass via the NetScaler.
NetScaler as a Decapsulator
Consider an organization having multiple data centers each having NetScalers and back-
end servers. When a packet is sent from data center A to data center B it is usually
sent via an intermediary, say a router or another NetScaler. The NetScaler processes
the packet and then forwards the packet to the back-end server. However, if an
encapsulated packet is sent, the NetScaler must be able to decapsulate the packet
before sending it to the back-end servers. To enable the NetScaler to function as a
decapsulator, a tunnel is added between the router and the NetScaler. When the
encapsulated packet, with additional header information, reaches the NetScaler, the
data packet is decapsulated i.e. the additional header information is removed, and the
packet is then forwarded to the appropriate back-end servers.
The NetScaler can also be used as a decapsulator for the Load Balancing feature,
specifically in scenarios when the number of connections on a vserver exceeds a
threshold value and all the new connections are then diverted to a back-up vserver.
Creating IP Tunnels
Note: While configuring an IP tunnel in a cluster setup, the local IP address must be a
striped SNIP or MIP address. Clustering of NetScaler 1000V appliances is not
supported.
319
Chapter 7 Networking
Example
Note: To create a new MIP or SNIP address to use as the global source IP address,
use the add ns ip command before you type the set iptunnelparam command.
320
Citrix NetScaler System Guide
Note: To create a new VIP6 or SNIP6 address to use as the global source IP address,
use the add ns ip6 command before you type the set ip6tunnelparam command.
Interfaces
Before you begin configuring interfaces, decide whether your configuration can use
MAC-based forwarding mode, and either enable or disable this system setting
accordingly. The number of interfaces in your configuration is different for the
different models of the Citrix NetScaler appliance. In addition to configuring individual
interfaces, you can logically group interfaces, using VLANs to restrict data flow within a
set of interfaces, and you can aggregate links into channels. In a high availability
setup, you can configure a virtual MAC (VMAC) address if necessary. If you use L2 mode,
you might want to modify the aging of the bridge table.
When your configuration is complete, decide whether you should enable the system
setting for path MTU discovery. NetScaler appliances can be deployed in active-active
mode using VRRP. An active-active deployment, in addition to preventing downtime,
makes efficient use of all the NetScaler appliances in the deployment. You can use the
Network Visualizer tool to view the network configuration of a NetScaler deployment
and configure interfaces, channels, VLANs, and bridge groups.
321
Chapter 7 Networking
MAC-based forwarding is useful when you use VPN devices, because it guarantees that
all traffic flowing through a VPN passes back through the same VPN device.
When MAC-based forwarding (MBF) is enabled, the NetScaler caches the MAC address
of:
w The source (a transmitting device such as router, firewall, or VPN device) of the
inbound connection.
w The server that responds to the requests.
When a server replies through the NetScaler appliance, the appliance sets the
destination MAC address of the response packet to the cached address, ensuring that
the traffic flows in a symmetric manner, and then forwards the response to the client.
The process bypasses the route table lookup and ARP lookup functions. However, when
the NetScaler initiates a connection, it uses the route and ARP tables for the lookup
function. In a direct server return configuration, you must enable MAC-based
forwarding.
Some deployment topologies may require the incoming and outgoing paths to flow
through different routers. MAC-based forwarding would break this topology design.
w When you configure link load balancing. In this case, asymmetric traffic flows are
desirable because of link costs.
322
Citrix NetScaler System Guide
w When a server uses network interface card (NIC) teaming without using LACP
(802.1ad Link Aggregation). To enable MAC-based forwarding in this situation, you
must use a layer 3 device between the NetScaler and server.
Note: MBF can be enabled when the server uses NIC teaming with LACP, because
the virtual interface uses one MAC address.
w If the source and destination are on different IP subnets, the NetScaler uses the
route lookup to locate the destination.
w If the source is on the same subnet as the destination, the NetScaler looks up the
ARP table to locate the network interface and forwards the traffic to it. If the ARP
table does not exist, the NetScaler requests the ARP entries.
To manage the network interfaces, you might have to enable some interfaces and
disable others. You can reset an interface to renegotiate its settings. You can clear the
accumulated statistics for an interface. To verify the configuration, you can display the
interface settings. You can display the statistics for an interface to evaluate its health.
323
Chapter 7 Networking
Network interface parameters include Link Aggregate Control Protocol (LACP) settings.
For more information about Link Aggregate Control Protocol (LACP), see "Configuring
Link Aggregation Using the Link Aggregate Channel Protocol."
Example
1. Navigate to System > Network > Interfaces, and open the network interface.
2. Set the following parameters:
Speed*speed
Duplex*duplex
Flow Control*flowControl
Maximum Transmission Unitmtu
Auto Negotiationautoneg
HA MonitoringhaMonitor
Tag all VLANstagall
Trunktrunk
Alias NameifAlias
324
Citrix NetScaler System Guide
Throughputthroughput
Bandwidth HighbandwidthHigh
Bandwidth NormalbandwidthNormal
LLDP mode*lldpmode
* A required parameter
Example
325
Chapter 7 Networking
Example
326
Citrix NetScaler System Guide
Example
When configuring an IPv4 forwarding-session rule, you can specify either an IPv4
network address or an extended ACL as the condition for identifying IPv4 traffic for
which to create a forwarding-session entry:
w Network address. When you specify an IPv4 network address, the appliance creates
forwarding sessions for IPv4 traffic whose source or destination matches the
network address.
w Extended ACL rule. When you specify an extended ACL rule, the appliance creates
forwarding sessions for IPv4 traffic that matches the conditions specified in the
extended ACL rule.
327
Chapter 7 Networking
When configuring an IPv6 forwarding-session rule, you can specify either an IPv6 prefix
or an ACL6 as the condition for identifying IPv6 traffic for which to create a
forwarding-session entry:
w IPv6 prefix. When you specify an IPv6 prefix, the appliance creates forwarding
sessions for IPv6 traffic whose source or destination matches the IPv6 prefix.
w ACL6 rule. When you specify an ACL6 rule, the appliance creates forwarding
sessions for IPv6 traffic that matches the conditions specified in the ACL6 rule.
Example
328
Citrix NetScaler System Guide
Understanding VLANs
A NetScaler appliance supports Layer 2 port and IEEE 802.1q tagged VLANs. VLAN
configurations are useful when you need to restrict traffic to certain groups of stations.
You can configure a network interface as a part of multiple VLANs by using IEEE 802.1q
tagging.
You can configure VLANs and bind them to IP subnets. The NetScaler then performs IP
forwarding between these VLANs (if it is configured as the default router for the hosts
on these subnets).
If you apply 802.1q tagging to the port, the network interface belongs to a port-based
VLAN. Layer 2 traffic is bridged within a port-based VLAN, and Layer 2 broadcasts are
sent to all members of the VLAN if Layer 2 mode is enabled. When you add an untagged
network interface as a member of a new VLAN, it is removed from its current VLAN.
Default VLAN. By default, the network interfaces on the NetScaler are included in a
single, port-based VLAN as untagged network interfaces. This VLAN is the default VLAN.
It has a VLAN ID (VID) of 1. This VLAN exists permanently. It cannot be deleted, and its
VID cannot be changed.
When you add a network interface to a to a different VLAN as an untagged member, the
network interface is automatically removed from the default VLAN. If you unbind a
network interface from its current port-based VLAN, it is added to the default VLAN
again.
Tagged VLANs. 802.1q tagging (defined in the IEEE 802.1q standard) allows a
networking device (such as the NetScaler) to add information to a frame at Layer 2 to
identify the VLAN membership of the frame. Tagging allows network environments to
have VLANs that span multiple devices. A device that receives the packet reads the tag
329
Chapter 7 Networking
and recognizes the VLAN to which the frame belongs. Some network devices do not
support receiving both tagged and untagged packets on the same network interfacein
particular, Force10 switches. In such cases, you need to contact customer support for
assistance.
The network interface can be a tagged or untagged member of a VLAN. Each network
interface is an untagged member of one VLAN only (its native VLAN). This network
interface transmits the frames for the native VLAN as untagged frames. A network
interface can be a part of more than one VLAN if the other VLANs are tagged.
When you configure tagging, be sure to match the configuration of the VLAN on both
ends of the link. The port to which the NetScaler connects must be on the same VLAN
as the NetScaler network interface.
Note: This VLAN configuration is neither synchronized nor propagated, therefore you
must perform the configuration on each unit in an HA pair independently.
Ingress rules. Ingress rules classify each frame as belonging only to a single VLAN.
When a frame is received on a network interface, the following rules are applied to
classify the frame:
w If the frame is untagged, or has a tag value equal to 0, the VID of the frame is set to
the port VID (PVID) of the receiving interface, which is classified as belonging to the
native VLAN. (PVIDs are defined in the IEEE 802.1q standard.)
w If frame has a tag value equal to FFF, the frame is dropped.
w If the VID of the frame specifies a VLAN of which the receiving network interface is
not a member, the frame is dropped. For example, if a packet is sent from a subnet
associated with VLAN ID 12 to a subnet associated with VLAN ID 10, the packet is
dropped. If an untagged packet with VID 9 is sent from the subnet associated with
VLAN ID 10 to a network interface PVID 9, the packet is dropped.
Egress Rules. The following egress rules are applied:
w If the VID of the frame specifies a VLAN of which the transmission network interface
is not a member, the frame is discarded.
w During the learning process (defined by the IEEE 802.1q standard), the Src MAC and
VID are used to update the bridge lookup table of the NetScaler.
w A frame is discarded if its VID specifies a VLAN that does not have any members.
(You define members by binding network interfaces to a VLAN.)
330
Citrix NetScaler System Guide
interface), bridging restrictions (do not forward on the receiving network interface),
and MTU restrictions.
w Frames are filtered on the basis of information in the bridge table lookup in the
forwarding database (FDB) table of the NetScaler. The bridge table lookup is based
on the destination MAC and the VID. Packets addressed to the MAC address of the
NetScaler are processed at the upper layers.
w All broadcast and multicast frames are forwarded to each network interface that is
a member of the VLAN, but forwarding occurs only if L2 mode is enabled. If L2 mode
is disabled, the broadcast and multicast packets are dropped. This is also true for
MAC addresses that are not currently in the bridging table.
w A VLAN entry has a list of member network interfaces that are part of its untagged
member set. When forwarding frames to these network interfaces, a tag is not
inserted in the frame.
w If the network interface is a tagged member of this VLAN, the tag is inserted in the
frame when the frame is forwarded.
When a user sends any broadcast or multicast packets without the VLAN being
identified, that is, during duplicate address detection (DAD) for NSIP or ND6 for the
next hop of the route, the packet is sent out on all the network interfaces, with
appropriate tagging based on either the Ingress and Egress rules. ND6 usually identifies
a VLAN, and a data packet is sent on this VLAN only. Port-based VLANs are common to
IPv4 and IPv6. For IPv6, the NetScaler supports prefix-based VLANs.
Configuring a VLAN
You can implement VLANs in the following environments:
w Single subnet
w Multiple subnets
w Single LAN
w VLANs (no tagging)
w VLANs (802.1q tagging)
If you configure VLANs that have only untagged network interfaces as their members,
the total number of possible VLANs is limited to the number of network interfaces
available in the NetScaler. If more IP subnets are required with a VLAN configuration,
802.1q tagging must be used.
When you bind a network interface to a VLAN, the network interface is removed from
the default VLAN. If the network interfaces need to be a part of more than one VLAN,
you can bind the network interfaces to the VLANs as tagged members.
You can configure the NetScaler to forward traffic between VLANs at Layer 3. In this
case, a VLAN is associated with a single IP subnet. The hosts in a VLAN that belong to a
single subnet use the same subnet mask and one or more default gateways connected
to that subnet. Configuring Layer 3 for a VLAN is optional. Layer 3 is used for IP
forwarding (inter-VLAN routing). Each VLAN has a unique IP address and subnet mask
that define an IP subnet for the VLAN. In an HA configuration, this IP address is shared
331
Chapter 7 Networking
with the other NetScaler appliances. The NetScaler forwards packets between
configured IP subnets (VLANs).
When you configure the NetScaler, you must not create overlapping IP subnets. Doing
so impedes Layer 3 functionality.
Each VLAN is a unique Layer 2 broadcast domain. Two VLANs, each bound to separate IP
subnets, cannot be combined into a single broadcast domain. Forwarding traffic
between two VLANs requires a Layer 3 forwarding (routing) device, such as the
NetScaler appliance.
Example
Example
332
Citrix NetScaler System Guide
Example
rm vlan <id>
Monitoring VLANS
You can display VLAN statistics such as packets received, bytes received, packets sent,
and bytes sent, and use the information to identify anomalies and or debug a VLAN.
Example
stat vlan 2
333
Chapter 7 Networking
3. For this subnet, a virtual server can be configured for load balancing on the
NetScaler.
To configure a VLAN on a single subnet, follow the procedures described in "Creating or
Modifying a VLAN." VLAN configuration parameters are not required, because the
network interfaces are members of this VLAN.
334
Citrix NetScaler System Guide
To configure a single VLAN across multiple subnets, perform the following tasks:
1. Disable Layer 2 mode.
2. Add a VIP.
For the procedure to add a VIP, see "Configuring and Managing Virtual IP Addresses
(VIPs)."
3. Configure RNAT ID.
For the procedure to configure the RNAT ID, see "Configuring RNAT."
335
Chapter 7 Networking
To implement the configuration shown in the above figure, perform the following tasks:
1. Add VLAN 2.
336
Citrix NetScaler System Guide
To implement the configuration shown in the above figure, perform the following tasks:
1. Add VLAN 2.
For the procedure to bind a tagged network interface, see "Creating or Modifying a
VLAN."
6. Bind the IP address and netmask to VLAN 3.
337
Chapter 7 Networking
Configuring NSVLAN
NSVLAN is a VLAN to which the NetScaler management IP (NSIP) address's subnet is
bound. The NSIP subnet is available only on interfaces that are associated with
NSVLAN. By default, NSVLAN is VLAN1, but you can designate a different VLAN as
NSVLAN. If you do so, you must reboot the NetScaler appliance for the change to take
effect. After the reboot, NSIP subnet traffic is restricted to the new NSVLAN.
The traffic from the NetScaler IP subnet can be tagged (802.1q) with the VLAN ID
specified for NSVLAN. You must configure the attached switch interface to tag and
allow this same VLAN ID on the connected interface.
If you remove your NSVLAN configuration, the NSIP subnet is automatically bound to
VLAN1, restoring the default NSVLAN.
Note: The configuration takes effect after the NetScaler appliance is rebooted.
Example
338
Citrix NetScaler System Guide
Example
The bridge groups feature works the same way as a VLAN. Multiple VLANS can be bound
to a single bridge group, and all VLANs bound to same bridge group form a single
broadcast domain. You can bind only Layer 2 VLANs to a bridge group. For Layer 3
functionality, you must assign an IP address to a bridge group.
Example
339
Chapter 7 Networking
rm bridgegroup <id>
Example
rm bridgegroup 12
Configuring VMACs
The primary and secondary nodes in a high availability (HA) setup share the Virtual MAC
address (VMAC) floating entity. The primary node owns the floating IP addresses (such
as MIP, SNIP, and VIP) and responds to ARP requests for these IP addresses with its own
MAC address. Therefore, the ARP table of an external device, such as an upstream
router, is updated with the floating IP address and the MAC address of the primary
node.
When a failover occurs, the secondary node takes over as the new primary node. The
former secondary node uses Gratuitous ARP (GARP) to advertise the floating IP
addresses that it had learned from the old primary node. The MAC address that the new
primary node advertises is the MAC address of its own network interface. Some devices
(a few routers) do not accept these GARP messages. Therefore, these external devices
retain the IP address-to-MAC address mapping that the old primary node had
advertised. This can result in a GSLB site going down.
Therefore, you must configure a VMAC on both nodes of an HA pair. This means that
both nodes have identical MAC addresses. When a failover occurs, the MAC address of
the secondary node remains unchanged, and the ARP tables on the external devices do
not need to be updated.
340
Citrix NetScaler System Guide
manually, or you can use Link Aggregation Control Protocol (LACP). You cannot apply
LACP to a manually configured channel, nor can you manually configure a channel
created by LACP.
When using LACP to configure link aggregation, you use different commands and
parameters for modifying link aggregation channels than you do for creating link
aggregation channels. To remove a channel, you must disable LACP on all interfaces
that are part of the channel.
Note: When enabling LACP on a network interface, you must specify the LACP Key.
341
Chapter 7 Networking
Example
342
Citrix NetScaler System Guide
Example:
A subchannel is created from links that are part of the LACP channel and are connected
to a particular device. For example, for an LACP channel with four interfaces on a
NetScaler ADC, with two of the interfaces connected to device A and the other two
connected to device B, the ADC creates two logical subchannels, one subchannel with
two links to device A, and another subchannel with two links to device B.
To configure link redundancy for an LACP channel, set the lrMinThroughput parameter,
which specifies the minimum throughput threshold (in Mbps) to be met by the active
subchannel. Setting this parameter automatically creates the subchannels. When the
maximum supported throughput of the active channel falls below the lrMinThroughput
value, link failover occurs and a standby subchannel becomes active.
If you unset the lrMinThroughput parameter of an LACP channel, or set the value to
zero, link redundancy for that channel is disabled, which is the default setting.
343
Chapter 7 Networking
Example
Consider an example of link redundancy configured between NetScaler ADC NS1 and
switches SW1 and SW2.
On NS1, LACP channel LA/1 is created from interfaces 1/1, 1/2, 1/3, and 1/4.
Interfaces 1/1 and 1/2 of NS1 are connected to SW1, and interfaces 1/3 and 1/4 are
connected to SW2. Each of the four links supports a maximum throughput of
1000Mbps.
When the lrMinThroughput parameter is set to some value (say 2000), NS1 creates
two logical subchannels from LA/1, one subchannel (say subchannel 1) using
interfaces 1/1 and 1/2 (connected to SW1), and the other subchannel (subchannel 2)
using interfaces 1/3 and 1/4 (connected to SW2).
NS1 applies an algorithm to make one subchannel (say subchannel 1) active and put
the other on standby. NS1 and network device NW-A are accessible to each other
through only the active subchannel.
Say subchannel 1 is active, and its maximum supported throughput falls below the
lrMinThroughput value (for example, one of its links fails, and the maximum
supported throughput falls to 1000 Mbps). Subchannel 2 becomes active and takes
over.
344
Citrix NetScaler System Guide
Consider an example of an HA setup that has NetScaler ADCs NS1 and NS2, with
switches SW1 and SW2. NS1 is connected to NS2 through SW1 and SW2.
On NS1, LACP channel LA/1 is created from interfaces 1/1, 1/2, 1/3, and 1/4.
Interfaces 1/1 and 1/2 of NS1 are connected to SW1, and interfaces 1/3 and 1/4 are
connected to SW2. Each of the four links supports a maximum throughput of 1000
Mbps.
Parameter Value
Throughput 2000
lrminthroughput 2000
NS1 forms two subchannels from LA/1, one subchannel (say subchannel 1) using
interfaces 1/1 and 1/2 (connected to SW1), and the other subchannel (subchannel 2)
using interfaces 1/3 and 1/4 (connected to SW2). Each of the two subchannels
supports a maximum throughput of 2000 Mbps. Applying an algorithm, NS1 makes one
subchannel (say subchannel 1) active and the other standby.
Say subchannel 1 is active, and its maximum supported throughput falls below the
lrMinThroughput value (for example, one of its links fails, and maximum supported
throughput falls to 1000 Mbps). Subchannel 2 becomes active and takes over. HA
failover does not occur, because the maximum supported throughput of the LACP
channel is not less than the throughput parameter value:
345
Chapter 7 Networking
To configure link redundancy for a LACP channel by using the command line
interface
At the command prompt, type the following commands to configure the channel and
verify the configuration:
w set channel <id> -lrMinThroughput <positive_integer>
w show channel
Example
346
Citrix NetScaler System Guide
The following tables describe the example settings for the scenario:
347
Chapter 7 Networking
LLB_SVC3 10.10.10.120
LLB_SVC4 10.10.10.60
LLB_SVC5 10.10.10.30
348
Citrix NetScaler System Guide
2. Add four different dummy services in the added SNIP subnets. This is to ensure
that the traffic is sent out with source IP as one of the four configured SNIPs.
Command Line Interface example
3. Add a transparent ping monitor for monitoring the gateway. Bind the monitor to
each of the configured dummy services. This is to make the state of the services as
UP.
Command Line Interface example
4. Add a link load balancing (LLB) virtual server and bind the dummy services to it.
Command Line Interface example
349
Chapter 7 Networking
6. Add an ARP entry for each of the dummy services with the MAC address of the
gateway. This way the gateway is reachable through these dummy services. For
more information on adding an ARP entry, see "Configuring Static ARP."
Command Line Interface example
7. Bind a specific interface to an SNIP by adding an ARP entry for each of these SNIPs.
This is to ensure that the response traffic will reach the same interface through
which the request went out. For more information on adding an ARP entry, see
"Configuring Static ARP."
Command Line Interface example
350
Citrix NetScaler System Guide
The bridge table is dynamically generated, but you can display it, modify the aging
time for the bridge table, and view bridging statistics.
All the MAC entries in the bridge table are updated with the aging time.
Example
stat bridge
351
Chapter 7 Networking
The active VIP is called the master VIP, and the corresponding VIPs on the other
NetScaler appliances are called the backup VIPs. If a master VIP fails, the backup VIP
with the highest priority takes over and becomes the master VIP. All the NetScaler
appliances in an active-active deployment use the Virtual Router Redundancy Protocol
(VRRP) protocol to advertise their VIPs and the corresponding priorities at regular
intervals.
352
Citrix NetScaler System Guide
In some situations, traffic might reach a backup VIP. To avoid dropping such traffic, you
can enable sharing, on a per-node basis, as you create an active-active configuration.
Or you can enable the global send to master option. On a node on which sharing is
enabled, it takes precedence over send to master.
Health Tracking
Base priority (BP-range 1-255) ordinarily determines which VIP is the master VIP, but
effective priority (EP) can also affect the determination.
For example, if a VIP on NS1 has a priority of 101 and same VIP on NS2 has a priority of
99, the VIP on NS1 is active. However, if two vservers are using the VIP on NS1 and one
of them goes DOWN, health tracking can reduce the EP of VIP on NS1. VRRP then makes
the VIP on NS2 the active VIP.
w NONE. No tracking. EP = BP
w ALL. If all virtual servers are UP, then EP = BP. Otherwise, EP = 0.
353
Chapter 7 Networking
Note: If you specify a value other than NONE, preemption should be enabled, so that
the backup VIP with the highest priority becomes active if the priority of the master VIP
is downgraded.
Preemption
Preemption of an active VIP by another VIP that attains a higher priority is enabled by
default, and normally should be enabled. In some cases, however, you may want to
disable it. Preemption is a per-node setting for each VIP.
w An active VIP goes down and a VIP with a lower priority takes its place. If the VIP
with the higher priority comes back online, it preempts the currently active VIP.
w Health tracking causes the priority of a backup VIP to become higher than that of
the active VIP. The backup VIP then preempts the active VIP.
Sharing
In the event that traffic reaches a backup VIP, the traffic is dropped unless the sharing
option is enabled on the backup VIP. This behavior is a per node setting for each VIP
and is disabled by default.
In the figure "An Active-Active Configuration," VIP1 on NS1 is active and VIP1 VIPs on
NS2 and NS3 are backups. Under certain circumstances, traffic may reach VIP1 on NS2.
If Sharing is enabled on NS2, this traffic is processed instead of dropped.
Adding a VMAC
To add a VMAC for an active-active configuration, you create a virtual router ID. To
bind a VMAC to a VIP, you associate the VMAC's virtual router ID with the VIP.
354
Citrix NetScaler System Guide
Example
Example
355
Chapter 7 Networking
need to enable the send to master option. This behavior is a per node setting and is
disabled by default.
For example, in the following diagram, VIP1 is configured on NS1, NS2, and NS3 and is
active on NS1. Under certain circumstances, traffic for VIP1 (active on NS1) may reach
VIP1 on NS3. When the send to master option is enabled on NS3, NS3 forwards the
traffic to NS1 through NS2 by using route entries for NS1.
356
Citrix NetScaler System Guide
Example
In the following diagram, VIP1, VIP 2 and VIP3 are configured on all three appliances,
NS1, NS2, and NS3. Base Priorities for each VIPs are as shown in the diagram. Health
tracking is disabled for each VIP. The priorities of VIPs are set so that VIP1, VIP2, and
VIP3 are active on NS3. If NS3 fails, VIP1, VIP2, and VIP3 become active on NS1.
357
Chapter 7 Networking
In an HA deployment, you can both view and configure network entities on the node to
which you are logged on, but you can view the details of only the network entities that
358
Citrix NetScaler System Guide
are configured on the peer node. However, you can perform certain tasks, such as
viewing details and statistics of the peer node and forcing a failover.
When you are logged on to a standalone appliance, you can use the Network Visualizer
to do the following:
w View the configuration details and high availability details of both nodes in an HA
pair.
w Perform HA configuration tasks, such as synchronization and force failover.
w Remove the peer node from the HA configuration.
w View statistics for the peer node.
w Copy the properties of the peer node to a document or spreadsheet.
To locate a VLAN or bridge group, in the Search text field, begin typing the ID of the
VLAN or the bridge group that you want to locate.
Alternatively, begin typing the IP address of a bound subnet or the ID of a bound
interface. The VLANs or bridge groups whose names match the typed characters are
highlighted.
To highlight multiple entities simultaneously, separate the IDs and IP addresses with
white spaces. Entities whose IDs or IP addresses match any of the typed IDs and IP
addresses are highlighted.
359
Chapter 7 Networking
360
Citrix NetScaler System Guide
361
Chapter 7 Networking
its identity and capabilities to the directly connected devices, and also learn the
identity and capabilities of these neighbour devices. Using LLDP, the NetScaler ADC
transmits and receives information in the form of LLDP messages known as LLDP packet
data units (LLDPUs).
An LLDPU is a sequence of type, length, value (TLV) information elements. Each TLV
holds a specific type of information about the device that transmits the LLDPDU. The
NetScaler ADC sends the following TLVs in each LLDPU:
w Chassis ID
w Port ID
w Time-to-live value
w System name
w System description
w Port description
w System capabilities
w Management address
w Port VLAN ID
w Link aggregation
The LLDP mode of an interface depends on the LLDP mode configured at the global and
the interface levels. The following table shows the modes resulting from the available
combinations of global- and interface-level settings:
362
Citrix NetScaler System Guide
Following are the global LLDP transmitting parameters on the NetScaler ADC:
w Timer. Interval, in seconds, between LLDPUs that the NetScaler ADC sends to a
directly connected device.
w Holdtime Multiplier. A multiplier for calculating the duration for which the
receiving device stores the LLDP information in its database before discarding or
removing it. The duration is calculated as the Holdtime Multiplier parameter
value multiplied by the Timer parameter value.
If the ADC receives another LLDPDU on an interface before the stored LLDP
information for that interface is discarded, the ADC replaces the stored LLDP
information for that interface with information in the new LLDPDU.
Configuration Steps
Configuring LLDP on a NetScaler appliance consists of the following tasks:
1. Set global level LLDP parameters. In this task, you set the global LLDP
parameters such as LLDP Timer, Hold Time Multiplier, and LLDP mode.
2. Set the interface level LLDP parameters. In this task, you set the LLDP mode for
an interface.
3. (Optional) Display neighbor-device information. You can display the neighbor-
device LLDP information collected on all of the NetScaler ADCs interfaces, or
just the LLDP information collected on specified interfaces. If you do not specify
an interface, the information is shown for all interfaces.
To set global level LLDP parameters by using the command line interface
At the command prompt, type:
w set lldp param [-[-holdtimeTxMult <positive_integer>][-timer <positive_integer>]
[-Mode <Mode>]
363
Chapter 7 Networking
Jumbo Frames
NetScaler appliances support receiving and transmitting jumbo frames containing up to
9216 bytes of IP data. Jumbo frames can transfer large files more efficiently than it is
possible with the standard IP MTU size of 1500 bytes.
A NetScaler appliance can use jumbo frames in the following deployment scenarios:
w Jumbo to Jumbo. The appliance receives data as jumbo frames and sends it as
jumbo frames.
w Non-Jumbo to Jumbo. The appliance receives data as regular frames and sends it as
jumbo frames.
w Jumbo to Non-Jumbo. The appliance receives data as jumbo frames and sends it as
regular frames.
364
Citrix NetScaler System Guide
The NetScaler appliance supports jumbo frames in a load balancing configuration for
the following protocols:
w TCP
w Any protocol over TCP (for example, HTTP)
w SIP
w RADIUS
1. When you create an LA channel, the channel takes the MTU of the first bound
interface if no MTU is specified for the channel.
2. The MTU for a channel is propagated to all the bound interfaces.
3. When an interface is bound to the channel whose MTU is different from the
interfaces MTU, the interface goes onto the inactive list.
4. When you change the MTU of a member interface, the interface goes onto the
inactive list.
5. When an interface is unbound from the channel, the interface retains the MTU
value of the channel.
6. You can set the MTU for an interface, channel, or VLAN to a value in the range of
1500-9216.
7. You cannot set the MTU on the default VLAN. The NetScaler appliance uses the
MTU of the interface through which it receives or sends data from or to the default
VLAN.
8. For TCP based traffic on a load balancing configuration on a NetScaler appliance,
MSSs are set accordingly at each end point for supporting jumbo frames:
For a connection between a client and a load balancing virtual server on the
NetScaler appliance, the MSS on the NetScaler appliance is set in a TCP profile,
which is then bound to the load balancing virtual server.
For a connection between the NetScaler appliance and a server, the MSS on NS1
is set in a TCP profile, which is then bound to the service representing the
server on the NetScaler appliance.
By default, a TCP profile nstcp_default_profile is bound to all TCP based load
balancing servers and services on the NetScaler appliance.
For supporting jumbo frames, you can either change the MSS value of the TCP
profile nstcp_default_profile, or create a custom TCP profile and set its MSS
365
Chapter 7 Networking
accordingly, and then bind the custom TCP profile to the desired load balancing
virtual servers and services.
The default MSS value of any TCP profile is 1460.
To set the MTU of an interface by using the command line interface
Example
Example
Example
366
Citrix NetScaler System Guide
Interface 10/1 of NS1 receives or sends traffic from or to client CL1. Interface 10/2 of
NS1 receives or sends traffic from or to server S1 or S2. Interfaces 10/1 and 10/2 of NS1
are part of VLAN 10 and VLAN 20, respectively.
For supporting jumbo frames, the MTU is set to 9216, on NS1, for interfaces 10/1,
10/2, and VLANs VLAN 10, VLAN 20.
All other network devices, including CL1, S1, S2, in this setup example are also
configured for supporting jumbo frames.
S2 198.51.100.20
VLAN 10 9000
VLAN 20 9000
367
Chapter 7 Networking
SVC-S2 w IP address:
198.51.100.20
w Protocol: SIP
w Port: 5060
368
Citrix NetScaler System Guide
Size of the first IP fragment = [IP header + UDP header + SIP data segment] =
[20 + 8 + 8972] = 9000
Size of the second IP fragment = [IP header + SIP data segment] = [20 + 8980] =
9000
Size of the last IP fragment=[IP header + SIP data segment] = [20 + 2048] = 2068
Configuration Tasks
The following table list the tasks, NetScaler commands, and examples for creating the
required configuration on the NetScaler appliance.
Set the MTU of the desired set interface <id> -mtu set int 10/1 -mtu 9000 set
interfaces for supporting <positive_integer> show int 10/2 -mtu 9000
jumbo frames interface <id>
369
Chapter 7 Networking
Create VLANs and set the add vlan <id> -mtu add vlan 10 -mtu 9000 add
MTU of the desired VLANs <positive_integer> show vlan 20 -mtu 9000
for supporting jumbo vlan <id>
frames
Bind interfaces to VLANs bind vlan <id> -ifnum bind vlan 10 -ifnum 10/1
<interface_name> show bind vlan 20 -ifnum 10/2
vlan <id>
Create SIP load balancing add lb vserver <name> add lb vserver LBVS-1
virtual servers and bind SIP_UDP <ip> <port> bind SIP_UDP 203.0.113.15 5060
the services to it lb vserver <vserverName> bind lb vserver LBVS-1
<serviceName> show lb SVC-S1 bind lb vserver
vserver <name> LBVS-1 SVC-S2
Interface 10/1 of NS1 receives or sends traffic from or to client CL1. Interface 10/2 of
NS1 receives or sends traffic from or to server S1 or S2.
Interfaces 10/1 and 10/2 of NS1 are part of VLAN 10 and VLAN 20, respectively. For
supporting only regular frames between CL1 and NS1, the MTU is set to the default
value of 1500 for both interface 10/1 and VLAN 10
For supporting jumbo frames between NS1 and the servers, the MTU is set to 9000 for
interface 10/2 and VLAN 20. Servers and all other network devices between NS1 and
the servers are also configured for supporting jumbo frames.
Since HTTP traffic is based on TCP, MSSs are set accordingly at each end point for
supporting jumbo frames.
370
Citrix NetScaler System Guide
w For supporting jumbo frames for the connection between a SNIP address of NS1 and
S1 or S2, the MSS on NS1 is set accordingly in a custom TCP profile, which is bound
to the services (SVC-S1 and SVC-S1 ) representing S1 and S2 on NS1.
w For supporting only regular frames for the connection between CL1 and virtual
server LBVS-1 of NS1, default TCP profile nstcp_default_profile is used that is by
default bound to LBVS-1 and has the MSS set to the default value of 1460.
S2 198.51.100.20
VLAN 10 1500
VLAN 20 9000
371
Chapter 7 Networking
SVC-S2 w IP address:
198.51.100.20
w Protocol: HTTP
w Port: 80
w TCP profile: NS1-
SERVERS-JUMBO (MSS:
8960)
372
Citrix NetScaler System Guide
5. LBVS-1's load balancing algorithm selects server S1, and NS1 opens a connection
between one of its SNIP addresses and S1. NS1 and CL1 exchange their respective
TCP MSS values while establishing the connection.
6. Because S1's MSS is larger than the HTTP request, NS1 sends the request data in a
single IP packet to S1.
Size of the request packet = [IP Header + TCP Header + [TCP Request] = [20 + 20 +
200] = 240
Configuration Tasks
The following table list the tasks, NetScaler commands, and examples for creating the
required configuration on the NetScaler appliance.
Set the MTU of the desired set interface <id> -mtu set int 10/1 -mtu 1500 set
interfaces for supporting <positive_integer> show int 10/2 -mtu 9000
jumbo frames interface <id>
Create VLANs and set the add vlan <id> -mtu add vlan 10 -mtu 1500 add
MTU of the desired VLANs <positive_integer> show vlan 20 -mtu 9000
for supporting jumbo vlan <id>
frames
373
Chapter 7 Networking
Bind interfaces to VLANs bind vlan <id> -ifnum bind vlan 10 -ifnum 10/1
<interface_name> show bind vlan 20 -ifnum 10/2
vlan <id>
Create HTTP load add lb vserver <name> add lb vserver LBVS-1 http
balancing virtual servers HTTP <ip> <port> bind lb 203.0.113.15 80 bind lb
and bind the services to it vserver <vserverName> vserver LBVS-1 SVC-S1 bind
<serviceName> show lb lb vserver LBVS-1 SVC-S2
vserver <name>
Bind the custom TCP set service <Name> - set service SVC-S1 -
profile to the desired tcpProfileName <string> tcpProfileName NS1-
services show service <name> SERVERS-JUMBO set
service SVC-S2 -
tcpProfileName NS1-
SERVERS-JUMBO
CL1 is on VLAN 10, S1 and S2 are on VLAN20, CL2 is on VLAN 30, and S3 and S4 are on
VLAN 40. VLAN 10 and VLAN 20 support jumbo frames, and VLAN 30 and VLAN 40
support only regular frames.
In other words, the connection between CL1 and NS1, and the connection between NS1
and server S1 or S2 support jumbo frames. The connection between CL2 and NS1, and
the connection between NS1 and server S3 or S4 support only regular frames.
374
Citrix NetScaler System Guide
Interface 10/1 of NS1 receives or sends traffic from or to clients. Interface 10/2 of NS1
receives or sends traffic from or to the servers.
Interface 10/1 is bound to both VLAN 10 and VLAN 30 as a tagged interface, and
interface 10/2 is bound to both VLAN 20 and VLAN 40 as a tagged interface.
For supporting jumbo frames, the MTU is set to 9216 for interfaces 10/1 and 10/2.
On NS1, the MTU is set to 9000 for VLAN 10 and VLAN 20 for supporting jumbo frames,
and the MTU is set to the default value of 1500 for VLAN 30 and VLAN 40 for supporting
only regular frames.
The effective MTU on a NetScaler interface for VLAN tagged packets is of the MTU of
the interface or the MTU of the VLAN, whichever is lower. For example:
w The MTU of interface 10/1 is 9216. The MTU of VLAN 10 is 9000. On interface 10/1,
the MTU of VLAN 10 tagged packets is 9000.
w The MTU of interface 10/2 is 9216. The MTU of VLAN 20 is 9000. On interface 10/2,
the MTU of VLAN 20 tagged packets is 9000.
w The MTU of interface 10/1 is 9216. The MTU of VLAN 30 is 1500. On interface 10/1,
the MTU of VLAN 30 tagged packets is 1500.
w The MTU of interface 10/2 is 9216. The MTU of VLAN 40 is 1500. On interface 10/2,
the MTU of VLAN 40 tagged packets is 9000.
CL1, S1, S2, and all network devices between CL1 and S1 or S2 are configured for
jumbo frames.
Since HTTP traffic is based on TCP, MSSs are set accordingly at each end point for
supporting jumbo frames.
w For the connection between CL1 and virtual server LBVS-1 of NS1, the MSS on NS1 is
set in a TCP profile, which is then bound to LBVS-1.
w For the connection between a SNIP address of NS1 and S1, the MSS on NS1 is set in a
TCP profile, which is then bound to the service (SVC-S1) representing S1 on NS1.
375
Chapter 7 Networking
CL2 192.0.3.20
S2 198.51.100.20
S3 198.51.101.19
S4 198.51.101.20
VLAN 10 9000
VLAN 20 9000
376
Citrix NetScaler System Guide
VLAN 30 1500
VLAN 40 1500
SVC-S2 w IP address:
198.51.100.20
w Protocol: HTTP
w Port: 80
w TCP profile: ALL-JUMBO
(MSS: 8960)
SVC-S3 w IP address:
198.51.101.19
w Protocol: HTTP
w Port: 80
w TCP Profile:
nstcp_default_profile
(MSS:1460)
SVC-S4 w IP address:
198.51.101.20
w Protocol: HTTP
w Port: 80
w TCP Profile:
nstcp_default_profile
(MSS:1460)
377
Chapter 7 Networking
w Protocol: HTTP
w Port:80
w Bound services: SVC-S1,
SVC-S2
w TCP profile: ALL-JUMBO
(MSS: 8960)
LBVS-2 w IP address =
203.0.114.15
w Protocol: HTTP
w Port:80
w Bound services: SVC-S3,
SVC-S4
w TCP Profile:
nstcp_default_profile
(MSS:1460)
378
Citrix NetScaler System Guide
Size of the first two packets = [IP Header + TCP Header + (TCP payload=S1 MSS)]
= [20 + 20 + 8960] = 9000
Size of the last packet = [IP Header + TCP Header + (remaining TCP segment)] =
[20 + 20 + 2080] = 2120
Configuration Tasks
Following table lists tasks, commands, and examples for creating the required
configuration on the NetScaler appliance.
Set the MTU of the desired set interface <id> -mtu set int 10/1 mtu 9216
interfaces for supporting <positive_integer>
jumbo frames set int 10/2 mtu 9216
show interface <id>
Create VLANs and set the add vlan <id> -mtu add vlan 10 mtu 9000
MTU of the desired VLANs <positive_integer>
for supporting jumbo add vlan 20 mtu 9000
frames show vlan <id>
add vlan 30 mtu 1500
379
Chapter 7 Networking
Bind interfaces to VLANs bind vlan <id> -ifnum bind vlan 10 ifnum 10/1
<interface_name> tagged
Create HTTP load add lb vserver <name> add lb vserver LBVS-1 http
balancing virtual servers HTTP <ip> <port> 203.0.113.15 80
and bind the services to it
bind lb vserver bind lb vserver LBVS-1
<vserverName> SVC-S1
<serviceName>
bind lb vserver LBVS-1
show lb vserver <name> SVC-S2
380
Citrix NetScaler System Guide
Bind the custom TCP set service <Name> - set lb vserver LBVS-1
profile to the desired load tcpProfileName <string> tcpProfileName ALL-
balancing virtual server JUMBO
and services show service <name>
set service SVC-S1
tcpProfileName ALL-
JUMBO
show ns config
Jumbo Frames
NetScaler appliances support receiving and transmitting jumbo frames containing up to
9216 bytes of IP data. Jumbo frames can transfer large files more efficiently than it is
possible with the standard IP MTU size of 1500 bytes.
A NetScaler appliance can use jumbo frames in the following deployment scenarios:
w Jumbo to Jumbo. The appliance receives data as jumbo frames and sends it as
jumbo frames.
w Non-Jumbo to Jumbo. The appliance receives data as regular frames and sends it as
jumbo frames.
w Jumbo to Non-Jumbo. The appliance receives data as jumbo frames and sends it as
regular frames.
The NetScaler appliance supports jumbo frames in a load balancing configuration for
the following protocols:
w TCP
w Any protocol over TCP (for example, HTTP)
w SIP
381
Chapter 7 Networking
w RADIUS
1. When you create an LA channel, the channel takes the MTU of the first bound
interface if no MTU is specified for the channel.
2. The MTU for a channel is propagated to all the bound interfaces.
3. When an interface is bound to the channel whose MTU is different from the
interfaces MTU, the interface goes onto the inactive list.
4. When you change the MTU of a member interface, the interface goes onto the
inactive list.
5. When an interface is unbound from the channel, the interface retains the MTU
value of the channel.
6. You can set the MTU for an interface, channel, or VLAN to a value in the range of
1500-9216.
7. You cannot set the MTU on the default VLAN. The NetScaler appliance uses the
MTU of the interface through which it receives or sends data from or to the default
VLAN.
8. For TCP based traffic on a load balancing configuration on a NetScaler appliance,
MSSs are set accordingly at each end point for supporting jumbo frames:
For a connection between a client and a load balancing virtual server on the
NetScaler appliance, the MSS on the NetScaler appliance is set in a TCP profile,
which is then bound to the load balancing virtual server.
For a connection between the NetScaler appliance and a server, the MSS on NS1
is set in a TCP profile, which is then bound to the service representing the
server on the NetScaler appliance.
By default, a TCP profile nstcp_default_profile is bound to all TCP based load
balancing servers and services on the NetScaler appliance.
For supporting jumbo frames, you can either change the MSS value of the TCP
profile nstcp_default_profile, or create a custom TCP profile and set its MSS
accordingly, and then bind the custom TCP profile to the desired load balancing
virtual servers and services.
The default MSS value of any TCP profile is 1460.
382
Citrix NetScaler System Guide
Example
Example
Example
383
Chapter 7 Networking
traffic across servers S1 and S2. The connection between client CL1 and NS1, and the
connection between NS1 and the servers support jumbo frames.
Interface 10/1 of NS1 receives or sends traffic from or to client CL1. Interface 10/2 of
NS1 receives or sends traffic from or to server S1 or S2. Interfaces 10/1 and 10/2 of NS1
are part of VLAN 10 and VLAN 20, respectively.
For supporting jumbo frames, the MTU is set to 9216, on NS1, for interfaces 10/1,
10/2, and VLANs VLAN 10, VLAN 20.
All other network devices, including CL1, S1, S2, in this setup example are also
configured for supporting jumbo frames.
S2 198.51.100.20
VLAN 10 9000
VLAN 20 9000
384
Citrix NetScaler System Guide
SVC-S2 w IP address:
198.51.100.20
w Protocol: SIP
w Port: 5060
385
Chapter 7 Networking
Configuration Tasks
The following table list the tasks, NetScaler commands, and examples for creating the
required configuration on the NetScaler appliance.
Set the MTU of the desired set interface <id> -mtu set int 10/1 -mtu 9000 set
interfaces for supporting <positive_integer> show int 10/2 -mtu 9000
jumbo frames interface <id>
Create VLANs and set the add vlan <id> -mtu add vlan 10 -mtu 9000 add
MTU of the desired VLANs <positive_integer> show vlan 20 -mtu 9000
for supporting jumbo vlan <id>
frames
386
Citrix NetScaler System Guide
Bind interfaces to VLANs bind vlan <id> -ifnum bind vlan 10 -ifnum 10/1
<interface_name> show bind vlan 20 -ifnum 10/2
vlan <id>
Create SIP load balancing add lb vserver <name> add lb vserver LBVS-1
virtual servers and bind SIP_UDP <ip> <port> bind SIP_UDP 203.0.113.15 5060
the services to it lb vserver <vserverName> bind lb vserver LBVS-1
<serviceName> show lb SVC-S1 bind lb vserver
vserver <name> LBVS-1 SVC-S2
Interface 10/1 of NS1 receives or sends traffic from or to client CL1. Interface 10/2 of
NS1 receives or sends traffic from or to server S1 or S2.
Interfaces 10/1 and 10/2 of NS1 are part of VLAN 10 and VLAN 20, respectively. For
supporting only regular frames between CL1 and NS1, the MTU is set to the default
value of 1500 for both interface 10/1 and VLAN 10
For supporting jumbo frames between NS1 and the servers, the MTU is set to 9000 for
interface 10/2 and VLAN 20. Servers and all other network devices between NS1 and
the servers are also configured for supporting jumbo frames.
Since HTTP traffic is based on TCP, MSSs are set accordingly at each end point for
supporting jumbo frames.
w For supporting jumbo frames for the connection between a SNIP address of NS1 and
S1 or S2, the MSS on NS1 is set accordingly in a custom TCP profile, which is bound
to the services (SVC-S1 and SVC-S1 ) representing S1 and S2 on NS1.
387
Chapter 7 Networking
w For supporting only regular frames for the connection between CL1 and virtual
server LBVS-1 of NS1, default TCP profile nstcp_default_profile is used that is by
default bound to LBVS-1 and has the MSS set to the default value of 1460.
S2 198.51.100.20
VLAN 10 1500
VLAN 20 9000
388
Citrix NetScaler System Guide
SVC-S2 w IP address:
198.51.100.20
w Protocol: HTTP
w Port: 80
w TCP profile: NS1-
SERVERS-JUMBO (MSS:
8960)
389
Chapter 7 Networking
Configuration Tasks
The following table list the tasks, NetScaler commands, and examples for creating the
required configuration on the NetScaler appliance.
Set the MTU of the desired set interface <id> -mtu set int 10/1 -mtu 1500 set
interfaces for supporting <positive_integer> show int 10/2 -mtu 9000
jumbo frames interface <id>
Create VLANs and set the add vlan <id> -mtu add vlan 10 -mtu 1500 add
MTU of the desired VLANs <positive_integer> show vlan 20 -mtu 9000
for supporting jumbo vlan <id>
frames
Bind interfaces to VLANs bind vlan <id> -ifnum bind vlan 10 -ifnum 10/1
<interface_name> show bind vlan 20 -ifnum 10/2
vlan <id>
390
Citrix NetScaler System Guide
Create HTTP load add lb vserver <name> add lb vserver LBVS-1 http
balancing virtual servers HTTP <ip> <port> bind lb 203.0.113.15 80 bind lb
and bind the services to it vserver <vserverName> vserver LBVS-1 SVC-S1 bind
<serviceName> show lb lb vserver LBVS-1 SVC-S2
vserver <name>
Bind the custom TCP set service <Name> - set service SVC-S1 -
profile to the desired tcpProfileName <string> tcpProfileName NS1-
services show service <name> SERVERS-JUMBO set
service SVC-S2 -
tcpProfileName NS1-
SERVERS-JUMBO
CL1 is on VLAN 10, S1 and S2 are on VLAN20, CL2 is on VLAN 30, and S3 and S4 are on
VLAN 40. VLAN 10 and VLAN 20 support jumbo frames, and VLAN 30 and VLAN 40
support only regular frames.
In other words, the connection between CL1 and NS1, and the connection between NS1
and server S1 or S2 support jumbo frames. The connection between CL2 and NS1, and
the connection between NS1 and server S3 or S4 support only regular frames.
Interface 10/1 of NS1 receives or sends traffic from or to clients. Interface 10/2 of NS1
receives or sends traffic from or to the servers.
Interface 10/1 is bound to both VLAN 10 and VLAN 30 as a tagged interface, and
interface 10/2 is bound to both VLAN 20 and VLAN 40 as a tagged interface.
391
Chapter 7 Networking
For supporting jumbo frames, the MTU is set to 9216 for interfaces 10/1 and 10/2.
On NS1, the MTU is set to 9000 for VLAN 10 and VLAN 20 for supporting jumbo frames,
and the MTU is set to the default value of 1500 for VLAN 30 and VLAN 40 for supporting
only regular frames.
The effective MTU on a NetScaler interface for VLAN tagged packets is of the MTU of
the interface or the MTU of the VLAN, whichever is lower. For example:
w The MTU of interface 10/1 is 9216. The MTU of VLAN 10 is 9000. On interface 10/1,
the MTU of VLAN 10 tagged packets is 9000.
w The MTU of interface 10/2 is 9216. The MTU of VLAN 20 is 9000. On interface 10/2,
the MTU of VLAN 20 tagged packets is 9000.
w The MTU of interface 10/1 is 9216. The MTU of VLAN 30 is 1500. On interface 10/1,
the MTU of VLAN 30 tagged packets is 1500.
w The MTU of interface 10/2 is 9216. The MTU of VLAN 40 is 1500. On interface 10/2,
the MTU of VLAN 40 tagged packets is 9000.
CL1, S1, S2, and all network devices between CL1 and S1 or S2 are configured for
jumbo frames.
Since HTTP traffic is based on TCP, MSSs are set accordingly at each end point for
supporting jumbo frames.
w For the connection between CL1 and virtual server LBVS-1 of NS1, the MSS on NS1 is
set in a TCP profile, which is then bound to LBVS-1.
w For the connection between a SNIP address of NS1 and S1, the MSS on NS1 is set in a
TCP profile, which is then bound to the service (SVC-S1) representing S1 on NS1.
392
Citrix NetScaler System Guide
CL2 192.0.3.20
S2 198.51.100.20
S3 198.51.101.19
S4 198.51.101.20
VLAN 10 9000
VLAN 20 9000
VLAN 30 1500
VLAN 40 1500
SVC-S2 w IP address:
198.51.100.20
w Protocol: HTTP
w Port: 80
393
Chapter 7 Networking
SVC-S3 w IP address:
198.51.101.19
w Protocol: HTTP
w Port: 80
w TCP Profile:
nstcp_default_profile
(MSS:1460)
SVC-S4 w IP address:
198.51.101.20
w Protocol: HTTP
w Port: 80
w TCP Profile:
nstcp_default_profile
(MSS:1460)
LBVS-2 w IP address =
203.0.114.15
w Protocol: HTTP
w Port:80
w Bound services: SVC-S3,
SVC-S4
w TCP Profile:
nstcp_default_profile
(MSS:1460)
394
Citrix NetScaler System Guide
1. Client CL1 creates a 20000-byte HTTP request to send to virtual server LBVS-1 of
NS1.
2. CL1 opens a connection to LBVS-1 of NS1. CL1 and NS1 exchange their TCP MSS
values while establishing the connection.
3. Because NS1's MSS value is smaller than the HTTP request, CL1 segments the
request data into multiples of NS1's MSS and sends these segments in IP packets
tagged as VLAN 10 to NS1.
Size of the first two packets = [IP Header + TCP Header + (TCP segment=NS1
MSS)] = [20 + 20 + 8960] = 9000
Size of the last packet = [IP Header + TCP Header + (remaining TCP segment)] =
[20 + 20 + 2080] = 2120
4. NS1 receives these packets at interface 10/1. NS1 accepts these packets because
the size of these packets is equal to or less than the effective MTU (9000) of
interface 10/1 for VLAN 10 tagged packets.
5. From the IP packets, NS1 assembles all the TCP segments to form the 20000-byte
HTTP request. NS1 processes this request.
6. LBVS-1's load balancing algorithm selects server S1, and NS1 opens a connection
between one of its SNIP addresses and S1. NS1 and CL1 exchange their respective
TCP MSS values while establishing the connection.
7. NS1 segments the request data into multiples of S1s MSS and sends these segments
in IP packets tagged as VLAN 20 to S1.
Size of the first two packets = [IP Header + TCP Header + (TCP payload=S1 MSS)]
= [20 + 20 + 8960] = 9000
Size of the last packet = [IP Header + TCP Header + (remaining TCP segment)] =
[20 + 20 + 2080] = 2120
395
Chapter 7 Networking
5. NS1 segments the response data into multiples of CL1s MSS and sends these
segments in IP packets tagged as VLAN 10, from interface 10/1, to CL1. These IP
packets are sourced from LBVSs IP address and destined to CL1s IP address.
Size of first three packet = [IP Header + TCP Header + [(TCP payload=CL1s MSS
size)] = [20 + 20 + 8960] = 9000
Size of the last packet = [IP Header + TCP Header + (remaining TCP segment)] =
[20 + 20 + 3120] = 3160
Configuration Tasks
Following table lists tasks, commands, and examples for creating the required
configuration on the NetScaler appliance.
Set the MTU of the desired set interface <id> -mtu set int 10/1 mtu 9216
interfaces for supporting <positive_integer>
jumbo frames set int 10/2 mtu 9216
show interface <id>
Create VLANs and set the add vlan <id> -mtu add vlan 10 mtu 9000
MTU of the desired VLANs <positive_integer>
for supporting jumbo add vlan 20 mtu 9000
frames show vlan <id>
add vlan 30 mtu 1500
Bind interfaces to VLANs bind vlan <id> -ifnum bind vlan 10 ifnum 10/1
<interface_name> tagged
396
Citrix NetScaler System Guide
Create HTTP load add lb vserver <name> add lb vserver LBVS-1 http
balancing virtual servers HTTP <ip> <port> 203.0.113.15 80
and bind the services to it
bind lb vserver bind lb vserver LBVS-1
<vserverName> SVC-S1
<serviceName>
bind lb vserver LBVS-1
show lb vserver <name> SVC-S2
Bind the custom TCP set service <Name> - set lb vserver LBVS-1
profile to the desired load tcpProfileName <string> tcpProfileName ALL-
balancing virtual server JUMBO
and services show service <name>
set service SVC-S1
tcpProfileName ALL-
JUMBO
show ns config
397
Chapter 7 Networking
Simple ACLs filter packets on the basis of their source IP address and, optionally, their
destination port and/or their protocol. Any packet that has the characteristics
specified in the ACL is dropped. You can create up to 200,000 simple ACLs.
Extended ACLs filter data packets on the basis of various parameters, such as source IP
address, source port, action, and protocol. An extended ACL defines the conditions
that a packet must satisfy for the NetScaler to process the packet, bridge the packet,
or drop the packet. These actions are known as "processing modes." You can create up
to 10,000 extended ACLs.
The NetScaler processes an IP packet directly when both of the following conditions
exist:
w ACLs are configured on the NetScaler.
w The IP packet does not match any of the ACLs.
Simple ACL6s filter IPv6 packets on the basis of their source IPv6 address and,
optionally, their destination port and/or their protocol. Any packet that has the
characteristics specified in the simple ACL6 is dropped. You can create up to 200,000
simple ACL6s.
ACL6s are ACLs created specifically for IPv6 addresses. ACL6s filter packets on the
basis of packet parameters, such as source IP address, source port, action, and so on.
An ACL6 defines the condition that a packet must satisfy for the NetScaler to process
the packet, bridge the packet, or drop the packet. These actions are known as
"processing modes." You can create up to 8,000 ACL6s.
398
Citrix NetScaler System Guide
ACL Precedence
An IPv4 packet that matches the conditions specified in a simple ACL is dropped. If the
packet does not match any simple ACL, the NetScaler compares the packet's
characteristics to those specified in any configured extended ACLs. If the packet
matches an extended ACL, the NetScaler applies the action specified in the Extended
ACL, as shown in the following diagram.
399
Chapter 7 Networking
Example
Example
>stat ns simpleacl
Rate (/s)
Total
Deny SimpleACL hits 0
0
SimpleACL hits 0
0
SimpleACL misses 0
11
SimpleACLs count --
1
Done
400
Citrix NetScaler System Guide
The following table describes statistics you can display for simple ACLs.
Statistic Indicates
w rm ns simpleacl <aclname>
w show ns simpleacl
w clear ns simpleacl
w show ns simpleacl
401
Chapter 7 Networking
For any of the following actions to take effect, they must be applied, by clicking the
Commit button:
w Activate
w Remove
w Disable
w Change the Priority
w Configure logging
w Verify the configuration
w Monitor ACL statistics
Note: If you configure both simple and extended ACLs, simple ACLs take precedence
over extended ACLs.
Example
402
Citrix NetScaler System Guide
For example, if you have created the ACLs rule1 through rule10, and then you create
an ACL called rule11, and apply it, all of the ACLs (rule1 through rule11) are applied
afresh.
w apply ns acls
w show ns acl
Disable an ACL if it will not be used for a certain period. After the ACLs are applied,
the NetScaler does not compare incoming packets against disabled ACLs.
Example
403
Chapter 7 Networking
Done
404
Citrix NetScaler System Guide
integer value. When you create an ACL without specifying a priority, the NetScaler
automatically assigns a priority that is a multiple of 10.
If a packet matches the condition defined by the ACL, the NetScaler performs an
action. If the packet does not match the condition defined by the ACL, the NetScaler
compares the packet against the ACL with the next-highest priority.
Consider the following example. Two ACLs, rule1 and rule2, are automatically assigned
priorities 20 and 30 when they are created. You need to add a third ACL, rule3, to be
evaluated immediately after rule1. Rule3 must have a priority between 20 and 30. In
this case, you can specify the priority as 25. Later, you can easily renumber the ACLs
with priorities that are multiples of 10, without affecting the order in which the ACLs
are applied.
renumber ns acls
Logging can be enabled at both the global level and the ACL level. The global setting
takes precedence.
To optimize logging, when multiple packets from the same flow match an ACL, only the
first packet's details are logged, and the counter is incremented for every packet that
belongs to the same flow. A flow is defined as a set of packets that have the same
values for the following parameters:
w Source IP address
w Destination IP address
w Source port
w Destination port
w Protocol
If the packet is not from the same flow, or if the time duration is beyond the
meantime, a new flow is created. Mean time is the time during which packets of the
same flow do not generate additional messages (although the counter is incremented).
405
Chapter 7 Networking
Note: The total number of different flows that can be logged at any given time is
limited to 10,000.
Example
stat ns acl
Example
ACL: rule1
406
Citrix NetScaler System Guide
Rate (/
s) Total
Hits for this ACL
0 0
Done
The following table lists the statistics associated with extended ACLs and their
descriptions.
Statistic Specifies
w rm ns acl <aclName>
w show ns acl
407
Chapter 7 Networking
w clear ns acls
w show ns acl
Example
408
Citrix NetScaler System Guide
w rm ns simpleacl6 <aclname>
w show ns simpleacl6
w clear ns simpleacl6
w show ns simpleacl6
Statistic Indicates
stat ns simpleacl6
409
Chapter 7 Networking
Configuring ACL6s
ACL6s can be configured during creation. Additionally, the following actions can be
performed on ACL6s: Modify, Apply, Disable, Enable, Renumber and Remove the priority
of ACL6s. Log files of ACL6s can be configured to collect statistics of packets. If a
packet matches the condition defined by the ACL6, the NetScaler performs an action. If
the packet does not match the condition defined by the ACL6, the NetScaler compares
the packet against the ACL6 with the next-highest priority. ACL6s can traverse the
extension headers (if present) of all the incoming IPv6 packets to identify the layer 4
protocol and take a specified action.
Example
Example
> add ns acl6 rule6 DENY -srcport 45-1024 -
destIPv6 2001::45 -protocol TCP
Done
Applying ACL6s
After you create an ACL6, you must activate it. The following procedures reapply all
the ACL6s.
410
Citrix NetScaler System Guide
For example, if you have created the ACL6s rule1 through rule10, and then you create
an ACL6 called rule11 and apply it, all of the ACL6s (rule1 through rule11) are applied
afresh.
You must apply one of the following procedures after every action you perform on an
ACL6 (for example, after disabling an ACL6). However, you can add or modify more
than one ACL6 and apply all of them at the same time.
Note: ACL6s created on the NetScaler do not work until they are applied.
apply ns acls6
If an ACL6 is not required to be part of the lookup table but needs to be retained in the
configuration, it must be disabled before the ACL6s are applied. After the ACL6s are
applied, the NetScaler does not compare incoming packets against disabled ACL6s.
Note: ACL6s created on the NetScaler do not work until they are applied.
Example
411
Chapter 7 Networking
Name: rule6
Action: DENY
srcIPv6
destIPv6 = 2001::45
srcMac:
Protocol: TCP
srcPort = 45-1024
destPort
Vlan:
Interface:
Active Status: ENABLED
Applied Status: NOTAPPLIED
Priority: 10
Hits: 0
TTL:
Done
If a packet matches the condition defined by the ACL6, the NetScaler performs an
action. If the packet does not match the condition defined by the ACL6, the NetScaler
compares the packet against the ACL6 with the next-highest priority.
412
Citrix NetScaler System Guide
Consider the following example. Two ACL6s, rule1 and rule2, are automatically
assigned priorities 20 and 30 when they are created. You need to add a third ACL,
rule3, to be evaluated immediately after rule1. Rule3 must have a priority between 20
and 30. In this case, you can specify the priority as 25. Later, you can easily renumber
the ACL6s with priorities that are multiples of 10, without affecting the order in which
the ACL6s are applied.
renumber ns acls6
Example
Monitoring ACL6s
You can display statistics for monitoring the performance of an ACL6.
The following table lists the statistics associated with ACL6s and their descriptions.
Statistic Specifies
413
Chapter 7 Networking
Statistic Specifies
Removing ACL6s
You can remove a single ACL6 or all ACL6s.
414
Citrix NetScaler System Guide
w You receive a list of blacklisted IP addresses and want to completely block those IP
addresses from accessing the NetScaler appliance. In this case, you create simple
ACLs to block any new connections from these IP addresses, and then run flush to
terminate any existing connections.
w You want to terminate a large number of connections from a particular network
without taking the time to terminate them one by one.
When you run flush, the appliance searches through all of its established connections
and terminates those that match conditions specified in any of the simple ACLs
configured on the appliance.
Note: If you plan to create more than one simple ACL and flush existing connections
that match any of them, you can minimize the effect on performance by first creating
all of the simple ACLs and then running flush only once.
IP Routing
NetScaler appliances support both dynamic and static routing. Because simple routing
is not the primary role of a NetScaler, the main objective of running dynamic routing
415
Chapter 7 Networking
protocols is to enable route health injection (RHI), so that an upstream router can
choose the best among multiple routes to a topographically distributed virtual server.
Most NetScaler implementations use some static routes to reduce routing overhead. You
can create backup static routes and monitor routes to enable automatic switchover in
the event that a static route goes down. You can also assign weights to facilitate load
balancing among static routes, create null routes to prevent routing loops, and
configure IPv6 static routes. You can configure policy based routes (PBRs), for which
routing decisions are based on criteria that you specify.
416
Citrix NetScaler System Guide
417
Chapter 7 Networking
Null Routes
If the route chosen in a routing decision is inactive, the NetScaler appliance chooses a
backup route. If all the backup routes become inaccessible, the appliance might
reroute the packet to the sender, which could result in a routing loop leading to
network congestion. To prevent this situation, you can create a null route, which adds
a null interface as a gateway. The null route is never the preferred route, because it
has a higher administrative distance than the other static routes. But it is selected if
the other static routes become inaccessible. In that case, the appliance drops the
packet and prevents a routing loop.
Example
418
Citrix NetScaler System Guide
Example
Example
419
Chapter 7 Networking
Example
Example
For a VIP address, when RHI (Vserver RHI Level) parameter is set to VSVR_CNTRLD, the
following are different RHI behaviours for the VIP address on the basis of RHI STATE
settings on the virtual servers associated with the VIP address:
w If you set RHI STATE to PASSIVE on all virtual servers, the NetScaler ADC always
advertises the route for the VIP address.
420
Citrix NetScaler System Guide
w If you set RHI STATE to ACTIVE on all virtual servers, the NetScaler ADC advertises
the route for the VIP address if at least one of the associated virtual servers is in UP
state.
w If you set RHI STATE to ACTIVE on some and PASSIVE on others, the NetScaler ADC
advertises the route for the VIP address if at least one of the associated virtual
servers, whose RHI STATE set to ACTIVE, is in UP state.
Following table displays the sample RHI behaviour for a VIP address on the basis of RHI
STATE settings on the virtual servers associated with the VIP address. The NetScaler
appliance has two virtual servers V1 and V2 associated with the VIP address:
V1 UP UP DOWN DOWN
V2 UP DOWN UP DOWN
V1 UP UP DOWN DOWN
V2 UP DOWN UP DOWN
RHI State set to ACTIVE on one virtual server and PASSIVE on the other
To configure RHI for a VIP address, to be based on the RHI (RHI State) parameter
setting of the associated virtual servers, perform the following steps:
w Set the RHI (Vserver RHI Level) parameter to VSVR_CNTRLD for the VIP address.
421
Chapter 7 Networking
w Set the RHI State parameter for each virtual server associated with the VIP address.
To set the vServer RHI Level for a VIP address by using command line interface
At the command prompt, type:
w set ns ip <IPAddress> [-vserverRHILevel <vserverRHILevel>]
To set the RHI State parameter of a virtual server by using command line interface
At the command prompt, type:
w set lb vserver <name> [-RHIstate ( PASSIVE | ACTIVE )]
To set the vServer RHI Level for a VIP address by using configuration utility
1. Navigate to System > Network > IPs.
2. Select a VIP address, and then click Edit.
3. Set the Vserver RHI Level parameter to VSVR_CNTRLD, and then click OK.
To set the RHI State parameter of a virtual server by using configuration utility
1. Navigate to Traffic Management > Load Balancing > Virtual Servers.
2. Select a load balancing virtual server, and then click Edit.
3. Set the RHI State parameter, and then click OK.
A PBR bases routing decisions for the data packets on parameters such as source IP
address, source port, destination IP address, destination port, protocol, and source
MAC address. A PBR defines the conditions that a packet must satisfy for the NetScaler
to route the packet. These actions are known as "processing modes." The processing
modes are:
w ALLOW - The NetScaler sends the packet to the designated next-hop router.
w DENY - The NetScaler applies the routing table for normal destination-based routing.
The NetScaler process PBRs before processing the RNAT rules.
You can create PBRs for outgoing IPv4 and IPv6 traffic.
422
Citrix NetScaler System Guide
Many users begin by creating PBRs and then modifying them. To activate a new PBR,
you must apply it. To deactivate a PBR, you can either remove or disable it. You can
change the priority number of a PBR to give it a higher or lower precedence.
w Create a PBR.
w Apply PBRs.
w (Optional) Disable or enable a PBR.
w (Optional) Renumber the priority of the PBR.
You can configure the priority of a PBR. The priority (an integer value) defines the
order in which the NetScaler appliance evaluates PBRs. When you create a PBR without
specifying a priority, the NetScaler automatically assigns a priority that is a multiple of
10.
If a packet matches the condition defined by the PBR, the NetScaler performs an
action. If the packet does not match the condition defined by the PBR, the NetScaler
compares the packet against the PBR with the next highest priority.
Instead of sending the selected packets to a next hop router, you can configure the PBR
to send them to a link load balancing virtual server to which you have bound multiple
next hops. This configuration can provide a backup if a next hop link fails.
Consider the following example. Two PBRs, p1 and p2, are configured on the NetScaler
and automatically assigned priorities 20 and 30. You need to add a third PBR, p3, to be
evaluated immediately after the first PBR, p1. The new PBR, p3, must have a priority
between 20 and 30. In this case, you can specify the priority as 25.
Example
423
Chapter 7 Networking
Example
w rm ns pbr <name>
w clear ns pbrs
Example
424
Citrix NetScaler System Guide
Applying a PBR
You must apply a PBR to activate it. The following procedure reapplies all PBRs that
you have not disabled. The PBRs constitute a memory tree (lookup table). For example,
if you create 10 PBRs (p1 - p10), and then you create another PBR (p11) and apply it,
all of the PBRs (p1 - p11) are freshly applied and a new lookup table is created. If a
session has a DENY PBR related to it, the session is destroyed.
You must apply this procedure after every modification you make to any PBR. For
example, you must follow this procedure after disabling a PBR.
Note: PBRs created on the NetScaler appliance do not work until they are applied.
apply ns PBRs
Examples
425
Chapter 7 Networking
Vlan:
Interface:
Active Status: ENABLED
Applied Status: APPLIED
Priority: 10
NextHop: 10.102.29.77
Done
Renumbering PBRs
You can automatically renumber the PBRs to set their priorities to multiples of 10.
426
Citrix NetScaler System Guide
IP address as 10.102.29.90, to next hop router R2. R3 is another next hop router
connected to NS1.
If router R1 fails, all the outgoing packets that matched against PBR1 are dropped. To
avoid this situation, you can specify a link load balancing (LLB) virtual server in the
next hop field while creating or modifying a PBR. Multiple next hops are bound to the
LLB virtual server as services (for example R1, R2, and R3). Now, if R1 fails, all the
packets that matched against PBR1 are routed to R2 or R3 as determined by the LB
method configured on the LLB virtual server.
The NetScaler appliance throws an error if you attempt to create a PBR with an LLB
virtual server as the next hop in the following cases:
The following table lists the names and values of the entities configured on the
NetScaler appliance:
427
Chapter 7 Networking
Router2 2.2.2.254
Router3 3.3.3.254
PBRs PBR1 NA
PBR2 NA
Example
428
Citrix NetScaler System Guide
Example
2. Under the Services tab, in the Active column, select the check box for the service
that you want to bind to the virtual server.
Example
w Create a PBR6.
w Apply PBR6s.
w (Optional) Disable or enable a PBR6.
w (Optional) Renumber the priority of the PBR6.
429
Chapter 7 Networking
You can configure the priority of a PBR6. The priority (an integer value) defines the
order in which the NetScaler appliance evaluates PBR6s. When you create a PBR6
without specifying a priority, the NetScaler automatically assigns a priority that is a
multiple of 10.
If a packet matches the condition defined by the PBR6, the NetScaler performs an
action. If the packet does not match the condition defined by the PBR6, the NetScaler
compares the packet against the PBR6 with the next highest priority.
w rm ns pbr6 <name>
w clear ns pbr6
Applying PBR6s
You must apply a PBR6 to activate it. The following procedure reapplies all PBR6s that
you have not disabled. The PBR6s constitute a memory tree (lookup table). For
example, if you create 10 PBR6s (p6_1 - p6_10), and then you create another PBR6
(p6_11) and apply it, all of the PBR6s (p6_1 - p6_11) are freshly applied and a new
430
Citrix NetScaler System Guide
lookup table is created. If a session has a DENY PBR6 related to it, the session is
destroyed.
You must apply this procedure after every modification you make to any PBR6. For
example, you must follow this procedure after disabling a PBR6.
Note: PBR6s created on the NetScaler appliance do not work until they are applied.
apply ns PBR6
Renumbering PBR6s
You can automatically renumber the PBR6s to set their priorities to multiples of 10.
renumber ns pbr6
431
Chapter 7 Networking
The following table lists some of the IPv6 features that the NetScaler appliance
supports.
IPv6 features
USIP (Use source IP) and DSR (Direct Server Return) for IPv6
The following table lists NetScaler components that support IPv6 addresses and
provides references to the PDF documentation of the components.
432
Citrix NetScaler System Guide
Table 7-9. NetScaler Components That Support IPv6 Addresses and the
Corresponding Documentation
You can configure IPv6 support for the above features after implementing the IPv6
feature on your NetScaler appliance. You can configure both tagged and prefix-based
VLANs for IPv6. You can also map IPv4 addresses to IPv6 addresses.
The following message appears if you attempt to run IPv6 commands without the
appropriate license:
After licensing the feature, use either of the following procedures to enable or disable
IPv6.
433
Chapter 7 Networking
VLAN Support
If you need to send broadcast or multicast packets without identifying the VLAN (for
example, during DAD for NSIP, or ND6 for the next hop of the route), you can configure
the NetScaler appliance to send the packet on all the interfaces with appropriate
tagging. The VLAN is identified by ND6, and a data packet is sent only on the VLAN.
For more information about ND6 and VLANs, see "Configuring Neighbor Discovery."
Port-based VLANs are common for IPv4 and IPv6. Prefix-based VLANs are supported for
IPv6.
434
Citrix NetScaler System Guide
The following table summarizes the names and values of the entities that must be
configured on the NetScaler.
SVC2 10.102.29.2
The following figure shows the entities and values of the parameters to be configured
on the NetScaler.
435
Chapter 7 Networking
Example
436
Citrix NetScaler System Guide
w Service Name
w IP Address
w Protocol
w Port
Example
Example
The vservers receive IPv6 packets and the NetScaler performs Protocol Translation (RFC
2765) before sending traffic to the IPv4-based services.
437
Chapter 7 Networking
Example
VIP Insertion
If an IPv6 address is sent to an IPv4-based server, the server may not understand the IP
address in the HTTP header, and may generate an error. To avoid this, you can map an
IPv4 address to the IPv6 VIP and enable VIP insertion.
438
Citrix NetScaler System Guide
Example
Use either of the following procedures to enable insertion of an Ipv4 VIP address and
port number in the HTTP requests sent to the servers.
Example
439
Chapter 7 Networking
Traffic Domains
Traffic domains are a way to segment network traffic for different applications. You
can use traffic domains to create multiple isolated environments within a NetScaler
appliance. An application belonging to a specific traffic domain communicates with
entities and processes traffic within that domain. The traffic belonging to one traffic
domain cannot cross the boundary of another traffic domain.
w Multitenancy. Using traffic domains, you can provide hosting services for multiple
customers by isolating each customer's type of application traffic within a defined
address space on the network.
Note: Some features and configurations are supported only in the default traffic
domain. They do not work in nondefault traffic domains. For a list of the features
440
Citrix NetScaler System Guide
On the NetScaler appliance, entities LBVS-TD1 and LBVS-TD2 share the same settings,
including the IP address. The same is true for SVC1-TD1 and SVC3-TD2, and for SVC2-
TD1 and SVC4-TD2. This is possible because these entities are in different traffic
domains.
Similarly, servers S1 and S3, S2 and S4 share the same IP address, and clients CL-TD1
and CL-TD2 each have the same IP address.
441
Chapter 7 Networking
442
Citrix NetScaler System Guide
443
Chapter 7 Networking
2. The ARP request reaches NS1 on interface 1/3, which is bound to VLAN 3. Because
VLAN 3 is bound to traffic domain 2, NS1 updates traffic-domain 2's ARP-table
entry for the IP address of client CL-TD2, even though an ARP entry for the same IP
address (CL-TD1) is already present in the ARP table of traffic domain 1.
3. Because the ARP request is received in traffic domain 2, NS1 searches traffic
domain 2 for an entity that has an IP address of 192.0.2.15. NS1 finds that load
balancing virtual server LBVS-TD2 is configured in traffic domain 2 and has the IP
address 192.0.2.15. NS1 ignores LBVS-TD1 in traffic domain 1, even though it has
the same IP address as LBVS-TD2.
4. NS1 sends an ARP response with the MAC address of interface 1/3.
5. The ARP reply reaches CL-TD2. CL-TD2 updates its ARP table entry for the IP
address of LBVS-TD2 with the MAC address of interface 1/3 of NS1.
6. Client CL-TD2 sends a request to 192.0.2.15. The request is received by LBVS-TD2
on interface 1/3 of NS1.
7. LBVS-TD2's load balancing algorithm selects server S3, and NS1 opens a connection
between a SNIP in traffic domain 2 (192.0.2.29) and S3.
8. S2 replies to SNIP 192.0.2.29 on NS1.
9. NS1 sends S2's reply to client CL-TD2.
444
Citrix NetScaler System Guide
Any NetScaler feature not listed above is supported only in the default traffic domain.
Traffic domains are not supported in a cluster configuration.
The command line interface has two commands for these two tasks, but the
configuration utility combines them in a single dialog box.
445
Chapter 7 Networking
446
Citrix NetScaler System Guide
You configure this support by using the existing bind lb vserver command or the related
configuration utility procedure.
When a NetScaler ADC is used in a cloud infrastructure, each tenant can be assigned a
separate traffic domain, and all the resources (including servers) for a tenant can be
grouped together in the tenants traffic domain. For each tenant, a virtual server is
created for load balancing servers in its traffic domain. All of these virtual servers are
grouped together in a single traffic domain that faces the Internet.
Traffic domain 10 faces the internet. Virtual servers LBVS-1 and LBVS-2 are created in
traffic domain 10. LBVS-1, in traffic domain 10, is configured to load balance servers S1
and S2, which are in traffic domain 20. LBVS-2, in traffic domain 10, is configured to
load balance servers S3 and S4, which are in traffic domain 30.
Therefore, these virtual servers accept Internet connection requests for servers that
are in a different traffic domain than that of the virtual servers.
447
Chapter 7 Networking
domain. After creating entities on a traffic domain, you can easily manage and monitor
them by performing traffic domain level operations.
Following are points to consider before you configure VMAC based traffic domain:
1. VMAC based traffic domains are easiest way to achieve network traffic
segregation.
2. Because VMAC based traffic domains segregate network traffic based on VMAC
addresses and not VLANS, you cannot create duplicate IP addresses on different
VMAC based traffic domains on a NetScaler ADC.
3. VMAC based traffic domains do not work when the NetScaler is deployed only in L2
Mode.
4. Both VLAN and VMAC based traffic domains can coexist on a NetScaler ADC. VMAC
based traffic domains actually runs on all VLANs that are not bound to any VLAN
based traffic domain.
Consider an example in which two traffic domains, with IDs 1 and 2, are configured on
NetScaler appliance NS1. The NetScaler creates a VMAC address VMAC1 and associates
it with traffic domain 1. Similarly, the NetScaler created another VMAC address VMAC2
and associates with traffic domain 2.
The NetScaler segregate subsequent incoming traffic for traffic domains 1 or 2 on the
basis of the destination MAC address, if the destination MAC address is VMAC1 or
448
Citrix NetScaler System Guide
VMAC2.
449
Chapter 7 Networking
w Port: 80
Configuration Steps
Configuring a VMAC based traffic domain on a NetScaler appliance consists of the
following tasks:
w Create a traffic domain entity and enable the VMAC option. Create a traffic
domain entity uniquely identified by an ID, which is an integer value, and then
enable the VMAC option. After creating the traffic domain entity, the NetScaler
450
Citrix NetScaler System Guide
ADC creates a virtual MAC address and then associates it to the traffic domain
entity.
w Create feature entities on the traffic domain. Create the required feature entities
in the traffic domain by specifying the traffic domain identifier (td) when
configuring these feature entities. NetScaler owned network entities created in a
VMAC based traffic domain are associated with the VMAC address, which is
associated with the traffic domain. The NetScaler ADC then sends the traffic
domains VMAC address in ARP announcements and ARP responses for these
network entities.
To create a VMAC based traffic domain by using the command line interface
At the command prompt, type:
w add ns trafficDomain <td> [-vmac ( ENABLED | DISABLED )]
w show ns trafficdomain <td>
To create a load balancing virtual server and bind services to it by using the
command line interface
At the command prompt, type:
w add lb vserver <name> <serviceType> <IPAddress> <port> -td <id>
w bind lb vserver <name> <serviceName>
w show lb vserver <name> -td <id>
Example
451
Chapter 7 Networking
Done
> bind lb vserver LBVS-TD1 SVC-S1-TD1
Done
> bind lb vserver LBVS-TD1 SVC-S2-TD1
Done
452
Citrix NetScaler System Guide
3. In the Basic Settings Page, set the following parameters. For a description of a
parameter, hover the mouse cursor over the corresponding field.
Service Name
Server
Protocol
Port
Traffic Domain ID
4. Click Continue, and click Done.
5. Repeat steps 2-4 to create another service.
6. Click Close.
To create a load balancing virtual server and bind services to it by using the
configuration utility
1. Navigate to Traffic Management > Load Balancing > Virtual Servers.
2. In the Load Balancing Virtual Servers pane, click Add.
3. In the Create Virtual Servers (Load Balancing) dialog box, set the following
parameters. For a description of a parameter, hover the mouse cursor over the
corresponding field.
Name
IP Address
Protocol
Port
Traffic Domain ID
4. Click Continue, on the Service Pane, click >.
5. On the Service page, click Insert, and then select the check box for the services
that you want to bind to the virtual server.
6. Click Continue, and click Done.
7. Repeat steps 2-5 to create another virtual server
VXLAN
NetScaler ADCs support Virtual eXtensible Local Area Networks (VXLANs). A VXLAN
overlays Layer 2 networks onto a layer 3 infrastructure by encapsulating Layer-2 frames
in UDP packets. Each overlay network is known as a VXLAN Segment and is identified by
a unique 24-bit identifier called the VXLAN Network Identifier (VNI). Only network
devices within the same VXLAN can communicate with each other.
453
Chapter 7 Networking
VXLANs provide the same Ethernet Layer 2 network services that VLANs do, but with
greater extensibility and flexibility. The two main benefits of using VXLANs are the
following:
w Higher scalability. Server virtualization and cloud computing architectures have
dramatically increased the demand for isolated Layer 2 networks in a datacenter.
The VLAN specification uses a 12-bit VLAN ID to identify a Layer 2 network, so you
cannot scale beyond 4094 VLANs. That number can be inadequate when the
requirement is for thousands of isolated Layer 2 networks. The 24-bit VNI
accommodates up to 16 million VXLAN segments in the same administrative domain.
w Higher flexibility. Because VXLAN carries Layer 2 data frames over Layer 3 packets,
VXLANs extend L2 networks across different parts of a datacenter and across
geographically separated datacenters. Applications that are hosted in different
parts of a datacenter and in different datacenters but are part of the same VXLAN
appear as one contiguous network.
The following illustration displays virtual machines and physical servers connected
through VXLAN tunnels.
454
Citrix NetScaler System Guide
VXLANs on a NetScaler ADC use a Layer 2 mechanism for sending broadcast, multicast,
and unknown unicast frames. A VXLAN supports the following modes for sending these
L2 frames.
w Unicast mode: In this mode, you specify the IP addresses of VTEPs while configuring
a VXLAN on a NetScaler ADC. The NetScaler ADC sends broadcast, multicast, and
unknown unicast frames over Layer 3 to all VTEPs of this VXLAN.
w Multicast mode: In this mode, you specify a multicast group IP address while
configuring a VXLAN on a NetScaler ADC. NetScaler ADCs do not support Internet
Group Management Protocol (IGMP) protocol. NetScaler ADCs rely on the upstream
router to join a multicast group, which shares a common multicast group IP address.
The NetScaler ADC sends broadcast, multicast, and unknown unicast frames over
Layer 3 to the multicast group IP address of this VXLAN.
Similar to a Layer 2 bridge table, NetScaler ADCs maintain VXLAN mapping tables based
on the inner and outer header of the received VXLAN packets. This table maps of
remote host MAC addresses to VTEP IP addresses for a particular VXLAN. The NetScaler
ADC uses the VXLAN mapping table to look up the destination MAC address of a Layer 2
frame. If an entry for this MAC address is present in the VXLAN table, the NetScaler
ADC sends the Layer 2 frame over Layer 3, using the VXLAN protocol, to the mapped
VTEP IP address specified in the mapping entry for a VXLAN.
On a NetScaler ADC, you configure a VXLAN by creating a VXLAN tunnel and a VXLAN
entity, and then bind the VXLAN tunnel to the VXLAN entity. A VXLAN tunnel is an IP
tunnel with VXLAN as the underlying protocol. The VXLAN tunnel also specifies the local
VTEP IP address and the remote VTEP IP address. The local VTEP IP address can be one
of the configured subnet IP addresses on the NetScaler ADC. The remote IP address can
be the IP address of a VTEP or the IP address of a multicast group. The VXLAN entity
specifies the desired VXLAN Network Identifier (VNI).
Because VXLANs function similarly to VLANs, most of the NetScaler features that
support VLAN as a classification parameter support VXLAN. These features include an
optional VXLAN parameter setting, which specifies the VXLAN VNI.
455
Chapter 7 Networking
availability, the site is hosted on three servers, S0, S1, and S2. A load balancing virtual
server, LBVS, on NetScaler ADC NS-ADC is used to load balance these servers. S0, S1,
and S2 reside in datacenters DC0, DC1, and DC2, respectively. In DC0, server S0 is
connected to NS-ADC.
S0, S1, and S2 are part of the same private subnet, 192.0.1.0/24. For enabling NS-ADC,
S0, S1, and S2 be part of a common broadcast domain, VXLAN 9000 is configured on NS-
ADC, Dev-VTEP-1, and Dev-VTEP-2. Servers S1 and S2 are made part of VXLAN9000 on
Dev-VTEP-1 and Dev-VTEP-2, respectively.
456
Citrix NetScaler System Guide
457
Chapter 7 Networking
Services SVC-S0, SVC-S1, and SVC-S2 on NS-ADC represent S0, S1, and S2. As soon as
these services are configured, NS-ADC broadcasts ARP requests for S0, S1, and S2 to
resolve IP-to-MAC mapping. These ARP requests are also sent over VXLAN 9000 to Dev-
VTEP-1 and Dev-VTEP-2.
Following is the traffic flow for resolving the ARP request for S2:
1. NS-ADC broadcasts an ARP request for S2 to resolve IP-to-MAC mapping. This
packet has:
Sourced IP address = Subnet IP address SNIP-for-Servers (192.0.1.50)
Source MAC address = MAC address of the NS-ADCs interface from which the
packet is sent out = NS-MAC-1
2. NS-ADC prepares the ARP packet to be sent over the VXLAN 9000 by encapsulating
the packet with following headers:
VXLAN header with an ID (VNI) of 9000
458
Citrix NetScaler System Guide
Standard UDP header, UDP checksum set to 00000, and destination port set to
4789.
3. NS-ADC sends the resulting encapsulated packet to Dev-VTEP-1 and Dev-VTEP-2 on
tunnels VXLAN-9000-Tunnel-1 and VXLAN-9000-Tunnel-2, respectively. The
encapsulated packet has:
Source IP address = SNIP-VTEP-0 (203.0.100.100).
4. Dev-VTEP-2 receives the UDP packet and decapsulates the UDP header, from which
Dev-VTEP-2 learns that the packet is a VXLAN related packet. Dev-VTEP-2 then
decapsulates the VXLAN header and learns the VXLAN ID of the packet. The
resulting packet is the ARP request packet for S2, which is same as in step 1.
5. From the inner and outer header of the VXLAN packet, Dev-VTEP-2 makes an entry
in its VXLAN mapping table that shows the mapping of MAC address (NS-MAC-1) and
SNIP-VTEP-0 (203.0.100.100) for VXLAN9000.
6. Dev-VTEP-2 sends the ARP packet to S2. S2s response packet reaches Dev-VTEP-2.
Dev-VTEP-2 performs a lookup in its VXLAN mapping table and gets a match for the
destination MAC address NS-MAC-1. The Dev-VTEP-2 now knows that NS-MAC-1 is
reachable through SNIP-VTEP-0 (203.0.100.100) over VXLAN 9000.
7. S2 responds with its MAC address (MAC-S2). The ARP response packet has:
Destination IP address = Subnet IP address SNIP-for-Servers (192.0.1.50)
Destination MAC address = NS-MAC-1
8. S2s response packet reaches Dev-VTEP-2. Dev-VTEP-2 performs a lookup in its
VXLAN mapping table and gets a match for the destination MAC address NS-MAC-1.
The Dev-VTEP-2 now knows that NS-MAC-1 is reachable through SNIP-VTEP-0
(203.0.100.100) over VXLAN 9000. Dev-VTEP-2 encapsulates the ARP response with
VXLAN and UDP headers, and sends the resultant packet to SNIP-VTEP-0
(203.0.100.100) of NS-ADC.
9. NS-ADC on receiving the packet, decapsulates the packet by removing the VXLAN
and UDP headers. The resultant packet is S2s ARP response. NS-ADC updates it
VXLAN mapping table for S2s MAC address (MAC-S2) with Dev-VTEP-2s IP address
(203.0.102.102) for VXLAN 9000. NS-ADC also updates it ARP table for S2s IP
address (192.0.1.102) with S2s MAC address (MAC-S2).
Following is the traffic flow for load balancing virtual server LBVS in this example:
1. Client CL sends a request packet to LBVS of NS-ADC. The request packet has:
Source IP address = IP address of client CL (198.51.100.90)
Destination IP address = IP address (VIP) of LBVS = 198.51.110.100
2. LBVS of NS-ADC receives the request packet, and its load balancing algorithm
selects server S2 of datacenter DC2.
3. NS-ADC processes the request packet, changing its destination IP address to the IP
address of S2 and its source IP address to one of the Subnet IP (SNIP) addresses
configured on NS-ADC. The request packet has:
Source IP address = Subnet IP address on NS-ADC= SNIP-for-Servers (192.0.1.50)
459
Chapter 7 Networking
460
Citrix NetScaler System Guide
To avoid fragmentation and performance degradation, you must adjust the MTU
settings of all network devices in a VXLAN pathway, including the VXLAN VTEP
devices, to handle the 50 bytes of overhead in the VXLAN packets.
Important: Jumbo frames are not supported on the NetScaler VPX virtual
appliances, NetScaler SDX appliances, and NetScaler MPX 15000/17000
appliances. These appliances support an MTU size of only 1500 bytes and cannot
be adjusted to handle the 50 bytes overhead of VXLAN packets. VXLAN traffic
might be fragmented or suffer performance degradation, if one of these appliances
is in the VXLAN pathway or acts as a VXLAN VTEP device.
w On NetScaler SDX appliances, VLAN filtering does not work for VXLAN packets.
w IPv6 Dynamic Routing is not supported on VXLAN.
w You cannot set a MTU value on a VXLAN.
w You cannot bind interfaces to a VXLAN.
Configuration Steps
Configuring a VXLAN on a NetScaler appliance consists of the following tasks.
w Create an IP tunnel of type VXLAN. Create an IP tunnel with VXLAN as the protocol
for the IP tunnel. You specify one of the configured SNIP address for the local IP
address of the tunnel. For the remote IP address you can specify either a multicast
group IP address or a unicast address of a VTEP device. If you specify a multicast
group IP address, you must configure IGMP on the upstream router of the NetScaler
ADC to join the multicast group. Also, you can specify the configured VLAN through
which the NetScaler ADC sends VXLAN packets to the multicast group IP address. In
other words, the upstream router must be available on this VLAN. The upstream
router forwards the VXLAN packets, from NS-ADC, to all the VTEPs that are part of
the multicast group.
w Create a VXLAN entity. Create a VXLAN entity uniquely identified by a positive
integer, which is also called the VXLAN Network Identifier (VNI). In this step, you
can also specify the destination UDP port of remote VTEP on which the VXLAN
protocol is running. By default, the destination UDP port parameter is set to 4789
461
Chapter 7 Networking
for the VXLAN entity. This UDP port setting must match the settings on all remote
VTEPs for this VXLAN. In this step, you can also bind VLANs to this VXLAN. The
traffic (which includes broadcasts, multicasts, unknown unicasts) of all bound VLANs
are allowed over this VXLAN. If no VLANs are bound to the VXLAN, the NetScaler
ADC allows traffic of all VLANs, on this VXLAN, that are not part of any other
VXLANs.
w Bind the VXLAN tunnel to the VXLAN entity. Bind the desired IP tunnels, of type
VXLAN, to the VXLAN entity. More than one VXLAN tunnels can be bound to the
VXLAN entity. These VXLAN tunnels form the broadcast domain for the VXLAN
identified by its VNI.
w (Optional) Bind different feature entities to the configured VXLAN. VXLANs
function similarly to VLANs, most of the NetScaler ADC features that support VLAN
as a classification parameter also support VXLAN. These features include an optional
VXLAN parameter setting, which specifies the VXLAN VNI.
w (Optional) Display the VXLAN mapping table. Display the VXLAN mapping table,
which includes mapping entries for remote host MAC address to VTEP IP address for
a particular VXLAN. In other words, a VXLAN mapping states that a host is reachable
through the VTEP on a particular VXLAN. The NetScaler ADC learns VXLAN mappings
and updates its mapping table from the VXLAN packets it receives. The NetScaler
ADC uses the VXLAN mapping table to lookup for the destination MAC address of a
Layer 2 frame. If an entry for this MAC address is present in the VXLAN table, the
NetScaler ADC sends the Layer 2 frame over Layer 3, using the VXLAN protocol, to
the mapped VTEP IP address specified in the mapping entry for a VXLAN.
462
Citrix NetScaler System Guide
show bridgetable
Example
> add ipTunnel VXLAN-9000-Tunnel-1 203.0.101.101
255.255.255.255 203.0.100.100 -protocol VXLAN
Done
463
Chapter 7 Networking
464
Chapter 8
Web Interface
465
Chapter 8 Web Interface
Following is a typical set of interactions among a user device, a NetScaler running the
Web interface, and a server farm.
1. A user authenticates to the Web interface through a Web browser or by using the
XenApp plug-in.
2. The Web interface reads the user's credentials and forwards the information to the
Citrix XML Service running on servers in the server farm.
3. The Citrix XML Service on the designated server retrieves from the servers a list of
resources that the user can access. These resources constitute the user's resource
set and are retrieved from the Independent Management Architecture (IMA)
system.
4. The Citrix XML Service then returns the user's resource set to the Web interface
running on the NetScaler.
5. The user clicks an icon that represents a resource on the HTML page.
6. The Web interface queries the Citrix XML Service for the least busy server.
7. The Citrix XML Service returns the address of this server to the Web interface.
8. The Web interface sends the connection information to the Web browser.
9. The Web browser initiates a session with the server.
Prerequisites
The following prerequisites are required before you begin installing and configuring the
Web interface.
466
Citrix NetScaler System Guide
Note: On a high availability setup, when installing the web interface with tar files (web
interface and JRE) that are already available on the appliance, ensure that the files are
available in the same location on both the primary and secondary appliances;
otherwise, the web interface will not be installed on the secondary appliance.
Copy the tar files to a local workstation or to the /var directory of the appliance.
These files install all the Web interface components and JRE on the hard drive and
configure automatic startup of the Tomcat Web server with Web interface at appliance
startup time. Both tar files are internally expanded in the /var/wi directory on the
hard drive.
Note: After installing web interface on the appliance and before creating a web
interface site, you must place the client plugin in the appliance by using the
appropriate Upload Plugins utility provided on the web interface details pane.
Examples
467
Chapter 8 Web Interface
username:[email protected]/var/nswi-1.5.tgz -
jre <url>
w Using an HTTP or an HTTPS virtual server. You create an HTTP or an HTTPS virtual
server on the NetScaler appliance and bind the web interface service, running on
port 8080 of the NetScaler appliance, to the virtual server. Clients on the LAN use
the virtual server IP address to access the web interface. When using this access
method, the URL format for the web interface site is as follows:
<HTTP or HTTPS>://<HTTP or HTTPS vserver IP address>:<vserver
port number>/<web interface site path>
The following access methods are available for clients accessing the web interface
site when it is configured using an HTTP or an HTTPS virtual server:
Direct. Actual address of a XenApp or XenDesktop server is sent to the clients.
Alternate. Alternate address of a XenApp or XenDesktop server is sent to the
clients.
Translated. Translated address, from the defined internal addresses to external
addresses and ports mapping table, is sent to the clients from a specified
network. When you use this option, you have to define internal address to
external address and port mappings.
The following figure illustrates the Web interface running on the NetScaler appliance
NS1. A Web interface site WINS1 is created and a XenApp farm XA1 and a XenDesktop
468
Citrix NetScaler System Guide
farm XD1 are bound to it. An HTTP vserver HTTP_WI is also created. Client C1 uses the
IP address of the HTTP_WI vserver to access the WINS1 site.
Figure 8-2. A Web Interface Site Configured for LAN Users Using HTTP
Note: When you create the HTTP vserver by using the configuration utility, the
configuration utility automatically creates a service, which logically represents the
Web interface service running on the NetScaler appliance, and binds the service
to the HTTP virtual server.
3. On Configure Access Methods page, create the access method for a client IP
address or network.
Note: Before you configure access method based on the client IP address, you
must enable USIP mode on the web interface service to make the client's IP
address available with the web interface.
469
Chapter 8 Web Interface
Note: The Configure Address Translations page appears on the wizard when
you set the Translated access method for a Client's IP address or network.
Example
Example
470
Citrix NetScaler System Guide
Example
Example
7. Bind the Web interface service to the HTTP vserver. At the command prompt, type:
bind lb vserver <virtualServerName> <serviceName>
Example
The following figure illustrates the Web interface running on the NetScaler appliance
NS1. A Web interface site WINS1 is created and a XenApp farm XA1 and a XenDesktop
farm XD1 are bound to it. An HTTPS vserver HTTPS_WI is also created. Client C1 uses
the IP address of the HTTPS_WI vserver to access the WINS1 site.
471
Chapter 8 Web Interface
Figure 8-3. A Web Interface Site Configured for LAN Users Using HTTPS
Note: When you create the HTTPS vserver by using the configuration utility, the
configuration utility automatically creates a service, which logically represents the
Web interface service running on the NetScaler appliance, and binds the service
to the HTTPS virtual server.
Note: Before you configure access method based on the client IP address, you
must enable USIP mode on the web interface service to make the client's IP
address available with the web interface.
472
Citrix NetScaler System Guide
Note: The Configure Address Translations page appears on the wizard when
you set the Translated access method for a Client's IP address or network.
Example
Example
473
Chapter 8 Web Interface
Example
Example
7. Bind the Web interface service to the HTTPS vserver. At the command prompt,
type:
bind lb vserver <name>@ <serviceName>
Example
Example
9. Bind the SSL certificate key pair to the HTTPS vserver. At the command prompt,
type:
bind ssl vserver <vserverName> -certkeyName <certificate- KeyPairName>
Example
Example
11. Create a rewrite policy and bind the rewrite action to it. At the command prompt,
type:
474
Citrix NetScaler System Guide
Example
12. Bind the rewrite policy to the HTTPS vserver. At the command prompt, type:
bind lb vserver <VserverName> -policyname <rewritePolicyName> -priority <value>
-type response
Example
475
Chapter 8 Web Interface
w Mark All. Highlights all instances of the text string at one time you typed in
Look for. Scroll to review each highlighted instance.
476
Citrix NetScaler System Guide
477