Professional Documents
Culture Documents
Version 10.2
MAN-0293-02
Product Version
This manual applies to version 10.2 of the BIG-IP product family.
Publication Date
This guide was published on June 9, 2010.
Legal Notices
Copyright
Copyright 2010, F5 Networks, Inc. All rights reserved. F5 Networks, Inc. (F5) believes the information it furnishes to be accurate and reliable. However, F5 assumes no responsibility for the use of this information, nor any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent, copyright, or other intellectual property right of F5 except as specifically described by applicable user licenses. F5 reserves the right to change specifications at any time without notice.
Trademarks
F5, F5 Networks, the F5 logo, BIG-IP, 3-DNS, Access Policy Manager, APM, Acopia, Acopia Networks, Application Accelerator, Ask F5, Application Security Manager, ASM, ARX, Data Guard, Edge Client, Edge Gateway, Enterprise Manager, EM, FirePass, FreedomFabric, Global Traffic Manager, GTM, iControl, Intelligent Browser Referencing, Internet Control Architecture, IP Application Switch, iRules, Link Controller, LC, Local Traffic Manager, LTM, Message Security Module, MSM, NetCelera, OneConnect, Packet Velocity, Protocol Security Module, PSM, Secure Access Manager, SAM, SSL Accelerator, SYN Check, Traffic Management Operating System, TMOS, TrafficShield, Transparent Data Reduction, uRoam, VIPRION, WANJet, WAN Optimization Module, WOM, WebAccelerator, WA, and ZoneRunner are trademarks or service marks of F5 Networks, Inc., in the U.S. and other countries, and may not be used without F5's express written consent. All other product and company names herein may be trademarks of their respective owners.
Patents
This product protected by U.S. Patents 6,374,300; 6,473,802; 6,970,933; 7,051,126; 7,102,996; 7,146,354; 7,197,661; 7,206,282; 7,287,084. Other patents pending.
RF Interference Warning
This is a Class A product. In a domestic environment this product may cause radio interference, in which case the user may be required to take adequate measures.
FCC Compliance
This equipment has been tested and found to comply with the limits for a Class A digital device pursuant to Part 15 of FCC rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This unit 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 the user, at his own expense, will be required to take whatever measures may be required to correct the interference. Any modifications to this device, unless expressly approved by the manufacturer, can void the user's authority to operate this equipment under part 15 of the FCC rules.
Standards Compliance
This product conforms to the IEC, European Union, ANSI/UL and Canadian CSA standards applicable to Information Technology products at the time of manufacture.
Acknowledgments
This product includes software developed by Bill Paul. This product includes software developed by Jonathan Stone. This product includes software developed by Manuel Bouyer. This product includes software developed by Paul Richards. This product includes software developed by the NetBSD Foundation, Inc. and its contributors. This product includes software developed by the Politecnico di Torino, and its contributors. This product includes software developed by the Swedish Institute of Computer Science and its contributors. This product includes software developed by the University of California, Berkeley and its contributors. This product includes software developed by the Computer Systems Engineering Group at the Lawrence Berkeley Laboratory. This product includes software developed by Christopher G. Demetriou for the NetBSD Project. This product includes software developed by Adam Glass. This product includes software developed by Christian E. Hopps. This product includes software developed by Dean Huxley. This product includes software developed by John Kohl. This product includes software developed by Paul Kranenburg. This product includes software developed by Terrence R. Lambert. This product includes software developed by Philip A. Nelson. This product includes software developed by Herb Peyerl. This product includes software developed by Jochen Pohl for the NetBSD Project. This product includes software developed by Chris Provenzano. This product includes software developed by Theo de Raadt. This product includes software developed by David Muir Sharnoff. This product includes software developed by SigmaSoft, Th. Lockert. This product includes software developed for the NetBSD Project by Jason R. Thorpe. This product includes software developed by Jason R. Thorpe for And Communications, http://www.and.com. This product includes software developed for the NetBSD Project by Frank Van der Linden. This product includes software developed for the NetBSD Project by John M. Vinopal. This product includes software developed by Christos Zoulas. This product includes software developed by the University of Vermont and State Agricultural College and Garrett A. Wollman. This product includes software developed by Balazs Scheidler <bazsi@balabit.hu>, which is protected under the GNU Public License. This product includes software developed by Niels Mueller <nisse@lysator.liu.se>, which is protected under the GNU Public License. In the following statement, "This software" refers to the Mitsumi CD-ROM driver: This software was developed by Holger Veit and Brian Moore for use with "386BSD" and similar operating systems. "Similar operating systems" includes mainly non-profit oriented systems for research and education, including but not restricted to "NetBSD," "FreeBSD," "Mach" (by CMU). This product includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/). This product includes software licensed from Richard H. Porter under the GNU Library General Public License ( 1998, Red Hat Software), www.gnu.org/copyleft/lgpl.html.
ii
This product includes the standard version of Perl software licensed under the Perl Artistic License ( 1997, 1998 Tom Christiansen and Nathan Torkington). All rights reserved. You may find the most current standard version of Perl at http://www.perl.com. This product includes software developed by Jared Minch. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/). This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product contains software based on oprofile, which is protected under the GNU Public License. This product includes RRDtool software developed by Tobi Oetiker (http://www.rrdtool.com/index.html) and licensed under the GNU General Public License. This product contains software licensed from Dr. Brian Gladman under the GNU General Public License (GPL). This product includes software developed by the Apache Software Foundation <http://www.apache.org/>. This product includes Hypersonic SQL. This product contains software developed by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and others. This product includes software developed by the Internet Software Consortium. This product includes software developed by Nominum, Inc. (http://www.nominum.com). This product contains software developed by Broadcom Corporation, which is protected under the GNU Public License. This product contains software developed by MaxMind LLC, and is protected under the GNU Lesser General Public License, as published by the Free Software Foundation. This product includes the GeoPoint Database developed by Quova, Inc. and its contributors.
iii
iv
Table of Contents
Table of Contents
1
Introducing Implementations for BIG-IP Local Traffic Manager
Introducing BIG-IP system implementations ............................................................................1-1 Getting started .......................................................................................................................1-1 Using the Configuration utility ............................................................................................1-1 About this guide ..............................................................................................................................1-2 Additional information ..........................................................................................................1-2 Stylistic conventions ..............................................................................................................1-3 Finding help and technical support resources ..........................................................................1-5
2
Configuring nPath Routing
Introducing nPath routing .............................................................................................................2-1 Configuring nPath routing .............................................................................................................2-2 Creating a custom Fast L4 profile ......................................................................................2-3 Creating a server pool for nPath routing .........................................................................2-4 Creating a virtual server ......................................................................................................2-4 Configuring the virtual server on the content server loopback interface ................2-5 Setting the route for inbound traffic .................................................................................2-5 Enabling the connection.autolasthop bigdb key ..............................................................2-5 Setting timers for nPath configurations .....................................................................................2-6 Guidelines for configuring timeouts for UDP traffic .....................................................2-6 Guidelines for configuring timeouts for TCP traffic ......................................................2-6
3
Basic Web Site and E-Commerce Configuration
Working with a basic web site and e-commerce configuration ..........................................3-1 Configuring a basic e-commerce site .........................................................................................3-2 Creating load balancing pools .............................................................................................3-2 Creating virtual servers ........................................................................................................3-3
4
Installing a BIG-IP System without Changing the IP Network
Installing a BIG-IP system without changing IP networks ......................................................4-1 Configuring the BIG-IP system for the same IP network ......................................................4-3 Removing the self IP addresses from the individual VLANs ........................................4-3 Creating a VLAN group .......................................................................................................4-4 Creating a self IP address for the VLAN group ..............................................................4-5 Creating a pool of web servers ..........................................................................................4-5 Creating a virtual server ......................................................................................................4-6
5
Web Hosting for Multiple Customers
Introducing multiple customer hosting ......................................................................................5-1 Hosting multiple customers using an external switch ............................................................5-2 Creating VLANs with tagged interfaces ...........................................................................5-2 Creating load balancing pools .............................................................................................5-3 Creating virtual servers ........................................................................................................5-3 Directly hosting multiple customers ..........................................................................................5-5 Creating VLANs with untagged interfaces .......................................................................5-6
vii
Table of Contents
6
Web Hosting for Multiple Customers using Route Domains
Introduction .....................................................................................................................................6-1 Prerequisite information ...............................................................................................................6-1 Procedure .........................................................................................................................................6-2 Example .............................................................................................................................................6-6 For more information ....................................................................................................................6-8
7
A Simple Intranet Configuration
Working with a simple intranet configuration .........................................................................7-1 Creating the simple intranet configuration ...............................................................................7-2 Creating pools ........................................................................................................................7-2 Creating virtual servers ........................................................................................................7-3
8
Load Balancing ISPs
Introducing ISP load balancing ......................................................................................................8-1 Configuring ISP load balancing .....................................................................................................8-2 Creating pools for an additional Internet connection ...................................................8-2 Creating virtual servers for an additional Internet connection ..................................8-3 Configuring address translation for outbound traffic .............................................................8-5
9
Load Balancing HTTP Traffic with Source Address Affinity Persistence
Introducing basic HTTP load balancing ......................................................................................9-1 Configuring HTTP load balancing with source address affinity persistence ......................9-2 Creating a pool .......................................................................................................................9-2 Creating a virtual server ......................................................................................................9-3
10
Load Balancing HTTP Traffic with Cookie Persistence
Introducing basic HTTP load balancing ................................................................................... 10-1 Configuring HTTP load balancing with cookie persistence ............................................... 10-2 Creating a custom persistence profile ........................................................................... 10-2 Creating a pool .................................................................................................................... 10-3 Creating a virtual server ................................................................................................... 10-3
11
Compressing HTTP Responses
Introducing HTTP data compression ...................................................................................... 11-1 Creating a custom HTTP profile .............................................................................................. 11-2 Creating a virtual server ............................................................................................................. 11-3
viii
Table of Contents
12
Configuring HTTPS Load Balancing
Introducing HTTPS load balancing ........................................................................................... 12-1 Creating an SSL key and certificate ......................................................................................... 12-2 Creating a custom SSL profile ................................................................................................... 12-4 Creating a pool ............................................................................................................................. 12-6 Creating a virtual server ............................................................................................................. 12-7
13
Configuring HTTPS Load Balancing with Data Compression
Introducing HTTPS load balancing with compression ......................................................... 13-1 Creating an SSL key and certificate ......................................................................................... 13-2 Creating a custom Client SSL profile ...................................................................................... 13-4 Creating a custom HTTP profile for compression .............................................................. 13-5 Creating a pool ............................................................................................................................. 13-7 Creating a virtual server ............................................................................................................. 13-8
14
Using RAM Cache for HTTP Traffic
Introducing HTTP RAM Cache ................................................................................................. 14-1 Creating a custom HTTP profile .............................................................................................. 14-2 Creating a virtual server ............................................................................................................. 14-3
15
Load Balancing Passive Mode FTP Traffic
Introducing FTP load balancing ................................................................................................. 15-1 Creating a custom FTP monitor ............................................................................................... 15-2 Creating a pool ............................................................................................................................. 15-3 Creating a virtual server ............................................................................................................. 15-4
16
Load Balancing Passive Mode FTP Traffic with Rate Shaping
Introducing FTP load balancing with rate shaping ................................................................ 16-1 Creating a custom FTP monitor ............................................................................................... 16-2 Creating a pool ............................................................................................................................. 16-3 Creating a rate class .................................................................................................................... 16-4 Creating a virtual server ............................................................................................................. 16-5
17
Setting up a One-IP Network Topology
Introducing the one-IP network topology ............................................................................. 17-1 Creating a pool for a one-IP network topology ................................................................... 17-2 Creating a virtual server ............................................................................................................. 17-3 Defining a default route .............................................................................................................. 17-4 Configuring a client SNAT ......................................................................................................... 17-5
ix
Table of Contents
18
Using Link Aggregation with Tagged VLANs
Introducing link aggregation with tagged VLAN interfaces ................................................ 18-1 Using the two-network aggregated tagged interface topology ......................................... 18-2 Aggregating the links .......................................................................................................... 18-3 Assigning a trunk to the VLANs ...................................................................................... 18-3 Creating a pool of web servers to load balance .......................................................... 18-4 Creating a virtual server to load balance the web servers ....................................... 18-5 Using the one-network aggregated tagged interface topology ......................................... 18-6 Removing the self IP addresses from the VLANs ....................................................... 18-7 Creating a VLAN group .................................................................................................... 18-7 Creating a self IP for the VLAN group .......................................................................... 18-8
19
Setting Up Packet Filtering
Introducing packet filtering ........................................................................................................ 19-1 Configuring packet filtering ........................................................................................................ 19-2 Creating a SNAT ................................................................................................................. 19-2 Creating a gateway pool .................................................................................................... 19-2 Creating a forwarding virtual server .............................................................................. 19-3 Creating a packet filter rule ............................................................................................. 19-4
20
Implementing Health and Performance Monitors
Introducing health and performance monitors ..................................................................... 20-1 Creating a custom monitor ....................................................................................................... 20-3 Creating a pool ............................................................................................................................. 20-4 Assigning a monitor to a pool .......................................................................................... 20-4 Excluding a pool member from a monitor .................................................................... 20-5 Creating a virtual server ............................................................................................................. 20-6
21
Load Balancing Traffic to IPv6 Nodes
Configuring the radvd service ................................................................................................... 21-1 Configuring IPv4-to-IPv6 load balancing ................................................................................. 21-2 Creating a pool of IPv6 nodes ......................................................................................... 21-2 Creating a virtual server ................................................................................................... 21-3
22
Mitigating Denial of Service and Other Attacks
Basic denial of service security overview ............................................................................... 22-1 Configuring adaptive connection reaping ............................................................................... 22-2 Logging adaptive reaper activity ...................................................................................... 22-3 Simple DoS prevention configuration ..................................................................................... 22-4 Setting the TCP and UDP connection timers .............................................................. 22-4 Creating an IP rate class and applying it to a virtual server ...................................... 22-5 Setting connection limits on the main virtual server .................................................. 22-6 Filtering out attacks with iRules ............................................................................................... 22-7 Filtering out a Code Red attack ...................................................................................... 22-7 Filtering out a Nimda attack ............................................................................................. 22-7 How the BIG-IP system handles several common attacks ................................................. 22-8 SYN flood ............................................................................................................................. 22-8 x
Table of Contents
ICMP flood (Smurf) ............................................................................................................ 22-9 UDP flood ............................................................................................................................. 22-9 UDP fragment .................................................................................................................... 22-10 Ping of Death ..................................................................................................................... 22-10 Land attack ......................................................................................................................... 22-10 Teardrop ............................................................................................................................. 22-11 Data attacks ....................................................................................................................... 22-11 WinNuke ............................................................................................................................ 22-11 Sub 7 .................................................................................................................................... 22-11 Back Orifice ........................................................................................................................ 22-12
23
Configuring Administrative Partitions to Control User Access
Introducing administrative partitions ....................................................................................... 23-1 Creating a partition ..................................................................................................................... 23-2 Configuring user access to a partition .................................................................................... 23-3 Viewing, managing, and creating objects in a partition ........................................................ 23-4 Viewing and managing system objects ........................................................................... 23-4 Creating BIG-IP system objects ....................................................................................... 23-5
24
Configuring Remote Authentication and Authorization for Administrative Traffic
Introducing remote authentication and authorization for BIG-IP system user accounts .... 24-1 Configuring the BIG-IP system to use remote authentication of user accounts .......... 24-2 Configuring access control for BIG-IP system users ........................................................... 24-6 Understanding the remoterole command .................................................................... 24-7 Using the remote role command .................................................................................... 24-7 Using variable substitution ................................................................................................ 24-8 Propagating remote authentication and authorization data to multiple BIG-IP devices ..................................................................... 24-11
25
Configuring Remote Authentication for Application Traffic
Introducing remote authentication for application traffic .................................................. 25-1 Configuring authentication that uses a remote LDAP or Active Directory server ..... 25-2 Creating an LDAP configuration object ........................................................................ 25-2 Creating an LDAP authentication profile ...................................................................... 25-6 Modifying a virtual server for LDAP authentication ................................................... 25-6 Configuring authentication that uses a remote RADIUS server ....................................... 25-8 Creating a RADIUS server object ................................................................................... 25-8 Creating a RADIUS configuration object ...................................................................... 25-9 Creating a RADIUS profile ............................................................................................. 25-10 Modifying a virtual server for RADIUS authentication ............................................ 25-10 Configuring authentication that uses a remote TACACS+ server ................................ 25-12 Creating a TACACS+ configuration object ................................................................ 25-12 Creating a TACACS+ profile ......................................................................................... 25-13 Modifying a virtual server for TACACS+ authentication ........................................ 25-14 Configuring SSL-based authorization using a remote LDAP server ............................... 25-15 Creating an SSL CLient Certificate LDAP configuration object ............................ 25-15 Creating an SSL Client Certificate LDAP authentication profile ........................... 25-16 Modifying a virtual server for SSL Client Certificate LDAP authorization .......... 25-17
xi
Table of Contents
Configuring SSL certificate revocation using an OCSP responder ................................. 25-18 Creating an SSL OCSP responder object ................................................................... 25-18 Creating an SSL OCSP configuration object .............................................................. 25-19 Creating an SSL OCSP profile ....................................................................................... 25-19 Modifying a virtual server for SSL OCSP authentication ......................................... 25-20 Configuring a CRLDP authentication module ..................................................................... 25-21 Creating a CRLDP server object .................................................................................. 25-21 Creating a CRLDP configuration object ...................................................................... 25-22 Creating a CRLDP profile ............................................................................................... 25-23 Modifying a virtual server for CRLDP authentication .............................................. 25-24
26
Configuring Kerberos Delegation
Introducing Kerberos delegation infrastructure ................................................................... 26-1 Configuring the BIG-IP system for Kerberos delegation .................................................... 26-4 Adding a DNS server to the BIG-IP system ................................................................. 26-4 Joining the BIG-IP system to the trusted domain ........................................................ 26-6 Creating the Kerberos delegation configuration .................................................................. 26-7 Configuring Kerberos delegation using the Configuration utility ............................ 26-7 Configuring Kerberos delegation from the command line ..................................... 26-10 Configuring Kerberos delegation using tmsh ............................................................ 26-12 Authenticating Client Traffic ................................................................................................... 26-14 The BIG-IP system as a proxy server for Kerberos ................................................. 26-14 The BIG-IP system for client authentication with protocol transition ................. 26-15 Required Active Directory Settings .............................................................................. 26-16
27
Configuring Multiple Authentication Servers
Introducing multiple authentication server configuration .................................................. 27-1 Meeting prerequisites .................................................................................................................. 27-2 Configuring BIG-IP system objects .......................................................................................... 27-2
28
Load Balancing Diameter Application Requests
Introducing Diameter load balancing ....................................................................................... 28-1 Creating a custom Diameter profile ........................................................................................ 28-2 Creating a custom Diameter monitor .................................................................................... 28-2 Creating a Diameter load balancing pool ............................................................................... 28-3 Creating a virtual server for Diameter traffic ....................................................................... 28-3
29
Configuring XML Content-Based Routing
Introducing XML content-based routing ................................................................................ 29-1 Creating an XML profile ............................................................................................................. 29-2 Writing XPath queries ....................................................................................................... 29-3 Creating a pool ............................................................................................................................. 29-4 Creating an iRule .......................................................................................................................... 29-5 Creating a virtual server ............................................................................................................. 29-6 Viewing statistics about XML content-based routing .......................................................... 29-7
Glossary Index
xii
1
Introducing Implementations for BIG-IP Local Traffic Manager
Introducing BIG-IP system implementations About this guide Finding help and technical support resources
BIG-IP Local Traffic Manager is one of several products that constitute the BIG-IP product family. All products in the BIG-IP product family run on the powerful Traffic Management Operating System, commonly referred to as TMOS. For an overview of the complete BIG-IP product offering, see the introductory chapter of the TMOS Management Guide for BIG-IP Systems.
Getting started
Before you begin implementing a solution in this guide, we recommend that you familiarize yourself with additional resources such as other BIG-IP system guides and online help, and review the stylistic conventions that appear in this chapter. For more information, see About this guide, on page 1-2. Then, we recommend that you run the Setup utility on the BIG-IP system to configure basic network and network elements such as static and floating self IP addresses, interfaces, and VLANs. After running the Setup utility, you can use this guide to implement specific configuration scenarios. For information on running the Setup utility, see BIG-IP Systems: Getting Started Guide.
1-1
Chapter 1
Additional information
In addition to this guide, there are other sources of the documentation you can use in order to work with the BIG-IP system. The following guides are available in PDF format from the Ask F5SM web site, http://support.f5.com:
BIG-IP Systems: Getting Started Guide This guide provides detailed information about licensing and provisioning the BIG-IP system, as well as installing upgrades. The guide also provides a brief introduction to the features of BIG-IP system and the tools for configuring the system. TMOSTM Management Guide for BIG-IP Systems This guide contains any information you need to configure and maintain the network and system-related components of the BIG-IP system, such as routes, VLANs, and user accounts. Configuration Guide for BIG-IP Local Traffic ManagerTM This guide contains any information you need for configuring specific features of the BIG-IP system to manage local network traffic. BIG-IP Application Security Manager: Getting Started Guide This guide describes how to set up BIG-IP Application Security Manager to configure security policies. Configuration Guide for BIG-IP Protocol Security Module This guide provides the procedures for configuring BIG-IP Protocol Security Module. Configuration Guide for the BIG-IP WebAcceleratorTM System This guide describes the core BIG-IP WebAccelerator concepts and provides the procedures for configuring and monitoring the WebAccelerator system. Bigpipe Utility Reference Guide This guide contains information about using the bigpipe utility commands to manage the BIG-IP system. Traffic Management Shell (tmsh) Reference Guide This guide contains information about using the Traffic Management Shell (tmsh) commands to manage the BIG-IP system.
1-2
Stylistic conventions
To help you easily identify and understand important information, all of our documentation uses the stylistic conventions described here.
1-3
Chapter 1
For example, the following command shows the configuration of the specified pool name:
bigpipe self <ip_address> show
or
b self <ip_Address> show
Table 1.1 explains additional special conventions used in command line syntax.
Item in text \ Description Indicates that the command continues on the following line, and that users should type the entire command without typing a line break. Identifies a user-defined parameter. For example, if the command has <your name>, type in your name, but do not include the brackets. Separates parts of a command. Indicates that syntax inside the brackets is optional. Indicates that you can type a series of items.
< >
| [] ...
1-4
Online help for local traffic management The Configuration utility has online help for each screen. The online help contains descriptions of each control and setting on the screen. Click the Help tab in the left navigation pane to view the online help for a screen. Welcome screen in the Configuration utility The Welcome screen in the Configuration utility contains links to many useful web sites and resources, including: The F5 Networks Technical Support web site The F5 Solution Center The F5 DevCentral web site Plug-ins, SNMP MIBs, and SSH clients
F5 Networks Technical Support web site The F5 Networks Technical Support web site, http://support.f5.com, provides the latest documentation for the product, including: Release notes for the BIG-IP system, current and past Updates for guides (in PDF form) Technical notes Answers to frequently asked questions The Ask F5SM Knowledge Base To access this site, you need to register at http://support.f5.com.
1-5
Chapter 1
1-6
2
Configuring nPath Routing
Introducing nPath routing Configuring nPath routing Setting timers for nPath configurations
Note
The type of virtual server that processes the incoming traffic must be a transparent, non-translating type of virtual server. In bypassing the BIG-IP system on the return path, nPath routing departs significantly from a typical load-balancing configuration. In a typical load-balancing configuration, the destination address of the incoming packet is translated from that of the virtual server to that of the server being load balanced to, which then becomes the source address of the returning packet. A default route set to the BIG-IP system then sees to it that packets returning
BIG-IP Local Traffic Manager: Implementations 2-1
Chapter 2
to the originating client return through the BIG-IP system, which translates the source address back to that of the virtual server. The nPath configuration differs from the typical load-balancing configuration, as you can see in the following section.
Note
Do not attempt to use nPath routing for Layer 7 traffic. Certain traffic features do not work properly if Layer 7 traffic bypasses the BIG-IP system on the return path. An example of such a feature is HTTP response compression.
The default route on the content servers must be set to the routers internal address (10.1.1.1 in Figure 2.1, on page 2-1) rather than to the BIG-IP systems floating self-IP address (10.1.1.10). This causes the return packet to bypass the BIG-IP system. If you plan to use an nPath configuration for TCP traffic, you must create a Fast L4 profile with the following custom settings: Enable the Loose Close setting. When you enable the Loose Close setting, the TCP protocol flow expires more quickly, once a TCP FIN packet is seen. (A FIN packet indicates the tearing down of a previous connection.) Set the TCP Close Timeout setting to the same value as the profile idle timeout if you expect half closes. If not, you can set this value to 5 seconds.
Because address translation and port translation have been turned off, when the incoming packet arrives at the pool member it is load balanced to the virtual server address (176.16.1.1 in Figure 2.1, on page 2-1), not to the address of the server. For the server to respond to that address, that address must be configured on the loopback interface of the server and configured for use with the server software.
You need to complete the following tasks to configure the BIG-IP system to use nPath routing: Create a custom Fast L4 profile. Create a pool that contains the content servers. Define a virtual server with port and address translation disabled and assign the custom Fast L4 profile to it. Configure the virtual server address on each server loopback interface. Set the default route on your servers to the routers internal IP address.
2-2
Ensure that the bigdb configuration key connection.autolasthop is enabled. Alternatively, on each content server, you can add a return route to the client. For more information about these tasks, click the Help tab in the Configuration utility, or see the Configuration Guide for BIG-IP Local Traffic Manager.
Note
You perform the tasks contained in this guide using the Configuration utility; however, the procedures do not include the step of logging on to the Configuration utility. Before you begin the tasks, log on to the Configuration utility.
2-3
Chapter 2
To create a pool
1. On the Main tab of the navigation pane, expand Local Traffic, and click Pools. The Pools screen opens. 2. To create a new pool, click Create. The New Pool screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a pool. 3. Type a pool name and add the member addresses for each of the servers. 4. Click Finished.
2-4
d) Clear the Port Translation check box to disable port translation. e) In the Resources section, choose the pool you created that contains the content servers. 6. Click Finished.
You need to set this route only if the virtual server is on a different subnet than the router. For information about how to define this route, please refer to the documentation provided with your router.
2-5
Chapter 2
2-6
3
Basic Web Site and E-Commerce Configuration
Working with a basic web site and e-commerce configuration Configuring a basic e-commerce site
To set up load balancing for these sites, you need to create two pools that are referenced by two virtual servers, one for each site. Even though the sites are related and they may even share the same IP address, each requires its own virtual server because it uses a different port to support its particular protocol: port 80 for the HTTP traffic going to www.siterequest.com, and port 443 for the SSL traffic going to store.siterequest.com. Note that this is true even when there is a port 80 and port 443 on the same physical server, as in the case of Server2.
Note
All examples in this document use only private class IP addresses. When you set up the configurations we describe, you must use valid IP addresses suitable to your own network in place of our sample addresses.
3-1
Chapter 3
3-2
Chapter 3
3-4
4
Installing a BIG-IP System without Changing the IP Network
Installing a BIG-IP system without changing IP networks Configuring the BIG-IP system for the same IP network
The existing data center structure does not support load balancing or high availability. Figure 4.2, on page 4-2 is an example of the data center topology after you add the BIG-IP system.
4-1
Chapter 4
Both the internal and external interfaces of the BIG-IP system are on the same IP network, 10.0.0.0, but they are effectively on different LANs. Figure 4.2 introduces a second switch. This switch is eliminated in a configuration using a BIG-IP system.
4-2
Remove the self IP addresses from the individual VLANs Routing is handled by the self IP address you create for the VLAN group. Create a VLAN group Create a VLAN group that includes the internal and external VLANs. This enables Layer 2 forwarding. (Layer 2 forwarding causes the two VLANs to behave as a single network.) Create a self IP for the VLAN group The self IP for the VLAN group provides a route for packets destined for the network. Create a pool of web servers Create a pool that contains the web servers that you want to load balance. Create a virtual server Create a virtual server that load balances the web servers.
Note
This example assumes that you are using the default internal and external VLAN configuration with self IP addresses on each of the VLANs that are on the same IP network on which you are installing the BIG-IP system.
Important
The default route on each content server should be set to the IP address of the router. In this example, you set the default route to 10.0.0.2.
We recommend that you perform this step from the console or from a self IP address you are not going to delete. If you are connected from a remote workstation through a self IP address that you are going to delete, you will be disconnected when you delete it.
4-3
Chapter 4
4-4
To create a pool
1. On the Main tab of the navigation pane, expand Local Traffic, and click Pools. The Pools screen opens. 2. In the upper-right corner of the screen, click Create. The New Pool screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a pool. 3. In the Name box, type a name for the pool, such as myweb_pool. 4. In the Resources area of the screen, use the New Members setting to add the pool members. In our example, pool members are 10.0.0.3:80 and 10.0.0.4:80. 5. Click Finished.
4-5
Chapter 4
4-6
5
Web Hosting for Multiple Customers
Introducing multiple customer hosting Hosting multiple customers using an external switch Directly hosting multiple customers
An alternate way to implement web hosting for multiple customers is to use the route domains feature. For more information, see Chapter 6, Web Hosting for Multiple Customers using Route Domains. In the example shown in Figure 5.1, the BIG-IP system has an interface (5.1) assigned to three VLANs on a network. The three VLANs are vlanA, vlanB, and vlanC. Interface 5.1 processes traffic for all three VLANs. Note that each VLAN contains two servers, and serves a specific customer.
5-1
Chapter 5
5-2
4. For the Interfaces setting, from the Available box select the name of an interface on your internal network, and click the Move button (<<) to move the interface name to the Tagged box. This assigns the selected interface to the VLAN, as a tagged interface. In our example, the interface is 5.1. 5. Click Finished.
To create a pool
1. On the Main tab of the navigation pane, expand Local Traffic, and click Pools. The Pools screen opens. 2. In the upper-right corner of the screen, click Create. The New Pool screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a pool. 3. In the Name box, type a name for the pool, such as customerA_pool. 4. In the Resources area of the screen, use the New Members setting to add the pool members. For example, in Figure 5.1, on page 5-1, the pool members for vlanA are 10.1.1.1:80 and 10.1.1.2:80. The pool members for vlanB are 10.1.2.1:80 and 10.1.2.2:80, and the pool members for vlanC are 10.1.3.1:80 and 10.1.3.2:80. 5. Click Finished.
Chapter 5
3. In the Name box, type a name for the virtual server, such as vs_customerA. 4. In the Destination box, verify that the type of virtual server is Host, and in the Address box, type an IP address for the virtual server, such as 10.1.10.10:80. 5. In the Service Port box, type 80, or select HTTP from the list. 6. In the Configuration area of the screen, locate the HTTP Profile setting and select http. 7. In the Resources area of the screen, locate the Default Pool setting and select the pool corresponding to the virtual server you are creating. For example, for vs_customerA, you would select the pool customerA_pool. For vs_customerB, you would select the pool customerB_pool, and so on. 8. Click Finished.
5-4
In Figure 5.2, two BIG-IP system interfaces are assigned to each VLAN. For example, interfaces 1.1 and 1.2 are assigned to the vlanA VLAN. Each interface is assigned to a VLAN as an untagged interface. The first scenario, shown in Figure 5.1, on page 5-1, requires an additional switch, but requires the use of only one interface on the internal network. The second scenario, shown in Figure 5.2, removes the need for an additional switch, but requires the use of multiple BIG-IP system interfaces.
5-5
Chapter 5
Once you have created your VLANs and assigned untagged interfaces to them, you can create the pools and virtual servers, just as you did in the section Hosting multiple customers using an external switch, on page 5-2.
5-6
6
Web Hosting for Multiple Customers using Route Domains
Introduction
Using the route domains feature of the BIG-IP system, you can provide hosting service for multiple customers by isolating each type of application traffic within a defined address space on the network. This enhances security and dedicates BIG-IP resources to each application. Implementing route domains also allows you to use duplicate IP addresses on the network, as long as each of the duplicate addresses resides in a separate route domain and is isolated on the network through a separate VLAN. For example, if you are processing traffic for two different customers, you can create two separate route domains. The same node address (such as 10.0.10.1) can reside in each route domain, in the same pool or in different pools, and you can assign a different monitor to each of the two corresponding pool members.
Prerequisite information
Using the remainder of this chapter, you can set up a basic configuration with two route domains. Before you follow the step-by-step procedure, however, you must gather the following information, for each customer (that is, each type of application traffic): Two interface numbers Two self IP addresses, one per VLAN Pool member addresses and service A virtual server address and service
6-1
Chapter 6
Procedure
You must perform this procedure for each type of application traffic that you want to isolate within a route domain.
Note
To perform this procedure, you must have the Administrator or Resource Administrator user role assigned to your user account. In this procedure, you use the System, Network, and Local Traffic navigation menus of the Configuration utility.
Important
The tables in the procedure show only those settings that you need to explicitly configure. Settings for which you can use the default values are not shown. After you complete this procedure, each administrative partition contains one route domain, and the route domain in each partition is designated as the default route domain for the partition. With this configuration, you do not need to specify the %ID notation in any BIG-IP system addresses that you create.
Description
c) Click Finished.
2. Using the Partition list box on the upper-right portion of the Configuration utility screens, set the current partition to the partition that you created in step 1.
6-2
3. Create two VLANs, one for the external network and one for the internal network: a) Expand Network, and click VLANs. b) Click the Create button, and specify values for these settings:
Setting Name Required Action Type a unique name for the VLAN, for example external_AppA. In the Available box, click an interface number and use the Move button to move the number to the Tagged box. Note: You can use the same interface for other VLANs later, as long as you always assign the interface as a tagged interface.
Interfaces
c) Click Finished. d) Repeat steps 3b and 3c for the second VLAN. An example of a name for the second VLAN is internal_App_A.
4. Create a route domain object: a) On the navigation pane, click Route Domains. b) Click the Create button, and specify values for these settings:
Setting ID Required Action Type a unique number for the route domain, such as 1. Type a description of the route domain, for example: This route domain pertains to Application_A. Verify that the Strict Isolation box is checked. Using the Move button, assign the VLANs that you created in step 3. From the list, select Make this route domain the Partition Default Route Domain. Setting this value ensures that the %ID notation is not required in IP addresses for objects pertaining to this route domain.
Description
c) Click Finished.
6-3
Chapter 6
5. Create two self IP addresses, one for each VLAN: a) Expand Network, and click Self IPs. b) Click the Create button, and specify values for these settings:
Setting IP Address Netmask VLAN Required Action Type a unique IP address. Type the netmask for the specified IP address. From the VLAN list, select the first of the VLANs that you created in step 3.
c) Click Finished. d) Repeat steps 5b and 5c. For the VLAN setting, select the second VLAN that you created in step 3.
6. Create a load balancing pool: a) Expand Local Traffic, and click Pools. b) Click the Create button, and specify values for these settings:
Setting Name New Members Required Action Type a unique name for the pool. Add new pool members as needed.
c) Click Finished.
6-4
b) Click the Create button, and specify values for these settings. For all other virtual server settings, you can use the default values.
Setting Name Destination Required Action Type a unique name for the pool. Type: Choose a virtual server type, either Host or Network. Address: Type an IP address for the virtual server. Netmask: Type a netmask for the virtual server address. Service Port: Select a service port from the list, or type a service port number. Specify the pool that you created in step 6.
Default Pool
c) Click Finished.
8. Add routes for the application traffic: a) Expand Network, and click Routes. b) Click the Add button, and specify values for the following settings.
Setting Type Destination Required Action Select Route. Type an IP address for a pool member that you created in step 6. Type a netmask for the destination IP address. From the list, select either Use Gateway or Use VLAN. Depending on your selection, specify either a next-hop address or the internal VLAN you selected in step 3, respectively.
c) Click Finished. d) Repeat steps 8b and 8c for each route that you add. Add one route for each pool member IP address. You can also add a default route for this route domain. (Each route domain on the BIG-IP system can contain a default route.)
6-5
Chapter 6
Example
A good example of the use of traffic isolation on a network is an ISP that services multiple customers, where each customer deploys a different application. Figure 6.1 shows two route domain objects on a BIG-IP system, where each route domain corresponds to a separate customer and therefore resides in its own partition. Within each partition, the ISP created the network objects and local traffic objects required for that customers application (AppA or AppB).
The configuration in Figure 6.1 results in the BIG-IP system segmenting traffic for two different applications into two separate route domains. The routes for each applications traffic cannot cross route domain boundaries because cross-routing restrictions are enabled on the BIG-IP system by default. Figure 6.2, on page 6-7 shows the resulting route isolation for AppA and AppB application traffic.
Figure 6.2 Application traffic for customers A and B, separated by route domains
6-7
Chapter 6
TMOS Management Guide for BIG-IP Systems Chapter 13, Configuring Administrative Partitions Chapter 14, Managing User Accounts Chapter 8, Configuring VLANs and VLAN Groups Chapter 12, Configuring Self IP Addresses Chapter 7, Working with Interfaces Chapter 11, Configuring Route Domains Chapter 10, Configuring Routes
Configuration Guide for BIG-IP Local Traffic ManagerTM Chapter 2, Configuring Virtual Servers Chapter 4, Configuring Load Balancing Pools
6-8
7
A Simple Intranet Configuration
Working with a simple intranet configuration Creating the simple intranet configuration
HTTP connections to the companys intranet web site. The BIG-IP system load balances the two web servers that host the corporate intranet web site, Corporate.main.net. HTTP connections to Internet content. These are handled through a pair of cache servers that are also load balanced by the BIG-IP system. Non-HTTP connections to the Internet.
7-1
Chapter 7
As Figure 7.1, on page 7-1 shows, the non-intranet connections are handled by wildcard virtual servers, that is, servers with the IP address 0.0.0.0. The wildcard virtual server that is handling traffic to the cache servers is port specific, specifying port 80 for HTTP requests. This way all HTTP requests not matching an IP address on the intranet are directed to the cache server. The wildcard virtual server handling non-HTTP requests is a default wildcard server. A default wildcard virtual server is one that uses only port 0. This makes it a catch-all match for outgoing traffic that does not match any standard virtual server or any port-specific wildcard virtual server.
Creating pools
The first task in a basic configuration is to define the two load balancing pools: a pool for the intranet content servers, and a pool for the Internet cache servers.
To create pool
1. On the Main tab of the navigation pane, expand Local Traffic, and click Pools. The Pools screen opens. 2. In the upper-right corner of the screen, click Create. The New Pool screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a pool. 3. In the Name box, type a name for the pool, such as http_pool. 4. In the Resources area of the screen, use the New Members setting to add the pool members. For example, in Figure 7.1, on page 7-1, the pool members for http_pool are 192.168.100.10:80 and 192.168.100.11:80. The pool members for specificport_pool are 192.168.100.20:80 and 192.168.100.21:80. 5. Click Finished.
7-2
7-3
Chapter 7
7-4
8
Load Balancing ISPs
Introducing ISP load balancing Configuring ISP load balancing Configuring address translation for outbound traffic
This type of configuration requires you to configure network address translation (NAT) on your routers. If your routers cannot perform NAT, you can use the VLAN SNAT automap feature on the BIG-IP system.
8-1
Chapter 8
Create two load balancing pools Define one pool that load balances the content servers. Define another pool that load balances the inside addresses of the routers. Configure virtual servers for inbound and outbound traffic Configure virtual servers to load balance inbound connections across the servers, and one to load balance outbound connections across the routers. Configure NATs or a SNAT automap for outbound traffic Configure NATs or SNAT automap for outbound traffic so that replies arrive though the same ISP the request went out on.
To create a pool
1. On the Main tab of the navigation pane, expand Local Traffic, and click Pools. The Pools screen opens. 2. In the upper-right corner of the screen, click Create. The New Pool screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a pool. 3. In the Name box, type a name for the pool, such as content_pool or router_pool. 4. In the Resources area of the screen, use the New Members setting to add the pool members. For example, in Figure 8.1, on page 8-1, the pool members for pool content_pool are 10.1.1.1:80, 10.1.1.2:80, and 10.1.1.3:80. The pool members for pool router_pool are 192.168.100.1:0 and 192.168.200.1:0. 5. Click Finished.
8-2
8-3
Chapter 8
4. In the Destination box, verify that the type of virtual server is Host, and in the Address box, type an IP address for the virtual server. For example, you can assign the IP address 0.0.0.0:0 to the virtual server, making it a wildcard virtual server. 5. In the Resources area of the screen, locate the Default Pool setting and select the pool corresponding to the virtual server you are creating. For example, for vs_routers, you would select the pool router_pool. 6. Click Finished.
8-4
For instructions on configuring routers to perform network address translation, see the vendor documentation that pertains to your router. To configure address translation for outbound traffic, you must: Assign IP-specific self IP addresses to the BIG-IP system external VLAN, corresponding to the IP networks of the two routers. Enable SNAT automap for each of the external VLAN self IP addresses and the internal VLAN.
8-5
Chapter 8
Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a SNAT. 3. In the Name box, type a unique name for the SNAT. 4. From the Translation list, select Automap. 5. From the VLAN Traffic list, select Enabled On. This displays the VLAN List setting. 6. For the VLAN List setting, from the Available box select the internal and external VLAN names, and click the Move button (<<) to move the VLAN names to the Selected box. 7. Click Finished.
8-6
9
Load Balancing HTTP Traffic with Source Address Affinity Persistence
Introducing basic HTTP load balancing Configuring HTTP load balancing with source address affinity persistence
9-1
Chapter 9
Creating a pool
The first task in a basic configuration is to create a load balancing pool to load balance HTTP connections. Use the Configuration utility to create this pool.
9-2
9-3
Chapter 9
9-4
10
Load Balancing HTTP Traffic with Cookie Persistence
Introducing basic HTTP load balancing Configuring HTTP load balancing with cookie persistence
10 - 1
Chapter 10
10 - 2
Creating a pool
The next task is to create a load balancing pool to which to load balance HTTP connections.
10 - 3
Chapter 10
4. In the Destination box: a) Verify that the type of virtual server is Host b) In the Address box, type an IP address for the virtual server. 5. In the Service Port box, type 80, or select HTTP from the list. 6. In the Configuration area of the screen, retain the value of the Protocol setting, TCP. 7. From the HTTP Profile list, select http. This assigns the default HTTP profile to the virtual server. 8. In the Resources area of the screen, locate the Default Pool setting and select the name of the HTTP pool you created in the previous section (for example, http_pool). 9. From the Default Persistence Profile list, select the name of the custom cookie profile you created earlier, such as mycookie_profile. This implements cookie persistence, using the custom cookie profile. 10. Click Finished.
Note
You can also use HTTP Cookie Insert persistence with a Performance (HTTP) type of virtual server.
10 - 4
11
Compressing HTTP Responses
Introducing HTTP data compression Creating a custom HTTP profile Creating a virtual server
If you want to enable HTTP compression for specific connections, you can write an iRule that specifies the HTTP:compress enable command. Using the BIG-IP system HTTP compression feature, you can include or exclude certain types of URIs or files that you specify. This is useful because some URI or file types might already be compressed. F5 does not recommend using CPU resources to compress already-compressed data because the cost of compressing the data usually outweighs the benefits. Examples of regular expressions that you might want to specify for exclusion are .*\.pdf, .*\.gif, or .*\.html. To configure HTTP data compression, you need to: Create a custom HTTP profile. Create a virtual server to process compressed HTTP responses. For more detailed, background information on configuring compression and virtual servers, see the Configuration Guide for BIG-IP Local Traffic Manager.
11 - 1
Chapter 11
11 - 2
9. For all other settings in the Compression area of the screen, retain the default values, or configure them to suite your needs. 10. Click Finished.
After you have created a custom HTTP profile and a virtual server, you can test the configuration by attempting to pass HTTP traffic through the virtual server. Check to see that the BIG-IP system includes and excludes the responses that you specified in the custom profile, and that the system compresses the data as specified.
11 - 3
Chapter 11
11 - 4
12
Configuring HTTPS Load Balancing
Introducing HTTPS load balancing Creating an SSL key and certificate Creating a custom SSL profile Creating a pool Creating a virtual server
Client-side SSL A common way to configure the BIG-IP system is to enable client-side SSL, which enables the system to decrypt client requests before sending them on to a server, and encrypt server responses before sending them back to the client. In this case, you need to install only one key/certificate pair on the system. Server-side SSL Another way to configure the BIG-IP system is to enable server-side SSL, which enables the system to encrypt requests that the BIG-IP system sends to the target web server, decrypt the response. In this case, you need to install a second key/certificate pair on the system (in addition to the key/certificate pair that you install for client-side SSL).
The first step in the configuration is to install the required key/certificate pairs. Then you can create a custom Client SSL profile, and optionally, a custom Server SSL profile. Client SSL and Server SSL profiles are traffic profiles that determine the way that the BIG-IP system processes client requests or server responses that are sent by way of a fully SSL-encapsulated protocol (in this case, HTTPS). Next, you create a pool of servers for load balancing the requests. Finally, you must create a virtual server to process the HTTPS traffic, according to the settings you configured in the custom Client SSL and Server profiles. For more detailed, background information on SSL certificates, SSL profiles, load balancing pools, and virtual servers, see the Configuration Guide for BIG-IP Local Traffic Manager.
12 - 1
Chapter 12
12 - 2
12 - 3
Chapter 12
12 - 4
3. In the upper-right corner of the screen, click Create. The New Server SSL Profile screen opens. 4. In the Name box, type a name for the custom profile, such as my_serverssl_profile. 5. Ensure that the Parent Profile setting is set to serverssl. 6. For the Certificate setting, check the Custom box on the far right side of the screen. 7. From the Certificate list, select the name of the certificate you created in the previous section. Using our example, this name would be my_serverside_cert.crt. 8. For the Key setting, check the Custom box on the far right side of the screen. 9. From the Key list, select the name of the key you created in the previous section. Using our example, this name would be my_serverside_cert.key. 10. Click Finished.
12 - 5
Chapter 12
Creating a pool
The next task in this process is to create a load balancing pool to load balance connections. After you create the pool, you assign it to a virtual server that you create.
12 - 6
After you have created the required SSL key/certificate pairs, one or two custom SSL profiles, a load balancing pool, and a virtual server, you can test the configuration by attempting to pass SSL traffic through the virtual server to the pool.
12 - 7
Chapter 12
12 - 8
13
Configuring HTTPS Load Balancing with Data Compression
Introducing HTTPS load balancing with compression Creating an SSL key and certificate Creating a custom Client SSL profile Creating a custom HTTP profile for compression Creating a pool Creating a virtual server
For information on configuring server-side SSL processing, see Chapter 12, Configuring HTTPS Load Balancing.
13 - 1
Chapter 13
13 - 2
2. On the upper-right portion of the screen, click Create. 3. Type a unique name for the certificate. 4. In the Issuer box, select Certificate Authority. 5. Configure the Common Name setting (required). This value is embedded in a certificate for name-based authentication purposes. 6. Configure any other optional certificate settings. 7. Request the private key by: a) Specifying the key size (512, 1024, or 2048). b) Specifying the key type (FIPS or Normal). 8. Click Finished. This displays your certificate request. 9. To download the request into a file on your system, either: Copy the certificate from the Request Text box. Click the button in the Request File box. 10. In the Certificate Authorities box, click a certificate authority name. This displays the web site for the certificate authority. 11. Follow the instructions on the web site for either pasting the copied request or attaching the generated request file. 12. Click Finished.
13 - 3
Chapter 13
13 - 4
13 - 5
Chapter 13
b) Specify values for content you want to include or exclude from compression. Examples of content types that you can specify are application/pdf and image/**. 9. For all other settings in the Compression area of the screen, retain the default values, or configure them to suite your needs. 10. Click Finished.
13 - 6
Creating a pool
The next task in the process is to create a load balancing pool to load balance HTTPS connections. After you create the pool, you assign it to a virtual server that you create.
13 - 7
Chapter 13
You can now test the configuration by attempting to pass SSL traffic through the virtual server. Check to see that the BIG-IP system includes and excludes the responses that you specified in the custom HTTP profile, and that the system compresses the data as specified.
13 - 8
14
Using RAM Cache for HTTP Traffic
Introducing HTTP RAM Cache Creating a custom HTTP profile Creating a virtual server
High demand objects This feature is useful if a site has periods of high demand for specific content. With RAM Cache configured, the content server only has to serve the content to the BIG-IP system once per expiration period. Static content This feature is also useful if a site consists of a large quantity of static content such as CSS, javascript, or images and logos. Content compression For compressible data, the RAM Cache can store data for clients that can accept compressed data. When used in conjunction with the compression feature on the BIG-IP system, the RAM Cache takes stress off of the BIG-IP system and the content servers.
14 - 1
Chapter 14
14 - 2
14 - 3
Chapter 14
14 - 4
15
Load Balancing Passive Mode FTP Traffic
Introducing FTP load balancing Creating a custom FTP monitor Creating a pool Creating a virtual server
15 - 1
Chapter 15
15 - 2
Creating a pool
To load balance passive mode FTP traffic, you create a load balancing pool. When you create the pool, you assign the custom FTP monitor that you created in the previous task. After creating the pool, you assign it to the virtual server that you create.
15 - 3
Chapter 15
15 - 4
16
Load Balancing Passive Mode FTP Traffic with Rate Shaping
Introducing FTP load balancing with rate shaping Creating a custom FTP monitor Creating a pool Creating a rate class Creating a virtual server
16 - 1
Chapter 16
16 - 2
Creating a pool
To load balance passive mode FTP traffic, you create a load balancing pool. When you create the pool, you assign the custom FTP monitor that you created in the previous task.
To create a pool for load balancing FTP traffic with rate shaping
1. On the Main tab of the navigation pane, expand Local Traffic, and click Pools. The Pools screen opens. 2. In the upper-right corner of the screen, click Create. The New Pool screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a pool. 3. In the Name box, type a name for the pool, such as ftp_pool. 4. For the Health Monitors setting, from the Available box select the name of the custom FTP monitor, such as my_ftp_monitor, and click the Move button (<<) to move the monitor name to the Active box. 5. Ensure that the Priority Group Activation setting is set to Disabled. 6. For the New Members setting, add the pool members: a) Click the New Address option. b) In the Address box, type the IP address of a server in the pool. c) From the Service Port list, select FTP. d) Click Add. e) Repeat steps b, c, and d for each server in the pool. 7. Click Finished.
After you create the pool, you assign it to the virtual server that you create in the next task.
16 - 3
Chapter 16
Rate shaping is an optional feature of the BIG-IP system. Before attempting to implement rate shaping, verify that you are licensed to use the feature.
16 - 4
16 - 5
Chapter 16
16 - 6
17
Setting up a One-IP Network Topology
Introducing the one-IP network topology Creating a pool for a one-IP network topology Creating a virtual server Defining a default route Configuring a client SNAT
To set up this configuration, you need to complete the following tasks on the BIG-IP system: Create a load balancing pool for the content servers. Create a virtual server to load balance traffic to the content server pool. Define a default route for the external VLAN. Configure a SNAT for the client.
17 - 1
Chapter 17
To create a pool
1. On the Main tab of the navigation pane, expand Local Traffic, and click Pools. The Pools screen opens. 2. In the upper-right corner of the screen, click Create. The New Pool screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a pool. 3. From the Configuration list, select Advanced. 4. In the Name box, type a name for the pool, such as server_pool. 5. For the Health Monitors setting, from the Available box select http, and click the Move button (<<) to move the monitor name to the Active box. 6. For the Allow SNAT setting, verify that the value is Yes. 7. For the remaining settings in the Configuration area of the screen, retain the default values. 8. In the Resources area of the screen, use the default values for the Load Balancing Method and Priority Group Activation settings. 9. For the New Members setting, add the pool members: a) Click the New Address option. b) In the Address box, type the IP address of a server in the pool. c) In the Service Port box, type 80, or select HTTP. d) Click Add. e) Repeat steps b, c, and d for each server in the pool. 10. Click Finished.
17 - 2
17 - 3
Chapter 17
Note
If you are defining a default route for a route domain other than route domain 0 (the default route domain), the procedure varies slightly. For more information, see the TMOSTM Management Guide for BIG-IP Systems.
17 - 4
17 - 5
Chapter 17
17 - 6
18
Using Link Aggregation with Tagged VLANs
Introducing link aggregation with tagged VLAN interfaces Using the two-network aggregated tagged interface topology Using the one-network aggregated tagged interface topology
18 - 1
Chapter 18
Figure 18.1 An example of an aggregated two-interface load balancing configuration with two IP networks
To configure the BIG-IP system for the two-network implementation, you must complete the following tasks: Create a trunk to aggregate the links. Add the trunk as a tagged interface to VLAN internal and VLAN external. Create a pool of web servers that you want to load balance. Create a virtual server that load balances the web servers.
Note
This example assumes that you are using the default internal and external VLAN configuration. It also assumes that the self IP addresses on each VLAN are on the same IP networks as the BIG-IP system.
18 - 2
To aggregate links
1. On the Main tab of the navigation pane, expand Network, and click Trunks. The Trunks screen opens. 2. On the upper-right corner of the screen, click Create. The New Trunk screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a trunk. 3. In the Name box, type a name for the trunk, such as trunk1. 4. For the Interfaces setting, locate the Available box and select an interface. Note: The lowest-numbered interface is the controlling or reference interface. 5. Using the Move button, move the interface number to the Members box. 6. Repeat step 5 for all interfaces that you want to include as trunk members. 7. For the LACP setting, check the box. This enables dynamic link aggregation. 8. Click Finished.
You should perform this task from the management interface; otherwise you will be disconnected from the BIG-IP system.
18 - 3
Chapter 18
3. For the Interfaces setting, locate the Available box and select the name of the trunk that you created in the previous procedure. 4. Click the Move button to move the trunk name to the Tagged box. This assigns the trunk to the VLAN, as a tagged interface. 5. Click Update. 6. Return to the list of existing VLANs. 7. Repeat steps 2 - 5 for VLAN external. 8. Click Update.
To create a pool
1. On the Main tab of the navigation pane, expand Local Traffic, and click Pools. The Pools screen opens. 2. In the upper-right corner of the screen, click Create. The New Pool screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a pool. 3. In the Name box, type a name for the pool, such as myweb_pool. 4. For the New Members setting, add the pool members: a) Click the New Address option. b) In the Address box, type the IP address of a web server in the pool. c) From the Service Port list, select a service. d) Click Add. e) Repeat steps b, c, and d for each server in the pool. 5. Click Finished.
18 - 4
18 - 5
Chapter 18
Figure 18.2 An example of an aggregated two-interface load balancing configuration with one IP network
You configure the one-network topology in exactly the same way as the two-network topology (allowing for the fact that the virtual server address will now belong to the same network as the servers), with one additional step: the internal and external VLANs need to be grouped. Therefore, to configure the BIG-IP system for this implementation, you must complete the following tasks: Configure the tagged interfaces, load balancing pool, virtual server, and trunk exactly as in the two-network configuration. For more information, see Using the two-network aggregated tagged interface topology, on page 18-2. Remove the self IP addresses from the internal and external VLANs. Combine the internal and external VLANs into a VLAN group. Assign a self IP address to the VLAN group.
18 - 6
You should perform this task from the management interface; otherwise you will be disconnected from the BIG-IP system.
A VLAN group name can be used anywhere that a VLAN name can be used.
18 - 7
Chapter 18
Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a VLAN group. 4. In the Name box, type the name myvlangroup. 5. For the VLANs setting, use the Move button to move the internal and external VLAN names from the Available box to the Members box. 6. Click Finished.
18 - 8
19
Setting Up Packet Filtering
Packet filter rules are unrelated to iRulesTM. You can also configure global packet filtering that applies to all packet filter rules that you create. The following sections describe how to set global packet filtering options, and how to create and manage individual packet filters rules. By setting up some basic IP routing and configuring packet filtering, specific hosts on the internal VLAN can connect to the internal VLANs self IP address. These hosts can also use common Internet services such as HTTP, HTTPS, DNS, FTP, and SSH. Traffic from all other hosts in the internal VLAN is rejected. To configure this implementation, you must: Create a SNAT. Create a pool of routers (also known as a gateway pool). Create a forwarding virtual server. Create a packet filter rule.
19 - 1
Chapter 19
Creating a SNAT
The first task in implementing packet filtering is to create a SNAT.
To create a SNAT
1. On the Main tab of the navigation pane, expand Local Traffic, and click SNATs. The SNATs screen opens. 2. In the upper-right corner, click Create. The New SNAT screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a SNAT. 3. In the Name box, type a unique name for the SNAT. 4. From the Translation list, select Automap. 5. From the VLAN Traffic list, select Enabled On. This displays the VLAN List setting. 6. For the VLAN List setting, from the Available box select internal and external, and click the Move button (<<) to move the VLAN names to the Selected box. 7. Click Finished.
19 - 2
4. In the Resources area of the screen, use the New Members setting to add the pool members. The members you add are router IP addresses. 5. Click Finished.
19 - 3
Chapter 19
Note: Replace <internal self IP address> with the actual self IP address of VLAN internal. Also, see the tcpdump man page for general information about building expresssions. 14. Click Finished.
19 - 4
20
Implementing Health and Performance Monitors
Introducing health and performance monitors Creating a custom monitor Creating a pool Creating a virtual server
Monitor types Every monitor, whether pre-configured or custom, is a certain type of monitor. Each type of monitor checks the status of a particular protocol, service, or application. For example, one type of monitor is HTTP. An HTTP type of monitor allows you to monitor the availability of the HTTP service on a pool, pool member, or node. A WMI type of monitor allows you to monitor the performance of a pool, pool member, or node that is running the Windows Management Instrumentation (WMI) software. An ICMP type of monitor simply determines whether the status of a node is up or down. Monitor settings Every monitor consists of settings with values. The settings and their values differ depending on the type of monitor. In some cases, the BIG-IP system assigns default values. For example, Figure 20.1 shows the settings and default values of an ICMP-type monitor.
Name my_icmp Type ICMP Interval 5 Timeout 16 Transparent No Alias Address * All Addresses
20 - 1
Chapter 20
To implement a health monitor, you complete these tasks: Create a custom monitor or decide to use a pre-configured monitor. Create a pool for load balancing traffic, and assign a monitor to the pool. Create a virtual server for processing traffic. The remainder of this chapter describes how to create these objects.
Note
If you want to monitor the performance of a RealNetworks RealServer server or a Windows server equipped with Windows Management Instrumentation (WMI), you must first download a special plug-in file onto the BIG-IP system. For more information, see the Configuration Guide for BIG-IP Local Traffic Manager.
20 - 2
20 - 3
Chapter 20
Creating a pool
When you create the pool to load balance traffic, you assign the custom monitor that you created in the previous section to a load balancing pool. Then, after creating the pool, you assign it to the virtual server that you create in the next section.
20 - 4
20 - 5
Chapter 20
4. In the Members column, click the address of the pool member for which you want to assign a unique monitor. This displays the properties of that pool member. 5. From the Configuration list, select Advanced. This displays the Health Monitors setting. 6. From the Health Monitors list, select Member Specific. 7. Click Update.
20 - 6
21
Load Balancing Traffic to IPv6 Nodes
All IPv6 addresses that you define on the BIG-IP system must reside in route domain 0.
7. Verify that the IPv6 nodes have auto-configured their addresses for this prefix. 8. Take note of the addresses of the HTTP service IPv6 nodes. These addresses are required for the next step in the process, configuring IPv4-to-IPv6 load balancing.
21 - 1
Chapter 21
All IPv6 addresses that you define on the BIG-IP system must reside in route domain 0.
21 - 2
21 - 3
Chapter 21
21 - 4
22
Mitigating Denial of Service and Other Attacks
Basic denial of service security overview Configuring adaptive connection reaping Simple DoS prevention configuration Filtering out attacks with iRules How the BIG-IP system handles several common attacks
Hardened and dedicated kernel The BIG-IP kernel has a mechanism built in to protect against SYN Flood attacks by limiting simultaneous connections, and tearing down connections that have unacknowledged SYN/ACK packets after some time period as passed. (A SYN/ACK packet is a packet that is sent as part of the TCP three-way handshake). High performance BIG-IP system can handle tens of thousands of Layer 4 (L4) connections per second. It would take a very determined attack to affect either the BIG-IP system itself, or the site, if sufficient server resources and bandwidth are available. Large amount of available memory SYN floods, or denial-of-service (DoS) attacks, can consume all available memory. The BIG-IP system supports a large amount of memory to help it resist DoS attacks.
This chapter describes several configurations that help mitigate DoS attacks. The configurations described include: How to configure the adaptive reapers to allow the BIG-IP system to respond to attacks, following. A basic configuration to defend against denial of service attacks, on page 22-4. Several examples of iRulesTM syntax you can use to filter out specific known attacks, on page 22-7. For more information about these tasks, click the Help tab in the Configuration utility, or see the Configuration Guide for BIG-IP Local Traffic Manager.
22 - 1
Chapter 22
The adaptive reaper settings do not apply to SSL connections. However, you can set TCP and UDP connection timeouts that reap idle SSL connections. For more information see Setting the TCP and UDP connection timers, on page 22-4.
Tip
There is generally no need to change these values as they represent an optimal solution for most BIG-IP system deployments.
Important
Setting both of the adaptive reaper values to 100 disables this feature.
22 - 2
When the adaptive reaper high water limit is reached, the LCD displays the message Blocking DoS Attack.
To set the adaptive reaper logging level from the command line
1. Open a console on the BIG-IP system. 2. Type the following command to view the adaptive reaper logging level:
bp db Log.DosProtect.Level list
3. Choose the logging level for the adaptive reaper. The following levels display the message Blocking DoS Attack on the LCD when the Reaper High Water Mark is exceeded: Emergency Alert Critical Error Warning The following levels do not display the Blocking DoS Attack message on the LCD. Notice Informational 4. Type the following command to set the adaptive reaper logging level, where <log level> is the logging level:
bp db Log.DosProtect.Level "<log level>"
22 - 3
Chapter 22
22 - 4
The rate class module requires a license key. If you do not have this functionality and you would like to purchase a license key, contact F5 Networks.
After you create a rate class, you can apply it to the virtual servers in the configuration.
22 - 5
Chapter 22
22 - 6
Figure 22.1 A sample iRule for filtering out a Code Red attack
22 - 7
Chapter 22
Take care any time you lower the idle session reaping time outs. It is possible that valid connections will be reaped if the application cannot respond in time.
SYN flood
A SYN flood is an attack against a system for the purpose of exhausting that systems resources. An attacker launching a SYN flood against a target system attempts to occupy all available resources used to establish TCP connections by sending multiple SYN segments containing incorrect IP addresses. Note that the term SYN refers to a type of connection state that occurs during establishment of a TCP/IP connection. More specifically, a SYN flood is designed to fill up a SYN queue. A SYN queue is a set of connections stored in the connection table in the SYN-RECEIVED state, as part of the standard three-way TCP handshake. A SYN queue can hold a specified maximum number of connections in the SYN-RECEIVED state. Connections in the SYN-RECEIVED state are considered to be half-open and waiting for an acknowledgement from the client. When a SYN flood causes the maximum number of allowed connections in the SYN-RECEIVED state to be reached, the SYN queue is said to be full, thus preventing the target system from establishing other legitimate connections. A full SYN queue therefore results in partially-open TCP connections to IP addresses that either do not exist or are unreachable. In these cases, the connections must reach their timeout before the server can continue fulfilling other requests.
22 - 8
The SYN Check feature complements the existing adaptive reaper feature in the BIG-IP system. While the adaptive reaper handles established connection flooding, SYN Check prevents connection flooding altogether. That is, while the adaptive reaper must work overtime to flush connections, the SYN Check feature prevents the SYN queue from becoming full, thus allowing the target system to continue to establish TCP connections. You can configure the BIG-IP system to activate the SYN Check feature when some threshold of connections has been reached on the system.
UDP flood
The UDP flood attack is most commonly a distributed denial-of-service attack (DDoS), where multiple remote systems are sending a large flood of UDP packets to the target. The BIG-IP system handles these attacks similarly to the way it handles a SYN flood. If the port is not listening, the BIG-IP system drops the packets. If the port is listening, the reaper removes the false connections.
22 - 9
Chapter 22
Setting the UDP idle session timeout to between 5 and 10 seconds reaps these connections quickly without impacting users with slow connections. However, with UDP this may still leave too many open connections, and your situation may require a setting of between 2 and 5 seconds.
UDP fragment
The UDP fragment attack is based on forcing the system to reassemble huge amounts of UDP data sent as fragmented packets. The goal of this attack is to consume system resources to the point where the system fails. The BIG-IP system does not reassemble these packets, it sends them on to the server if they are for an open UDP service. If these packets are sent with the initial packet opening the connection correctly, then the connection is sent to the back-end server. If the initial packet is not the first packet of the stream, the entire stream is dropped. You do not need to make any changes to the BIG-IP system configuration for this type of attack.
Ping of Death
The Ping of Death attack is an attack with ICMP echo packets that are larger than 65535 bytes. Since this is the maximum allowed ICMP packet size, this can crash systems that attempt to reassemble the packet. The BIG-IP system is hardened against this type of attack. However, if the attack is against a virtual server with the Any IP feature enabled, then these packets are sent on to the server. It is important that you apply the latest update patches to your servers. You do not need to make any changes to the BIG-IP system configuration for this type of attack.
Land attack
A Land attack is a SYN packet sent with the source address and port the same as the destination address and port. The BIG-IP system is hardened to resist this attack. The BIG-IP system connection table matches existing connections so that a spoof of this sort is not passed on to the servers. Connections to the BIG-IP system are checked and dropped if spoofed in this manner. You do not need to make any changes to the BIG-IP system configuration for this type of attack.
22 - 10
Teardrop
A Teardrop attack is carried out by a program that sends IP fragments to a machine connected to the Internet or a network. The Teardrop attack exploits an overlapping IP fragment problem present in some common operating systems. The problem causes the TCP/IP fragmentation re-assembly code to improperly handle overlapping IP fragments. The BIG-IP system handles these attacks by correctly checking frame alignment and discarding improperly aligned fragments. You do not need to make any changes to the BIG-IP system configuration for this type of attack.
Data attacks
The BIG-IP system can also offer protection from data attacks to the servers behind the BIG-IP system. The BIG-IP system acts as a port-deny device, preventing many common exploits by simply not passing the attack through to the server. For information about iRule examples for thwarting two common data attacks, see Filtering out attacks with iRules, on page 22-7.
WinNuke
The WinNuke attack exploits the way certain common operating systems handle data sent to the NetBIOS ports. NetBIOS ports are 135, 136, 137 and 138, using TCP or UDP. The BIG-IP system denies these ports by default. On the BIG-IP system, do not open these ports unless you are sure your servers have been patched against this attack.
Sub 7
The Sub 7 attack is a Trojan horse that is designed to run on certain common operating systems. This Trojan horse allows the system to be controlled remotely. This Trojan horse listens on port 27374 by default. The BIG-IP system does not allow connections to this port from the outside, so a compromised server cannot be controlled remotely. Do not open high ports (ports above 1024) without explicit knowledge of what applications will be running on these ports.
22 - 11
Chapter 22
Back Orifice
Back Orifice is a Trojan horse that is designed to run on certain common operating systems. This Trojan horse allows the system to be controlled remotely. This Trojan horse listens on UDP port 31337 by default. The BIG-IP system does not allow connections to this port from the outside, so a compromised server cannot be controlled remotely. Do not open high ports (ports above 1024) without explicit knowledge of what will be running on these ports.
22 - 12
23
Configuring Administrative Partitions to Control User Access
Introducing administrative partitions Creating a partition Configuring user access to a partition Viewing, managing, and creating objects in a partition
Partitions Partitions represent containers for BIG-IP system objects. You can use partitions to limit user access to certain objects. For more information on partitions, see the TMOSTM Management Guide for BIG-IP Systems. User accounts User accounts grant administrative access to the BIG-IP system. The properties that you set on a user account determine that users permissions for administering BIG-IP system resources. For more information on user accounts, see the TMOSTM Management Guide for BIG-IP Systems. User roles One of the properties that you set on a user account is the user role. A user role determines that users permissions, that is, the specific objects that the user can access and the tasks that the user can perform. The user roles that you can assign to a user account are: Administrator, Resource Administrator, User Manager, Manager, Application Editor, Application Security Policy Editor, Operator, or Guest.You can also specify that a user account has no access to system resources. For descriptions of these user roles, see the TMOSTM Management Guide for BIG-IP Systems. BIG-IP system objects BIG-IP system objects are the entities that you can manage on the BIG-IP system. Examples of objects that you can place into partitions are pools, virtual servers, and profiles. When objects reside in partitions, you can control the type and amount of administrative user access to those objects. Most local traffic objects, as well as user accounts, can reside in partitions. For descriptions of local traffic objects, see the Configuration Guide for BIG-IP Local Traffic Manager.
By combining all of these components, you can finely-tune administrative access to many of your BIG-IP system resources. This chapter describes the procedure for configuring the administration partitions feature on the BIG-IP system.
23 - 1
Chapter 23
Creating a partition
When you first install the BIG-IP system, a default partition exists, known as partition Common. Partition Common contains certain objects that the system automatically creates during installation, such as the admin user account, the default profiles, and the pre-configured health and performance monitors. Some types of BIG-IP system objects reside in partitions, while others do not. In general, most local-traffic objects reside in partitions. Network objects, such as self IP addresses, VLANs, interfaces, and so on, cannot reside in partitions. At a minimum, most BIG-IP system user accounts have Read access to objects in partition Common, regardless of their user roles. User accounts that have the Administrator and Resource Administrator roles assigned to them not only can view the objects in Common, but also can create, modify, and delete objects in that partition. While managing partition Common is useful as a starting point for controlling user access to BIG-IP system objects, creating other partitions offers a much finer degree of access control for administrative users. The first step in giving a user the authority to manage objects in a specific partition is to create the partition. Once you have created the partition, you choose the user that you want to manage the objects in the new partition. Finally, you modify the properties of that users account, to assign both the appropriate user role and the partition that you want to authorize the user to manage. Once you have granted authority to the user to manage the partition, the user can then manage those objects in certain ways, such as creating HTTP virtual servers and profiles, within that partition.
Important
To create a partition, you must have the Administrator or Resource Administrator user role assigned to your user account. For the admin account, the BIG-IP system automatically assigns the Administrator role.
To create a partition
1. On the main tab of the navigation pane, expand System, and click Users, The Users screen opens. 2. On the menu bar, click Partitions List. This displays the list of partitions that you are allowed to view. 3. On the upper-right corner of the screen, click Create. 4. In the Name box, type a unique name for the partition, such as partition_App1.
23 - 2
5. In the Description box, type a description of the partition, for example, This partition contains objects for managing traffic for the App1 application. 6. Click Create.
This procedure pertains to local user accounts only. For information on configuring partition access to remote user accounts, see the TMOSTM Management Guide for BIG-IP Systems.
23 - 3
Chapter 23
4. From the Partition Access list, select a partition name. You can select a single partition name, or All. Note: For user accounts to which you assign the Administrator role, this value is automatically set to All. 5. Click Finished.
23 - 4
23 - 5
Chapter 23
23 - 6
24
Configuring Remote Authentication and Authorization for Administrative Traffic
Introducing remote authentication and authorization for BIG-IP system user accounts Configuring the BIG-IP system to use remote authentication of user accounts Configuring access control for BIG-IP system users Propagating remote authentication and authorization data to multiple BIG-IP devices
Introducing remote authentication and authorization for BIG-IP system user accounts
The BIG-IP system includes a comprehensive solution for managing BIG-IP administrative accounts on your network. With this solution, you can:
Use a remote server for storing BIG-IP user accounts The BIG-IP system includes support for using a remote authentication server to store BIG-IP system user accounts. After creating BIG-IP system accounts on the remote server, you configure the BIG-IP system to use remote user authentication, using either the browser-based Configuration utility or the command-line-based bigpipe utility. For more information, see Configuring the BIG-IP system to use remote authentication of user accounts, on page 24-2. Assign group-based access control The BIG-IP system includes a remoterole command within the bigpipe utility. You use the remoterole command to specify access control data on a group-wide basis for remotely-stored BIG-IP system user accounts. The remoterole command can use the existing group definitions assigned to those remote accounts to define access control properties (privileges) for those users. The remoterole command not only provides more granularity and flexibility in assigning user privileges, but also removes any need to duplicate remote user accounts on the BIG-IP system for the purpose of assigning those privileges. For more information, see Configuring access control for BIG-IP system users, on page 24-6. Propagate a set of authorization data to multiple BIG-IP devices The BIG-IP system includes a tool for propagating user access control data easily to multiple BIG-IP devices on the network. This access control data includes user role specifications, partition access, and BIG-IP system console access. To propagate user authorization data to multiple BIG-IP devices, you use the Single Configuration File feature within the bigpipe utility. For more information, see Propagating remote authentication and authorization data to multiple BIG-IP devices, on page 24-11.
By using all of the above features together, you can define user privileges on a group-wise basis, and you can centrally manage all BIG-IP user accounts, thus negating any need to create and manage user accounts separately on each individual BIG-IP device on the network.
Note
All remote authentication servers must reside in route domain 0. For information on route domains, see the TMOS Management Guide for BIG-IP Systems.
24 - 1
Chapter 24
4. From the User Directory list, select Remote - Active Directory or Remote - LDAP. 5. In the Host box, type the IP address of the remote server. 6. For the Port setting, retain the default port number (389) or type a new port number in the box. This setting represents the port number that the BIG-IP system uses to access the remote server. 7. In the Remote Directory Tree box, type the file location (tree) of the user authentication database on the LDAP or Active Directory server. At minimum, you must specify a domain component (that is, dc=<value>). 8. For the Scope setting, retain the default value (Sub) or select a new value. This setting specifies the level of the remote server database that the BIG-IP system should search for user authentication. For more information on this setting, see the online help. 9. For the Bind setting, specify a user ID login for the remote server: a) In the DN box, type the Distinguished Name for the remote user ID. b) In the Password box, type the password for the remote user ID. c) In the Confirm box, re-type the password that you typed in the Password box. 10. If you want to enable SSL-based authentication, click the SSL box and, if necessary, configure the following settings. Important: Be sure to specify the full path name of the storage location on the BIG-IP system. For example, if the certificate is stored in the directory /config/ssl/ssl.crt, type the value /config/ssl/ssl.crt. a) In the SSL CA Certificate box, type the name of a chain certificate, that is, the third-party CA or self-signed certificate that normally resides on the remote authentication server. b) In the SSL Client Key box, type the name of the client SSL key. Use this setting only in the case where the remote server requires that the client present a certificate. If a client certificate is not required, you do not need to configure this setting. c) In the SSL Client Certificate box, type the name of the client SSL certificate. Use this setting only in the case where the remote server requires that the client present a certificate. If a client certificate is not required, you do not need to configure this setting. 11. Click Finished.
24 - 3
Chapter 24
24 - 4
3. Click Change. 4. From the User Directory list, select Remote - TACACS+. 5. From the Configuration list, select Advanced. Additional settings appear on the screen. 6. In the Servers box, type an IP address and click Add. 7. In the Secret box, type the TACACS+ secret. 8. In the Confirm Secret box, re-type the TACACS+ secret that you specified in the Secret box. 9. From the Encryption list, retain the default value (Enabled) or select Disabled. This setting is optional. 10. In the Service Name box, type the name of a service. 11. In the Protocol Name box, type the name of a protocol. This setting is optional. 12. From the Authentication list, select either Authenticate to first server or Authenticate to each server until success. 13. From the Accounting Information list, select either Send to first available server or Send to all servers. 14. From the Debug Logging list, select either Disabled or Enabled. 15. Click Finished.
24 - 5
Chapter 24
You can use the Configuration utility to change the values that the BIG-IP system uses as the default values when assigning privileges to remote user accounts. If you want to use non-default values for all of the user accounts represented by Other External Users, you have two options:
Use the remoterole command (recommended). This allows you to assign privileges on a group basis. Using the remoterole command gives you flexibility and granularity in controlling access to BIG-IP system resources by remote user accounts. For more information, see Understanding the remoterole command on this page. Use the Configuration utility to assign privileges on a per-user basis. Using the Configuration utility, you can assign non-default privileges to any individual user account that is stored remotely. If you do this, you must first duplicate the user account on the BIG-IP system. For more information, see the TMOSTM Management Guide for BIG-IP Systems.
Note
For detailed descriptions of the user roles that you can assign to accounts, see the TMOSTM Management Guide for BIG-IP Systems.
24 - 6
For example, suppose that your BIG-IP system user accounts are stored on an LDAP remote authentication server and that those accounts are divided between the groups BigIPOperatorsGroup and BigIPManagersGroup. In this case, you can type the following remoterole command sequence to define the privileges for those groups:
bigpipe remoterole role info BigIPOperatorsGroup { attribute "memberOF=cn=BigIPOperatorsGroup,cn=users,dc=dev,dc=net" console disable line order 1 role operator user partition App_A } role info BigIPManagersGroup { attribute "MemberOF=cn=BigIPManagersGroup,cn=users,dc=dev,dc=net" console enable line order 2 role manager user partition App_B }
24 - 7
Chapter 24
Table 24.1 shows the resulting configuration, where each group has a set of privileges assigned to it:
Group Name BigIPOperatorsGroup Assigned Privileges console disable role operator user partition App_A BigIPManagersGroup console enable role manager user partition App_B
Note
After you use the remoterole command to configure group-based privileges, any user who logs on to the BIG-IP system and does not have a group assignment on the remote server is denied access to the BIG-IP system. Also, whenever you change the user role or partition assignment (or both) for a remote account, all remote users are immediately logged off the system, including those logged in as Other External Users.
Example
Suppose that you configure a remote RADIUS authentication server to return a vendor-specific attribute and three variables, and their values. F5-LTM-User-Info-1 = DC1 F5-LTM-User-Role = 400 Note: See Considerations for variable evaluation, on page 24-9 for more information. F5-LTM-User-Partition = App_C F5-LTM-User-Console = 1
24 - 8
The remoterole command can use the first attribute (F5-LTM-User-Info-1) on which to match. The command can then read the role, user partition, and console values from the remaining three variables, rather than you specifying them explicitly. The command does this when you specify each of the three variables on the command line, preceded by the string %, as arguments. The following shows a sample use of the remoterole command. This particular command matches on the vendor-specific attribute F5-LTM-User-Info-1 and then assigns the access-control values listed above (Operator, App_C, and 1) to any user accounts that are part of Datacenter 1 (DC1):
b remoterole role info DC1 { attribute "F5-LTM-User-Info-1=DC1" console "%F5-LTM-User-Console" role "%F5-LTM-User-Role" user partition "%F5-LTM-User-Partition" line order 1 }
Incorrect variable values If the value of a variable is incorrect, the user is not authorized. For example, if the %F5-LTM-User-Partition variable evaluates to p1, but the p1 partition does not exist or the partition is named P1 instead of p1, the user receives an error message when attempting to login. The role variable The variable that you specify on the command line with the role argument (for example, %F5-LTM-User-Role) must evaluate to one of these values: 0 (Administrator) 20 (Resource Administrator) 40 (User Manager) 100 (Manager) 300 (Application Editor) 400 (Operator) 700 (Guest) 800 (Application Security Policy Editor) 900 (None)
Missing variables When a variable does not exist in the authentication attributes, the system assigns these privileges to the user account: Role = No Access Partition = None Terminal access = Disabled
24 - 9
Chapter 24
No matching attributes If the user is properly authenticated but there is no match on any of the remoterole attributes, the system assigns the default privileges. For more information on default privileges for remote user accounts, see Configuring access control for BIG-IP system users, on page 24-6.
24 - 10
To create an SCF
1. Access the bigpipe shell. 2. Run the command export, and include a name for the SCF, for example:
bp> export myConfiguration053107
The system creates the file, myConfiguration053107.scf, in the /var/local/scf directory. To create the SCF in another location, specify a full path for the file. For example, the command export /config/myConfiguration creates the SCF in the /config directory.
24 - 11
Chapter 24
c) If necessary, change the passwords for the root and admin accounts using the user <name> password none newpassword <password> command. Important: When configuring a unit that is part of a redundant system using the SCF from the other unit in the system, do not modify the root and admin accounts. These accounts must be identical on both units of a redundant system. d) Save the edited SCF. 3. On the BIG-IP system that you want to configure, use the import command to import the SCF:
bp> import myConfiguration
The system saves a backup of the running configuration in the /var/local/scf directory, and then resets the running configuration with the configuration contained in the SCF you are importing. 4. To save the new running configuration to the stored configuration, use the save all command. The system saves the running configuration to the stored configuration.
24 - 12
25
Configuring Remote Authentication for Application Traffic
Introducing remote authentication for application traffic Configuring authentication that uses a remote LDAP or Active Directory server Configuring authentication that uses a remote RADIUS server Configuring authentication that uses a remote TACACS+ server Configuring SSL-based authorization using a remote LDAP server Configuring SSL certificate revocation using an OCSP responder Configuring a CRLDP authentication module
25 - 1
Chapter 25
To configure remote user authentication for application traffic, you must create both a configuration object and an authentication profile. Each authentication server type requires a different configuration object and profile. For example, to configure the BIG-IP system to use an LDAP authentication server, you must create an LDAP configuration object and a custom LDAP profile. When implementing a RADIUS, SSL OCSP, or CRLDP authentication module, you must also create a third type of object. For RADIUS and CRLDP authentication, this object is referred to as a server object. For SSL OCSP authentication, this object is referred to as an OCSP responder.
Note
All remote authentication servers must reside in route domain 0. For information on route domains, see the TMOS Management Guide for BIG-IP Systems.
If the remote authentication server uses LDAP or Active Directory and is set up to authenticate SSL authentication traffic, there is an additional feature that you can enable. You can configure the BIG-IP system to perform the server-side SSL handshake that the remote server would normally perform when authenticating client traffic. In this case, there are some preliminary tasks you must perform to prepare for remote authentication using SSL.
25 - 3
Chapter 25
Once you have performed these preliminary SSL tasks, you can enable SSL-based remote server authentication. You do this as part of creating the LDAP configuration object, which includes these Advanced settings: SSL CA Certificate This represents the name of the certificate that normally resides on the remote authentication server. SSL Client Key This represents the name of the SSL key that the client sends to the BIG-IP system. This key specification is only necessary when the remote server requires a client certificate. SSL Client Certificate This represents the name of the SSL certificate that the client sends to the BIG-IP system. This certificate specification is only necessary when the remote server requires a client certificate.
Important
When specifying key and certificate files while creating an LDAP configuration object, be sure to specify the full path name of the storage location on the BIG-IP system. For example, if the certificate is stored in the directory /config/ssl/ssl.crt, type the value /config/ssl/ssl.crt. After you create the custom LDAP configuration object, you create a custom LDAP profile, and then assign the custom profile to an HTTP virtual server.
25 - 4
Note
For information about enabling SSL authentication, see the beginning of this section, Creating an LDAP configuration object, on page 25-2.
25 - 5
Chapter 25
The virtual server to which you assign the profiles and the iRule must be a Standard type of virtual server.
25 - 6
25 - 7
Chapter 25
25 - 8
25 - 9
Chapter 25
The virtual server to which you assign an authentication profile must be a Standard type of virtual server.
25 - 10
25 - 11
Chapter 25
25 - 12
7. In the Servers box, type the IP address of the remote TACACS+ server and click Add. The IP address appears in the text box. 8. For the Hosts setting, type the IP address of the remote LDAP or Active Directory server and click Add. The IP address appears in the text window. 9. In the Secret box, type a TACACS+ secret. key to be used for encrypting or decrypting packets sent to or from the server. 10. In the Confirm Secret box, re-type the secret key you typed in the Secret box. 11. If you selected a basic configuration in step 6, click Finished. If you selected an advanced configuration in step 6, configure the remaining settings and click Finished.
Once you have created the TACACS+ configuration object, you must create a custom TACACS+ profile and modify an HTTP virtual server.
25 - 13
Chapter 25
7. From the Configuration list, select the name of the TACACS+ configuration object that you previously created. 8. For all remaining settings, retain the default values. 9. Click Finished.
The virtual server to which you assign an authentication profile and iRule must be a Standard type of virtual server.
25 - 14
Chapter 25
7. For the Hosts setting: a) Type the IP address of the remote LDAP. b) Click Add. The IP address appears in the text window. 8. From the Search Type list, select User, Certificate Map, or Certificate. 9. In the User Base DN box, type the search base for the sub tree that the LDAP server uses to perform a User or Certificate search type. 10. In the User Key box, type the attribute that the LDAP server uses to designate a user ID. 11. If you selected a basic configuration in step 6, click Finished. If you selected an advanced configuration in step 6, configure the remaining settings and click Finished.
25 - 16
7. From the Configuration list, select the name of the LDAP configuration object that you previously created. 8. For all remaining settings, retain the default values. 9. Click Finished.
The virtual server to which you assign the profiles and the iRule must be a Standard type of virtual server.
25 - 17
Chapter 25
25 - 18
25 - 19
Chapter 25
The virtual server to which you assign an authentication profile must be a Standard type of virtual server.
25 - 20
4. From the Authentication Profiles list, from the Available box select the name of the custom SSL OCSP profile that you previously created, and click the Move button (<<). This moves the profile name to the Enabled box. Note: If the Authentication Profiles list is unavailable for modification, this indicates that your user role does not grant you permission to modify a virtual server. 5. Click Update.
25 - 21
Chapter 25
4. In the upper right corner of the screen, click Create. This displays the New CRLDP Server screen. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a CRLDP responder object. 5. For the Name setting, type a unique name for the CRLDP server object, such as my_crldp_server. 6. Type or retain all configuration values. 7. Click Finished.
25 - 22
25 - 23
Chapter 25
The virtual server to which you assign an authentication profile must be a Standard type of virtual server.
25 - 24
26
Configuring Kerberos Delegation
Introducing Kerberos delegation infrastructure Configuring the BIG-IP system for Kerberos delegation Creating the Kerberos delegation configuration Authenticating Client Traffic
26 - 1
Chapter 26
Configuration Requirements This Kerberos delegation scenario uses a Microsoft primary domain controller (PDC) or Active Directory FSMO role named PDC emulator master. The time on the PDC must be synchronized with the time on the client and web servers. The DNS server must have knowledge of the domains web servers and virtual servers.
The key distribution center (KDC) is installed as part of the domain controller and performs two service functions: the Authentication Service (AS) and the Ticket-Granting Service (TGS). The key distribution center usually is the PDC, but it can also be a standalone server in some networks.
Client
Client machines must be in the domain. The time on the client must be synchronized with the time on the web servers and PDC. The client must be using Windows Internet Explorer version 6.x or later with support for SSL certificates. For user access, client machines can use either username and password or the Department of Defense (DoD) Common Access Card (CAC) and password.
A Microsoft Windows Server 2003 (or later) Active Directory server (ADS) must be in the same domain of the BIG-IP, configured with the Kerberos protocol transition and protocol transition extensions initiated, and running in Windows Server 2003 mode to enable protocol transition. This is also known as the Key Distribution Center (KDC.) The time on the ADS must be synchronized with the time on the client and PDC.
26 - 2
Configuration Requirements All servers within the domain must be set up to use Windows Integrated Authentication with anonymous access disabled. Please refer to the Microsoft documentation for more information about load balancing Kerberos web servers if you plan to set up more than one server in your server pool. The time on the web server must be synchronized with the time on the client and PDC.
BIG-IP system
The BIG-IP system must be in a domain with the PDC. The Advanced Client Authentication Module should be installed on all BIG-IP systems that check for valid Online Certificate Status Protocol (OCSP) certificates. The BIG-IP system must be able to process secure traffic between the client and its web server. The BIG-IP system must use a DNS server that knows about the PDC. The BIG-IP system must have its time synchronized with the PDC.
Note
All remote authentication servers must reside in route domain 0. For information on route domains, see the TMOS Management Guide for BIG-IP Systems.
26 - 3
Chapter 26
To test the DNS server before you define it on the BIG-IP system
Before you configure the DNS server on the BIG-IP system, you can test the DNS server(s) that you want to define on the BIG-IP system by typing the following command at the command prompt:
dig @<DNS_Server_IP_Address>
If the test is successful, the system displays a list of the root name servers.
26 - 4
For example, if you want to add the DNS name server IP addresses 192.168.10.20 and 192.168.10.22 to the BIG-IP system, type the following command:
bigpipe dns nameservers 192.168.10.20 192.168.10.22 add
The local /etc/resolv.conf file is now configured with the following entries:
nameserver nameserver 192.168.10.20 192.168.10.22
For example, if you want to add the DNS name server IP addresses 192.168.10.20 and 192.168.10.22 to the BIG-IP system, type the following command:
modify sys dns name-servers add {192.168.10.20 192.168.10.22}
2. You can view the added DNS server(s) by typing the following at the tmsh prompt:
list sys dns
Important
Before going any further, you should synchronize the BIG-IP clock with the PDC using NTP. For details on how to set NTP on BIG-IP, see the TMOS Management Guide for BIG-IP Systems.
26 - 5
Chapter 26
If you are setting up cross-domain authentication, use the --dnsdomain option to this command. All hosts found in a certain DNS domain are automatically in the correct Kerberos realm. Use the domaintool --add command for each realm that the BIG-IP system may contact. Run this command once for each domain the BIG-IP is joining. Now that the BIG-IP system is configured with the domains it may contact, you must use the domaintool command to create service principals within the domain. These service principals are named after the FQDN of the virtual servers you create:
domaintool --join <domainname> --admin_principal <admin principal> --host <hostname>
This command prompts you for a password. Typically, the value of the admin_principal argument is administrator; however, you can use any administrator name. The host argument specifies the FQDN of the virtual server you configure for traffic. Run this command for each virtual server you plan to configure. The KDC must be resolvable by both name and address (forward and reverse.) If domaintool does not allow your BIG-IP system to join the trusted domain, check the following: Make sure that the KDC has a reverse name lookup. Ensure that the PDC (primary domain controller) has a reverse name lookup. Make sure the BIG-IP clock is not off by more than five minutes from the PDC.
Important
For additional information about these commands, see the domaintool man page.
26 - 6
The Kerberos delegation profile includes a set-cookie operation, making the set cookie valuable if intercepted. To ensure that an attacker cannot intercept this set-cookie header, use a Client SSL profile in conjunction with the Kerberos delegation profile. The Client SSL profile is absolutely required for protocol transition to function correctly because a client certificate is mandatary.
Chapter 26
6. In the Client Principal Name box, type the client principal name. The client principal name is the name of the virtual server on the BIG-IP system. Use the following format, where <FQDN> is the virtual servers that you previously added to the domain:
HOST/<FQDN>
7. In the Server Principal Name box, type the server principal name. The server principal name is the name of the web server. Use the following format, where <FQDN> is the fully-qualified domain name of the web server in the pool:
HTTP/<FQDN>
8. Click Finished.
26 - 8
3. In the upper-right corner of the screen, click Create. The New Client SSL Profile screen opens. Note: If the Create button is unavailable, this indicates that your user role does not grant you permission to create a pool. 4. In the Name box, type a unique name for the profile. 5. To the far right side of Configuration, click the Custom box. 6. From the Certificate list, select the name of an existing certificate. 7. From the Key list, select the name of an existing key. 8. To the far right side of Client Authentication, click the Custom box. 9. From the Client Certificate list, select Require. 10. From the Frequency list, select Once. 11. In the Certificate Chain Traversal Depth box, enter 9. 12. From the Advertised Certificate Authorities list, select your certificate name. 13. In the Certificate Revocation List (CRL) box, enter the location of the CRL file. 14. At the bottom of the screen, click Finished.
26 - 9
Chapter 26
To create a virtual server and add the Kerberos delegation and Client SSL profiles to the virtual server
1. On the Main tab of the navigation pane, expand Local Traffic, and click Virtual Servers. The Virtual Servers screen opens. 2. In the upper-right corner of the screen, click Create. The New Virtual Server screen opens. 3. For the Name setting, type a unique name for the virtual server, such as my_kerberos_virtual. 4. For the Destination setting, click Host and type an IP address. 5. For the Service Port setting with HTTP profiles, type 80, or from the service list, select HTTP. If you are using a Client SSL profile type 443, or from the service list, select HTTPS. 6. From the Configuration list, select Advanced. 7. For the Type setting, select Standard. 8. For the Protocol setting, select TCP. 9. For the HTTP Profile setting, select http. 10. From the SSL Profile (Client) list, select the name of the Client SSL profile you created previously. 11. For Authentication Profiles setting, use the Move button (<< or >>) to enable the profile you created for Kerberos delegation. 12. In the Resources area of the screen, from the Default Pool list, select the pool you created that contains the web servers. 13. Click Finished.
For the server principal, use the FQDN of the web server. For each client principal, use the FQDN of the virtual server you plan to create on the BIG-IP system.
26 - 10
To create the Kerberos delegation profile object from the command line
After you create the Kerberos delegation configuration object, you can create the profile for the configuration. Be sure to set a cookie name and strong password for the cookie encryption key on the profile. In this example, the cookie name is kerbc and the key is kerbpwd.
profile auth my_kerberos_profile { defaults from krbdelegate config my_kerberos_config type krbdelegate cookie name kerbc cookie key "kerpwd" }
Note
The Cookie Key value is an encryption key that encrypts cookie data. A default value is supplied; however, you should change the default value so that attackers who know this value cannot decrypt cookie data and impersonate trusted users.
To create the Kerberos delegation virtual server from the command line
Use the following command to create the virtual server, where <ip addr>:https is the virtual server address, webserverpool is the pool of webservers, my_client_profile is the Client SSL profile you created, and my_kerberos_profile is the profile you created for Kerberos delegation:
virtual my_kerberos_virtual { snat automap pool webserverpool destination <ip addr>:https ip protocol tcp profiles http tcp my_clientssl_profile auth my_kerberos_profile }
To enable the Kerberos delegation virtual server from the command line
To complete the configuration of the BIG-IP system for Kerberos delegation, enable the virtual server for the configuration. Type the following command to enable the virtual server, where <name> is the virtual server name:
b auth krbdelegate <name> { protocol transition enable }
26 - 11
Chapter 26
All tmsh command examples in this section require you to be at the tmsh prompt: (tmos.ltm.auth)# in the ltm auth module unless otherwise noted. For more information on working with tmsh, see the Traffic Management Shell (tmsh) Reference Guide.
For the server principal, use the fully-qualified domain name (FQDN) of the web server. For each client principal, use the FQDN of the virtual server you plan to create on the BIG-IP system.
Note
Refer to the Traffic Management Shell (tmsh) Reference Guide for kerberos-delegation component options.
Note
The Cookie Key value is an encryption key that encrypts cookie data. A default value is supplied; however, you should change the default value so that attackers who know this value cannot decrypt cookie data and impersonate trusted users.
26 - 12
Note
Refer to the Traffic Management Shell (tmsh) Reference Guide for client-ssl component options.
Important
26 - 13
Chapter 26
The process for authenticating client traffic with Kerberos proxy delegation is as follows: 1. The user logs in to the domain. 2. The client browser connects to the BIG-IP virtual server and passes Windows Integrated Authentication credentials, as well as SSL credentials to the Kerberos server. 3. The Kerberos server authenticates the user and passes the session credentials to the BIG-IP system where they are stored in a credential cache as long as the client is logged into the BIG-IP system.
26 - 14
4. For the rest of the session, the BIG-IP system acts as a proxy server for credentials requested by other severs within the single domain.
The process for authenticating client traffic with Kerberos protocol transition is as follows: 1. Client authenticates via certificate to the BIG-IP virtual server. 2. The BIG-IP system verifies the client certificate and extracts the username. 3. The BIG-IP system requests credentials to the pool based on the username. 4. The BIG-IP system passes the credentials obtained in step 3 to the application server. 5. The application server responds. 6. The BIG-IP system passes the response to the client.
26 - 15
Chapter 26
26 - 16
27
Configuring Multiple Authentication Servers
Introducing multiple authentication server configuration Meeting prerequisites Configuring BIG-IP system objects
As an alternative to associating the pool with the virtual server, you can associate the pool with each proxy or authentication source directly. The remainder of this chapter describes how to successfully create a multiple authentication server configuration. For example purposes only, the information is written for RADIUS servers, but it applies to LDAP or TACACS+ servers also, except for some minor differences: If your servers are LDAP or TACACS+ servers, any information about RADIUS secrets does not apply. Also, you should replace any mention of a RADIUS
27 - 1
Chapter 27
configuration object with an LDAP or TACACS+ configuration object. Finally, you can ignore any information that pertains to a RADIUS server object.
Meeting prerequisites
Before continuing, you must ensure that the following requirements are met: The RADIUS secret must be the same for all RADIUS servers. The address of the virtual server that you create to reference the RADIUS pool cannot be a loopback address. The virtual server that references the RADIUS pool must be in the same VLAN as the RADIUS servers. For example, if the RADIUS server addresses are 10.1.1.10 and 10.1.1.11 and reside in the VLAN internal, then you must associate the RADIUS pool with a virtual server that is routable to those addresses (such as 10.1.1.99). This causes the source address of the RADIUS traffic to be the self IP address of VLAN internal, rather than the virtual server address.
Object RADIUS health monitor A RADIUS server object A Radius configuration object that references the RADIUS server object A load-balancing pool that references the RADIUS health monitor A virtual server that references the load-balancing pool
Pools
Virtual Servers
27 - 2
Figure 27.1 Example of relevant entries in the bigip.conf file As seen in Figure 27.1, you configure these BIG-IP system objects: A RADIUS monitor named my_radius_monitor. A RADIUS server object named system_auth_name1 with IP address and port 10.1.1.99:1645. A RADIUS configuration object named system-auto that references the RADIUS server object. A pool named radius_pool that references the RADIUS monitor and contains two pool members (10.1.1.10:1812 and 10.1.1.12:1645). Note that port 1812 is the registered port number for the RADIUS service. A virtual authentication server named radius_virtual_server that references the pool radius_pool and uses the same IP address and port as the RADIUS server object. Note that this virtual server is defined on the same VLAN as the RADIUS servers in the pool. Once you have added entries to the bigip.conf file that are similar to those in the above example, you can use the virtual server as a virtual remote authentication server.
27 - 3
Chapter 27
27 - 4
28
Load Balancing Diameter Application Requests
Introducing Diameter load balancing Creating a custom Diameter profile Creating a custom Diameter monitor Creating a Diameter load balancing pool Creating a virtual server for Diameter traffic
To implement Diameter load balancing, you must have a user account with the Administrator, Resource Administrator, or Manager user role assigned to the account. You must also have access to the administrative partition in which the local traffic objects will reside when you create them. For information on creating partitions, as well as managing partitions and partition access, see Chapter 23, Configuring Administrative Partitions to Control User Access. For more detailed, background information on configuring Diameter-related local traffic objects, see the Configuration Guide for BIG-IP Local Traffic ManagerTM.
28 - 1
Chapter 28
28 - 2
Destination
28 - 3
Chapter 28
Required Value Select the custom Diameter profile that you created previously, such as my_diameter_profile. Specify the pool that you created previously, such as my_diameter_pool.
Default Pool
4. Click Finished.
After you have created the virtual server, you can test the configuration by attempting to pass Diameter traffic through the virtual server.
28 - 4
29
Configuring XML Content-Based Routing
Introducing XML content-based routing Creating an XML profile Creating a pool Creating an iRule Creating a virtual server Viewing statistics about XML content-based routing
29 - 1
Chapter 29
Next, create a pool to specify where to send the traffic, as described in Creating a pool, on page 29-4.
29 - 2
/a/b:*
//a/b:c
29 - 3
Chapter 29
Creating a pool
For implementing content-based routing, you can create one or more pools that contain the servers where you want the system to send the traffic. You write an iRule to route the traffic to the pool.
To create a pool
1. On the Main tab of the navigation pane, expand Local Traffic, point to Pools, and click the create icon ( ) next to Pool List. The New Pool screen opens. Note: If the Create button is unavailable, your user role may not grant you permission to create a pool. 2. In the Name box, type a name for the pool, such as finance_pool. 3. For the New Members setting, add the pool members: a) Click the New Address option. b) In the Address box, type the IP address of the server in the pool. c) In the Service Port box, type 80, or select HTTP. d) Click Add. e) Repeat steps b, c, and d for each server in the pool. 4. Click Finished. The system creates the pool.
If you want to specify a default pool to which to send traffic when it does not match the content you are looking for, repeat the procedure to create a second pool. You specify the default pool in the virtual server. Instead of creating a pool, you can alternatively create a node or a virtual server to route traffic to. Refer to the Configuration Guide for BIG-IP Local Traffic ManagerTM for details on creating nodes and virtual servers.
29 - 4
Creating an iRule
You create iRules to automate traffic forwarding for XML content-based routing. When a match occurs, an iRule event is triggered, and the iRule directs the individual request to a pool, a node, or virtual server. This implementation targets a pool.
To create an iRule
1. On the Main tab of the navigation pane, expand Local Traffic, point to iRules, and click the create icon ( ) next to iRule List. The New iRule screen opens. 2. In the Name box, type a 1- to 31-character name, such as XML_CBR_iRule. 3. In the Definition box, type the syntax for the iRule using Tool Command Language (Tcl) syntax. For complete and detailed information on iRules syntax, see the F5 Networks DevCentral web site, http://devcentral.f5.com. 4. Click Finished.
Figure 29.2 shows an example iRule that queries for an element called FinanceObject in XML content and if a match is found, an iRule event is triggered. The system populates the values of the Tcl variables ($XML::count, $XML::queries, and $XML::values). Then the system routes traffic to a pool called finance_pool.
when XML_CONTENT_BASED_ROUTING { for {set i 0} { $i < $XML::count } {incr i} { log local0. $XML::queries($i) log local0. $XML::values($i) if {($XML::queries($i) contains "FinanceObject")} { pool finance_pool } } }
Figure 29.2 Example iRule for XML content-based routing Table 29.3 describes the Tcl variables in the example iRule.
Tcl variable $XML::count $XML::queries $XML::values Description Shows how many queries matched. Contains an array of the query names that matched. Holds the values of the elements that matched.
29 - 5
Chapter 29
When traffic that is routed to the virtual server includes the FinanceObject element and causes a match, the system sends it to the pool called finance_pool. If traffic does not include the element and does not cause a match, the system sends the request to the default pool, if one is specified, or drops the request, if no default pool is specified.
29 - 6
The system first checks for a match, then checks for malformedness of XML content. So if the system detects a match, it stops checking, and may not detect any subsequent parts of the document that are malformed.
29 - 7
Chapter 29
29 - 8
Glossary
Glossary
active unit In a redundant system, the active unit is the system that currently load balances connections. If the active unit in the redundant system fails, the standby unit assumes control and begins to load balance connections. See also redundant system. ARP (Address Resolution Protocol) ARP is an industry-standard protocol that determines a hosts Media Access Control (MAC) address based on its IP address. authentication Authentication is the process of verifying a users identity when the user is attempting to log on to a system. authentication iRule An authentication iRule is a system-supplied or user-created iRule that is necessary for implementing a PAM authentication module on the BIG-IP system. See also iRule, PAM (Pluggable Authentication Module). authentication module An authentication module is a PAM module that you create to perform authentication or authorization of client traffic. See also PAM (Pluggable Authentication Module). authentication profile An authentication profile is a configuration tool that you use to implement a PAM authentication module. Types of authentication modules that you can implement with an authentication profile are: LDAP, RADIUS, TACACS+, SSL Client Certificate LDAP, and OCSP. See also PAM (Pluggable Authentication Module). authorization Authorization is the process of identifying the level of access that a logged-on user has been granted to system resources. BIND (Berkeley Internet Name Domain) BIND is the most common implementation of the Domain Name System (DNS). BIND provides a system for matching domain names to IP addresses. For more information, refer to http://www.isc.org/products/BIND. certificate A certificate is an online credential signed by a trusted certificate authority and used for SSL network traffic as a method of authentication.
Glossary - 1
Glossary
certificate authority (CA) A certificate authority is an external, trusted organization that issues a signed digital certificate to a requesting computer system for use as a credential to obtain authentication for SSL network traffic. certificate revocation list (CRL) See CRL (certificate revocation list). Certificate Revocation List Distribution Point (CRLDP) See CRLDP (Certificate Revocation List Distribution Point). chain A chain is a series of filtering criteria used to restrict access to an IP address. The order of the criteria in the chain determines how the filter is applied, from the general criteria first, to the more detailed criteria at the end of the chain. configuration object A configuration object is a user-created object that the BIG-IP system uses to implement a PAM authentication module. There is one type of configuration object for each type of authentication module that you create. See also PAM (Pluggable Authentication Module). Configuration utility The Configuration utility is the browser-based application that you use to configure the BIG-IP system. connection persistence Connection persistence is an optimizing technique whereby a network connection is intentionally kept open for the purpose of reducing handshaking. cookie persistence Cookie persistence is a mode of persistence where the BIG-IP system stores persistent connection information in a cookie. CRL (certificate revocation list) A CRL is a list that an authenticating system checks to see if the SSL certificate that the requesting system presents for authentication has been revoked. CRLDP (Certificate Revocation List Distribution Point) CRLDP is an industry-standard protocol that manages SSL certificate revocation for devices on a network.
Glossary - 2
Glossary
CRLDP authentication module A CRLDP authentication module is a user-created module that you implement on a BIG-IP system to authenticate client traffic using the CRLDP protocol. The purpose of a CRLDP authentication module is to manage the revocation of client SSL certificates on a network. custom profile A custom profile is a profile that you create. A custom profile can inherit its default settings from a parent profile that you specify. See also parent profile and profile. default profile A default profile is a profile that the BIG-IP system supplies with default setting values. You can use a default profile as is, or you can modify it. You can also specify it as a parent profile when you create a custom profile. You cannot create or delete a default profile. See also profile, custom profile. default route A default route is the route that the system uses when no other route specified in the routing table matches the destination address or network of the packet to be routed. default VLAN The BIG-IP system is configured with two default VLANs, one for each interface. One default VLAN is named internal and one is named external. See also VLAN (Virtual Local Area Network). default wildcard virtual server A default wildcard virtual server has an IP address and port number of 0.0.0.0:0. or *:* or "any":"any". This virtual server accepts all traffic that does not match any other virtual server defined in the configuration. Diameter protocol Diameter is an industry-standard protocol developed to strengthen security and augment functionality of the Remote Authentication Dial In User Service (RADIUS) protocol. domain name A domain name is a unique name that is associated with one or more IP addresses. Domain names are used in URLs to identify particular Web pages. For example, in the URL http://www.siterequest.com/index.html, the domain name is siterequest.com.
Glossary - 3
Glossary
external VLAN The external VLAN is a default VLAN on the BIG-IP system. In a basic configuration, this VLAN has the administration ports locked down. In a normal configuration, this is typically a VLAN on which external clients request connections to internal servers. failover Failover is the process whereby a standby unit in a redundant system takes over when a software failure or a hardware failure is detected on the active unit. floating self IP address A floating self IP address is an additional self IP address for a VLAN that serves as a shared address by both units of a BIG-IP redundant system. forwarding virtual server A forwarding virtual server is a virtual server that has no pool members to load balance. The virtual server simply forwards the packet directly to the destination IP address specified in the client request. See also virtual server. gateway pool A gateway pool is a pool of routers that you can create to forward traffic. After creating a gateway pool, you can specify the pool as a gateway, within a TMM routing table entry. health monitor A health monitor checks a node to see if it is up and functioning for a given service. If the node fails the check, it is marked down. Different monitors exist for checking different services. ICMP (Internet Control Message Protocol) ICMP is an Internet communications protocol used to determine information about routes to destination addresses. interface The physical port on a BIG-IP system is called an interface. internal VLAN The internal VLAN is a default VLAN on the BIG-IP system. In a basic configuration, this VLAN has the administration ports open. In a normal configuration, this is a network interface that handles connections from internal servers.
Glossary - 4
Glossary
iRule An iRule is a user-written script that controls the behavior of a connection passing through the BIG-IP system. iRules are an F5 Networks feature and are frequently used to direct certain connections to a non-default load balancing pool. However, iRules can perform other tasks, such as implementing secure network address translation and enabling session persistence. Kerberos protocol The Kerberos protocol is a network authentication protocol that allows individuals communicating over a non-secure network to prove their identity to one another in a secure manner. Kerberos is aimed primarily at a client-server model, providing mutual authentication; both the user and the server verify each other's identity. LACP (Link Aggregation Control Protocol) LACP is an industry-standard protocol that aggregates links in a trunk, to increase bandwidth and provide for link failover. Layer 1 through Layer 7 Layers 1 through 7 refer to the seven layers of the Open System Interconnection (OSI) model. Thus, Layer 2 represents the data-link layer, Layer 3 represents the IP layer, and Layer 4 represents the transport layer (TCP and UDP). Layer 7 represents the application layer, handling traffic such as HTTP and SSL. LDAP (Lightweight Directory Access Protocol) LDAP is an Internet protocol that email programs use to look up contact information from a server. LDAP authentication module An LDAP authentication module is a user-created module that you implement on a BIG-IP system to authenticate client traffic using a remote LDAP server. LDAP client certificate SSL authentication module An LDAP client certificate SSL authentication module is a user-created module that you implement on a BIG-IP system to authorize client traffic using SSL client credentials and a remote LDAP server. link aggregation Link aggregation is the process of combining multiple links in order to function as though it were a single link with higher bandwidth. Link aggregation occurs when you create a trunk. See also trunk and LACP (Link Aggregation Control Protocol).
Glossary - 5
Glossary
Link Aggregation Control Protocol (LACP) See LACP (Link Aggregation Control Protocol). load balancing method A particular method of determining how to distribute connections across a load balancing pool. load balancing pool See pool. load balancing virtual server A load balancing virtual server is a virtual server that directs client traffic to a load balancing pool. This is the most basic type of virtual server. See also virtual server. local traffic management Local traffic management is the process of managing network traffic that comes into or goes out of a local area network (LAN), including an intranet. You can manage local traffic using BIG-IP Local Traffic Manager. MAC (Media Access Control) MAC is a protocol that defines the way workstations gain access to transmission media, and is most widely used in reference to LANs. For IEEE LANs, the MAC layer is the lower sublayer of the data link layer protocol. management interface The management interface is a special port on the BIG-IP system, used for managing administrative traffic. Named MGMT, the management interface does not forward user application traffic, such as traffic slated for load balancing. monitor The BIG-IP system uses monitors to determine whether nodes are up or down. There are several different types of monitors and they use various methods to determine the status of a server or service. You can associate monitors with nodes, pools, and individual pool members. See also node, pool, and pool member. monitor instance You create a monitor instance when a health monitor is associated with a pool member or node. It is the monitor instance that actually performs the health check, not the monitor.
Glossary - 6
Glossary
NAT (Network Address Translation) A NAT is an alias IP address that identifies a specific node managed by the BIG-IP system to the external network. node A node is a logical object on the BIG-IP system that identifies the IP address of a physical resource on the network. Nodes are directly associated with pool members and monitors. See also pool member and monitor. OCSP (Online Certificate Status Protocol) OCSP is a protocol that authenticating systems can use to check on the revocation status of digitally-signed SSL certificates. The use of OCSP is an alternative to the use of a certificate revocation list (CRL). See also CRL (certificate revocation list). OCSP authentication module An OCSP authentication module is a user-created module that you implement on a BIG-IP system to authenticate client traffic using a remote OCSP responder. The purpose of an OCSP authentication module is to check on the revocation status of a client SSL certificate. OCSP responder An OCSP responder is an external server used for communicating SSL certificate revocation status to an authentication server such as the BIG-IP system. OCSP responder object A responder object is a software application on the BIG-IP system that communicates with an OCSP responder, for the purpose of checking revocation status of a client or server SSL certificate. PAM (Pluggable Authentication Module) A PAM module is a software module that a server application uses to authenticate client traffic. The modular design of a PAM module allows an organization to add, replace, or remove that authentication mechanism from a server application with minimal impact to that application. An example of a PAM module is an application that uses a remote Lightweight Directory Access Protocol (LDAP) server to authenticate client traffic. See also LDAP (Lightweight Directory Access Protocol). parent profile A parent profile is a profile that can propagate its values to another profile. A parent profile can be either a default profile or a custom profile. See also profile.
Glossary - 7
Glossary
partition A partition is a logical container that you create, containing a defined set of BIG-IP system objects. You use partitions to control user access to the BIG-IP system. See also user role. performance monitor A performance monitor gathers statistics and checks the state of a target device. persistence profile A persistence profile is a configuration tool for implementing a specific type of session persistence. An example of a persistence profile type is a cookie persistence profile. pool A pool is a logical group of pool members. The BIG-IP system load balances requests to the pool members within a pool, based on the load balancing method and persistence method you choose when you configure the pool. See also node and pool member. pool member A pool member is one of the members of a load balancing pool. A pool member name indicates a node IP address and a service number. See also node. port A port can be represented by a number that is associated with a specific service supported by a host. Refer to the Services and Port Index for a list of port numbers and corresponding services. port-specific wildcard virtual server A port-specific wildcard virtual server is a wildcard virtual server that uses a port number other than 0. See also wildcard virtual server. pre-configured monitor A pre-configured monitor is a system-supplied health or performance monitor. You can use a pre-configured monitor as is, but you cannot modify or delete one. See also monitor. profile A profile is a configuration tool containing settings for defining the behavior of network traffic. The BIG-IP system contains profiles for managing FastL4, HTTP, TCP, FTP, SSL traffic, as well as for implementing persistence and application authentication.
Glossary - 8
Glossary
profile setting A profile setting is a configuration attribute within a profile that has a value associated with it. You can configure a profile setting to customize the way that the BIG-IP system manages a type of traffic. profile type A profile type is a category of profile that you use for a specific purpose. An example of a profile type is an HTTP profile, which you configure to manage HTTP network traffic. protocol profile A protocol profile is a profile that you create for controlling the behavior of FastL4, TCP, UDP traffic. RADIUS (Remote Authentication Dial-in User Service) RADIUS is a service that performs remote user authentication and accounting. Its primary use is for Internet Service Providers, though it can also be used on any network that needs a centralized authentication and/or accounting service for its workstations. RADIUS authentication module A RADIUS authentication module is a user-created module that you implement on a BIG-IP system to authenticate client traffic using a remote RADIUS server. RAM cache A RAM cache is a cache of HTTP objects stored in the BIG-IP systems RAM that subsequent connections reuse to reduce the amount of load on the back-end servers. rate class You create a rate filter from the Configuration utility or command line utility. When you assign a rate class to a rate filter, a rate class determines the volume of traffic allowed through a rate filter. See also rate shaping. rate shaping Rate shaping is a type of extended IP filter. Rate shaping uses the same IP filter method but applies a rate class, which determines the volume of network traffic allowed. See also rate class. redundant system Redundant system refers to a pair of units that are configured for fail-over. In a redundant system, there are two units, one running as the active unit and one running as the standby unit. If the active unit fails, the standby unit takes over and manages connection requests.
Glossary - 9
Glossary
responder object See OCSP responder object. route domain A route domain is a BIG-IP system object that allows you to isolate a type of application traffic to a defined address space on the network. router A router is a Layer 3 networking device. If no VLANs are defined on the network, a router defines a broadcast domain. secure network address translation (SNAT) See SNAT (secure network address translation). self IP address Self IP addresses are the IP addresses owned by the BIG-IP system that you use to access the internal and external VLANs. service Service refers to services such as TCP, UDP, HTTP, and FTP. session persistence A series of related connections received from the same client, having the same session ID. When persistence is enabled, a BIG-IP system sends all connections having the same session ID to the same node, instead of load balancing the connections. Session persistence is not to be confused with connection persistence. Setup utility The Setup utility walks you through the initial system configuration process. You can run the Setup utility from the Configuration utility start page. simple persistence See source address affinity persistence. SNAT (Secure Network Address Translation) A SNAT is a feature you can configure on the BIG-IP system. A SNAT defines a routable alias IP address that one or more nodes can use as a source IP address when making connections to hosts on a network. SNMP (Simple Network Management Protocol) SNMP is the Internet standard protocol, defined in STD 15, RFC 1157, developed to manage nodes on an IP network.
Glossary - 10
Glossary
source address affinity persistence Also known as simple persistence, source address affinity persistence supports TCP and UDP protocols, and directs session requests to the same server based solely on the source IP address of a packet. spanning tree A spanning tree is a logical tree structure of layer 2 devices on a network, created by a spanning tree protocol algorithm and used for resolving network loops. SSH SSH is a protocol for secure remote login and other secure network services over a non-secure network. SSL (Secure Sockets Layer) SSL is a network communications protocol that uses public-key technology as a way to transmit data in a secure manner. SSL profile An SSL profile is a configuration tool that you use to terminate and initiate SSL connections from clients and servers. standby unit A standby unit in a redundant system is a unit that is always prepared to become the active unit if the active unit fails. TACACS (Terminal Access Controller Access Control System) TACACS is an older authentication protocol common to UNIX systems. TACACS allows a remote access server to forward a users login password to an authentication server. TACACS+ TACACS+ is an authentication mechanism designed as a replacement for the older TACACS protocol. There is little similarity between the two protocols, however, and they are therefore not compatible. TACACS+ authentication module A TACACS+ authentication module is a user-created module that you implement on a BIG-IP system to authenticate client traffic using a remote TACACS+ server.
Glossary - 11
Glossary
tagged interface A tagged interface is an interface that you assign to a VLAN in a way that causes the system to add a VLAN tag into the header of any frame passing through that interface. Tagged interfaces are used when you want to assign a single interface to multiple VLANs. See also VLAN (virtual local area network). TMM (Traffic Management Microkernel) service The TMM service is the process running on the BIG-IP system that performs most traffic management for the product. transparent node A transparent node appears as a router to other network devices, including the BIG-IP system. trunk A trunk is a combination of two or more interfaces and cables configured as one link. user role A user role is a type and level of access that you assign to a BIG-IP system user account. By assigning user roles, you can control the extent to which BIG-IP system administrators can view or modify the BIG-IP system configuration. virtual address A virtual address is an IP address associated with one or more virtual servers managed by the BIG-IP system. See also virtual server. virtual port A virtual port is the port number or service name associated with one or more virtual servers managed by the BIG-IP system. A virtual port number should be the same TCP or UDP port number to which client programs expect to connect. virtual server Virtual servers are a specific combination of virtual address and virtual port, associated with a content site that is managed by a BIG-IP system or other type of host server. VLAN (virtual local area network) A VLAN is a logical grouping of interfaces connected to network devices. You can use a VLAN to logically group devices that are on different network segments. Devices within a VLAN use layer 2 networking to communicate and define a broadcast domain.
Glossary - 12
Glossary
VLAN group A VLAN group is two or more VLANs that you put together into a VLAN group. A primary use of a VLAN group is to successfully route traffic when both the source and the destination hosts reside on the same network. VLAN name A VLAN name is the symbolic name used to identify a VLAN. For example, you might configure a VLAN named marketing, or a VLAN named development. See also VLAN (virtual local area network). VLAN tag An IEEE standard, a VLAN tag is an identification number inserted into the header of a frame that indicates the VLAN to which the destination device belongs. VLAN tags are used when a single interface forwards traffic for multiple VLANs. wildcard virtual server A wildcard virtual server is a virtual server that uses an IP address of 0.0.0.0, * or "any". A wildcard virtual server accepts connection requests for destinations outside of the local network. Wildcard virtual servers are included only in Transparent Node Mode configurations.
Glossary - 13
Glossary
Glossary - 14
Index
Index
A
access to partitions 23-5 access control configuring 24-7 tailoring 23-1 access control combinations 24-8 access control groups See partitions. access control process See authorization steps. access levels for partition Common 23-2 See also user access. access-control properties configuring 24-6 Access-Request packets 25-9 ACK packets 2-2, 2-6 Active Directory remote authentication 24-2 adaptive connection reaping 22-2, 22-3 adaptive reaper 22-9 additional information for Bigpipe Utility Reference Guide 1-2 for Configuration Guide for BIG-IP Local Traffic Manager 1-2 for Configuration Worksheet 1-2 for Installation, Licensing, and Upgrades for BIG-IP Systems 1-2 for Platform Guide 1-2 for TMOS Management Guide for BIG-IP Systems 1-2 address translation 2-1, 2-2, 8-5 admin account 23-2 administrative partitions and route domains 6-6 defined 23-1 Administrator role and object management 23-4 Administrator role access 23-2 aggregation, of links 18-1 application traffic isolating 6-1 ARP protocol 2-5 authentication for remote user accounts 24-1 authentication attributes 24-9, 24-10 authentication module types 25-8 authentication server types 24-2 authentication servers as pool members 27-1
authorization data propagating 24-1 authorization failure 24-9 authorization levels determining 23-3 authorization properties configuring 24-6 authorization steps 23-2
B
Back Orifice attacks 22-12 BIG-IP system adding to network 4-1 configuring for same network 4-3 to replace switches 4-2 BIG-IP system bypass 2-1 BIG-IP system objects 23-1 bigpipe -? command 24-8 bigpipe shell and user roles 23-2 broadcast addresses 2-4 built-in switching for multiple customer hosting 5-5
C
cache servers 7-1 certificate installation 13-1 Certificate Revocation List Distribution Point protocol See CRLDP authentication module. certificates requesting from CAs 12-3, 13-2 client credentials 25-8 client requests and BIG-IP system 2-6 decrypting 12-7 Client SSL profiles assigning 12-7, 13-8 creating 12-4, 13-4 defined 12-1, 13-1 command line interface See bigpipe shell. common configuration 7-1 compression and iRules 11-1 and RAM Cache 14-1 configuring 13-5 compression tasks 11-1 configuration data importing and exporting 24-11 configuration examples, Internet 3-1 Configuration utility and online help 1-5 and Welcome screen 1-5 Configuration Worksheet 1-2 connection flooding 22-9 Index - 1
Index
connection request types 7-1 connection timeout 2-6, 22-8 connections adding 8-1 authenticating 25-8 reaping 22-2 See also Internet connections. content demand for 14-1 static 14-1 content compression and RAM Cache 14-1 content-based routing, XML 29-1 cookie persistence 10-1 cookie persistence profiles 10-2 cookies 22-8 corporate intranet 7-1 CRLDP authentication module defined 25-21 CRLDP configuration objects defined 25-22 CRLDP profile type defined 25-23 CRLDP responder objects defined 25-21 CRLDP server objects defined 25-21 custom HTTP profiles described 10-1 using 9-1 custom monitors 20-1 custom persistence profiles described 10-1 using 9-1 custom RADIUS profiles assigning 25-10 customers hosting for 5-1
Denial-of-Service attacks 22-1, 22-8 Denial-of-Service prevention 22-4 destination address translation 2-1 Diameter configuration process 28-2 Diameter health monitor 28-2 Diameter load balancing creating pools for 28-3 creating virtual servers for 28-3 overview of 28-1 Diameter services 28-1 and health monitoring 28-2
E
e-commerce traffic load balancing 3-1 expressions for packet filtering 19-1
F
Fast L4 profiles assigning 2-4 creating 2-2, 2-3 for nPath routing 2-2 files including and excluding 11-1 FIN packets 2-2 flooding 22-9 formatting conventions 1-3 FTP monitors 15-2, 16-2 FTP pools assigning 15-4 creating 15-3, 16-3 FTP profiles assigning 15-4 defined 15-1 FTP traffic 15-1 FTP virtual servers creating 15-4, 16-5
D
data attacks 22-11 data center topology 4-1 data compression and RAM Cache 14-1 data propagation 24-7, 24-11 default HTTP profiles described 10-1 using 9-1 default persistence profiles described 10-1 using 9-1 default routes for nPath routing 2-2 setting 2-2, 17-4 default wildcard servers 7-2
G
gateways and nPath routing 2-5 groups assigning privileges to 24-7 for user access control 24-1 Guest role tasks 23-3
H
health monitors for Diameter servers 28-2 for remote authentication servers 27-1 help, online 1-5 high demand objects 14-1
Index - 2
Index
high-water mark See adaptive connection reaping. hosting services using route domains 6-1 HTTP compression tasks 11-1 HTTP connections 10-3 HTTP headers 14-1 HTTP methods 14-1 HTTP pools assigning for compression 11-3, 28-4 assigning for RAM Cache 14-3 assigning for source address persistence 9-3 creating for cookie persistence 10-3 creating for source address persistence 9-2 HTTP profiles creating for compression 11-2, 13-5 creating for LDAP authentication 25-16 creating for RAM Cache 14-2 defined 10-1 described 9-1 HTTP RAM Cache See RAM Cache. HTTP traffic controlling for compression 11-1 controlling for cookie persistence 10-1 controlling for source address persistence 9-1 HTTP virtual servers creating for compression 11-3 creating for cookie persistence 10-3 creating for source address persistence 9-3 HTTPS pools assigning 12-7, 13-8 creating 12-6, 13-7 HTTPS traffic 12-7 HTTPS virtual servers creating 12-7, 13-8
IP addresses and loopback interfaces 2-5 and nPath routing 2-5 duplicating on network 6-1 removing from VLANs 18-7 IP aliases and nPath routing 2-5 IP network changing 4-1 IP network topology with single interface 4-1, 17-1 IP packets recognition by clients 17-5 routing incorrectly 2-5 IPV6 nodes 21-2 iRules for compression 11-1 for XML content-based routing 29-5
K
key installation 13-1
L
L2 forwarding 4-1 LACP protocol 18-3 Land attacks 22-10 LDAP configuration objects 25-2 LDAP profile type defined 25-6 LDAP remote authentication 24-2 link aggregation about 18-1 and network configurations 18-6 and VLAN groups 18-7 configuring 18-2 local traffic objects and route domains 6-6 loopback interfaces 2-2, 2-5 low-water mark See adaptive connection reaping.
I
ICMP floods 22-9 idle timeout values 2-2, 2-3 inbound traffic 8-3 inheritance prevention for monitors 20-5 interfaces and partitions 23-2 assigning as tagged 5-2 using link aggregation 18-1 Internet connections adding more 8-1 example 8-1 load balancing 8-1 intranet configuration creating 7-2 IP address translation 2-1
M
Manager role access 23-2 Manager role tasks 23-3 monitor inheritance 20-4 monitor settings 20-1 monitor types 20-1 monitors assigning to pools 20-4 creating 20-3 creating for FTP servers 16-2 defined 20-1 for Diameter load balancing 28-2 for FTP servers 15-2 removing 20-5
Index - 3
Index
MS Loopback interface 2-5 multiple customer hosting about 5-1, 6-1 configuring 5-2, 6-2 creating pools for 5-3 creating VLAN tags for 5-2 using built-in switching 5-5
P
packet filter rules creating 19-4 purpose of 19-1 packet filters 19-1, 19-4 packets forwarding and rejecting 19-1 receiving and copying 4-4 recognition by clients 17-5 partition access configuring 23-3 Partition Access list 23-4 partition Common described 23-2 partition contents 23-1 partition property 24-6 partitioned objects creating 23-5 described 23-2 partitions and user roles 23-2 benefits of 23-2 creating 23-2 defined 23-1 selecting 23-5 password credentials 25-8 performance monitors 20-2 permissions determining 23-1 See also user access. persistence 2-6 implementing 9-1 See also cookie persistence. persistence profiles assigning for compression 13-8 assigning for FTP 15-4 assigning for HTTP 10-4 assigning for HTTPS 12-7 assigning for RAM Cache 14-3 creating 10-2 Ping of Death attacks 22-10 Platform Guide 1-2 pool member exclusion 20-4, 20-5 pool members and Operator role 23-3 pools creating for a basic configuration 7-2 creating for Diameter load balancing 28-3 creating for e-commerce 3-1, 3-2 creating for FTP servers 15-3 creating for HTTP 9-2, 10-3 creating for HTTPS 12-6, 13-7 creating for intranet configuration 7-2 creating for ISP load balancing 8-2 creating for link aggregation 18-4 creating for monitors 20-4
N
NAS-Identifier string 25-9 netmask 2-4 network changing 4-1 network adapter list 2-5 network configurations and link aggregation 18-2, 18-6 for IP network topology 17-1 network objects and route domains 6-6 network prefixes 21-1 network traffic and additional connections 8-1 and packet filters 19-1 managing 2-1 network traffic authentication types 25-1 node configuration and radvd service 21-1 nodes and Operator role 23-3 nPath routing 2-1, 2-5 nPath routing tasks 2-2 numeric values for user privileges 24-9
O
object creation and partition location 23-5 object re-use 14-1 objects and Guest role 23-3 defined 23-1 demand for 14-1 viewing and managing 23-4 OCSP authentication module See SSL OCSP authentication module. OCSP responder objects creating 25-18 one-network topology 18-6 Online Certificate Status Protocol See SSL OCSP authentication module. online help 1-5 Operator role tasks 23-3 Other External Users account 24-6 outbound throughput increasing 2-1 Index - 4
Index
creating for multiple customer hosting 5-3 creating for nPath routing 2-4 creating for rate shaping 16-3 creating for routers 19-2 creating for single network 17-2 creating for XML content-based routing 29-4 of web servers 4-5 port translation 2-2 ports for e-commerce 3-1 pre-configured monitors 20-1 privileges assigning 24-7 configuring 24-6 for individual accounts 24-6 See also access control profiles creating for HTTP 11-2, 25-16 creating XML 29-2 protocols for remote authentication servers 25-1
R
RADIUS authentication module implementing 25-8 RADIUS authentication profiles assigning 25-10 RADIUS configuration objects creating 25-9 specifying in profile 25-10 RADIUS configuration overview 25-8 RADIUS profiles creating 25-10 RADIUS secret 25-8 RADIUS server configuration 27-2 RADIUS server objects creating 25-8 specifying in configuration object 25-9 RADIUS servers and authentication 25-8 and traffic authentication 25-8 RADIUS user authorization configuring 24-4 RADIUS-based authentication configuring 24-4 radvd service 21-1 RAM Cache defined 14-1 RAM Cache compliancy 14-1 RAM Cache virtual servers 14-3 rate classes and virtual servers 16-5 creating 16-4
rate shaping and FTP traffic 16-4 as optional feature 16-1 Read access 23-2 regular expressions 11-1 remote attribute mapping 24-7 remote authentication for system user accounts 24-2 remote authentication attributes 24-9, 24-10 remote authentication issues 27-1 remote authentication requirements 27-2 remote authentication server types 24-2, 25-1 remote user authentication configuring 24-1 remoterole command purpose of 24-1, 24-6, 24-7 remoterole command syntax 24-7 requests decrypting 12-1, 13-1 encrypting 12-1, 13-1 resource exhaustion 22-8 response types 14-1 responses compressing 11-1 encrypting 12-1, 13-1 retransmission timeout See RTO. role property 24-6 route configuration for nPath routing 2-2 route domain configuration and prerequisites 6-1 example of 6-6 route domains and administrative partitions 6-2, 6-6 and BIG-IP system objects 6-6 and duplicate IP addresses 6-1 defined 6-1 router pools 19-2 routers increasing throughput 2-1 routes for nPath routing 2-5 for packets 4-5 routing configuring XML content-based 29-1 routing conflicts 4-5 RTO 2-6
S
SCF purpose of 24-11 SCFs creating 24-11
Index - 5
Index
secondary RADIUS servers configuring 24-4 self IP addresses and partitions 23-2 creating 18-8 creating for VLAN groups 4-5 for external VLAN 8-5 removing 4-3, 18-7 self-signed certificates 12-2, 13-2 server hosting 3-1 server load 14-1 server pools for nPath routing 2-4 server responses encrypting 12-1, 12-7, 13-1 session persistence implementing 9-1 See also cookie persistence. See also source address affinity persistence. simple persistence See source address affinity persistence. Single Configuration File and access control 24-1 See SCF. Smurf attack 22-9 SNAT Automap about 8-1 for VLANs 8-5 SNAT source translations 17-1 SNATs creating 19-2 source address affinity persistence 9-1 source address translation 2-1 source IP addresses and session persistence 9-2 SSL certificates importing 24-2 SSL Client Certificate LDAP configuration objects creating 25-15 SSL Client Certificate LDAP profiles creating 25-16 SSL handshaking for compression 13-1, 13-2 for HTTPS 12-1, 12-2, 12-7 SSL keys and certificates creating 12-2, 13-2 installing 13-1 SSL OCSP authentication module defined 25-18 SSL OCSP configuration objects creating 25-19 SSL OCSP profile type defined 25-19 SSL OCSP responder objects creating 25-18
SSL profiles See Client SSL profiles. SSL traffic authentication 24-2 state keeping 22-8 static content 14-1 statistics, XML content-based routing 29-7 style conventions 1-3 Sub 7 attacks 22-11 SYN Check feature, activating 22-9 SYN cookies 22-8, 22-9 SYN floods 22-8 SYN packets 2-2, 2-6 system access controlling 23-1 system object creation and partition location 23-5 system objects viewing and managing 23-4 system resource exhaustion 22-8
T
TACACS+ configuration object defined 25-12 TACACS+ configuration overview 25-12 TACACS+ profiles creating 25-13 tagged interfaces 5-2, 18-1 Tcl variables for content-based routing 29-5 TCP connections 22-8 TCP timers 2-6 TCP traffic and nPath routing 2-2, 2-6 tcpdump utility 19-1 Teardrop attacks 22-11 terminal access property 24-6 throughput increasing 2-1 throughput optimization 17-5 timers 2-6 topology 4-1 traffic and same network 4-4 returning 2-1 traffic isolation example of 6-6 traffic load 14-1 trunk members 18-3 trunks 18-3
U
UDP floods 22-9 UDP fragment attacks 22-10 UDP timers 2-6 UDP traffic and nPath routing 2-6
Index - 6
Index
universal access 23-5 URIs including and excluding 11-1 user access configuring 23-3 denial of 24-8 tailoring 23-1 to partition Common 23-2 user account duplication 24-7 user account objects and manager role 23-3 user account properties modifying 23-3 user accounts defined 23-1 user authentication configuring 24-1 user name credentials 25-8 user partition property 24-6 user privileges assigning 24-7 user role property 24-6 user roles and Diameter load balancing 28-1 and partition access 23-2 and route domains 6-2 defined 23-1 for partition creation 23-2 U
for HTTP 9-3 for HTTPS 12-7, 13-8 for IPv6 nodes 21-3 for link aggregation 18-5 for multiple customer hosting 5-3 for nPath routing 2-4 for RAM Cache 14-3 mapping to IP addresses 2-4 modifying for CRLDP authentication 25-24 modifying for RADIUS authentication 25-11 modifying for SSL Client Certificate LDAP authentication 25-17 modifying for SSL OCSP authentication 25-20 modifying for TACACS+ authentication 25-14 VLAN groups creating 4-4, 18-7 VLAN tags creating 5-2, 18-3 VLANs and partitions 23-2 and tagged interfaces 5-2 removing self IP addresses from 4-3, 4-4 using link aggregation 18-1
W
web server arrays 3-1 web server pools creating 4-5 Welcome screen 1-5 wildcard virtual servers defined 7-2 WinNuke attacks 22-11
V
variable substitution for access control 24-8 vendor-specific attributes 24-7, 24-8 virtual authentication servers and VLANs 27-2 defined 27-1 virtual server addresses 2-2 virtual server modification 25-11 virtual servers and e-commerce 3-1 and SNATs 17-1 and web server pools 4-6 creating for e-commerce 3-3 creating for HTTP 10-3 creating for inbound and outbound traffic 8-3 creating for intranet configuration 7-3 creating for multiple customer hosting 5-3 creating for single network 17-3 creating for XML content-based routing 29-6 for a basic configuration 7-3, 19-3 for compression 11-3 for Diameter load balancing 28-3 for FTP 15-4 for FTP and rate shaping 16-5
X
XML content-based routing 29-1 XML document example 29-1 XML profiles, creating 29-2 XPath query syntax 29-3
Index - 7