BIG-IP TMOS Implementations
BIG-IP TMOS Implementations
Version 11.5.1
Table of Contents
Table of Contents
3
Table of Contents
4
Table of Contents
5
Table of Contents
6
Table of Contents
Creating IP Tunnels................................................................................................................109
About IP tunnels.............................................................................................................109
About point-to-point tunnels...........................................................................................109
Creating a point-to-point IP tunnel.......................................................................110
Assigning a self IP address to an IP tunnel endpoint..........................................111
Routing traffic through an IP tunnel interface......................................................111
Example of a point-to-point IP tunnel configuration.............................................112
About tunnels between the BIG-IP system and other devices.......................................112
Creating an encapsulation tunnel between a BIG-IP device and multiple
devices...........................................................................................................112
About transparent tunnels..............................................................................................113
Creating a transparent tunnel..............................................................................114
7
Table of Contents
8
Table of Contents
Task summary................................................................................................................170
Creating a forwarding virtual server for IPsec.....................................................170
Creating an IPsec tunnel with NAT-T on one side...............................................170
Verifying IPsec connectivity for Tunnel mode......................................................174
9
Table of Contents
10
Table of Contents
Task summary................................................................................................................225
Creating an administrative partition.....................................................................225
Configuring user access to a partition.................................................................226
11
Table of Contents
12
Customizing the BIG-IP Dashboard
Note: The view set name for all pre-defined views is standard.
Note: The windows are not active when in design mode, so the data does not update in real time.
4. When you have placed the windows you want onto the canvas, click the Save icon on the Custom Views
control bar.
The Save View popup window opens.
5. Type a name for the view.
6. Type a new name for the view set, or select from the list.
7. Click OK.
The new view is saved, and appears in the Views list.
8. Click the double-gear icon on the Custom Views control bar to return to active mode.
The dashboard displays the custom view you just created, and updates the display with real-time data.
Creating an Active-Standby Configuration Using the Setup
Utility
Important: The same version of BIG-IP system software must be running on all devices in the device group.
First, you run the Setup utility on each device to configure base network components (that is, a management
port, administrative passwords, and the default VLANs and their associated self IP addresses). Continue
running it on each device to establish a trust relationship between the two devices, and create a Sync-Failover
type of device group that contains two member devices.
After the Setup utility is run on both devices, each device contains the default traffic group that the BIG-IP
system automatically created during setup. A traffic group represents a set of configuration objects (such
as floating self IP addresses and virtual IP addresses) that process application traffic. This traffic group
actively processes traffic on one of the two devices, making that device the active device. When failover
occurs, the traffic group becomes active on (that is, floats to) the peer BIG-IP device.
By default, the traffic group contains the floating self IP addresses of the default VLANs. Whenever you
create additional configuration objects such as self IP addresses, virtual IP addresses, and SNATs, the system
automatically adds these objects to the default traffic group.
Example
In this configuration example, the device group is named Device Group A. This device group contains
two BIG-IP devices, named Device 1 and Device 2, and these two devices are peers of one another. The
default traffic group, named traffic-group-1, resides on each device.
Device 1 actively processes traffic because traffic-group-1 is in an Active state on that device. Device
2 remains idle until failover occurs because traffic-group-1 is in a Standby state on that device.
Creating an Active-Standby Configuration Using the Setup Utility
Task summary
The configuration process for a BIG-IP® system entails running the Setup utility on each of the two BIG-IP
devices. When you run the Setup utility, you perform several tasks. Completing these tasks results in both
BIG-IP devices being configured properly for an active-standby implementation.
Important: After using the Setup utility to create an active-standby configuration, you can re-enter the
utility at any time to adjust the configuration. Simply click the F5 logo in the upper-left corner of the BIG-IP
Configuration utility, and on the Welcome screen, click Run the Setup Utility. Then page through the utility
to find the appropriate screens.
16
BIG-IP® TMOS®: Implementations
1. From a workstation attached to the network on which you configured a primary cluster IP address for
the management interface, log in to the BIG-IP system by typing the following URL, where
<primary_cluster_management_IP_address> is the address you configured as the floating
management IP address for the primary blade in the cluster:
https://<primary_cluster_management_IP_address>
2. At the login prompt, type the default user name admin, and password admin, and click Log in.
The Setup utility screen opens.
3. Click Next.
4. Click Activate.
The License screen opens.
5. In the Base Registration Key field, paste the registration key.
6. Click Next and follow the process for licensing and provisioning the system.
Note: When you perform the licensing task so that you can run the F5 cloud ADC, you can accept the
default provisioning values.
7. Click Next.
This displays the screen for configuring general properties and user administration settings.
The BIG-IP system license is now activated, and the relevant BIG-IP modules are provisioned.
17
Creating an Active-Standby Configuration Using the Setup Utility
Typing a password for the admin account causes the system to terminate the login session. When this
happens, log in to the F5 Configuration utility again, using the new password. The system returns to the
appropriate screen in the Setup utility.
7. For the SSH Access setting, select or clear the check box.
8. From the SSH IP Allow list, retain the default value of *All Addresses, or specify a range.
9. Click Next.
10. In the Standard Network Configuration area of the screen, click Next.
This displays the screen for enabling configuration synchronization and high availability.
Important: If the BIG-IP device you are configuring is accessed using Amazon Web Services and
the device needs to failover to a device group peer, use the second, Secondary Private IP address
for the floating IP address.
3. For the VLAN Tag ID setting, retain the default value, auto.
This is the recommended value.
4. For the VLAN Interfaces setting, click the interface 1.2 and, using the Move button, move the interface
number from the Available list to the Untagged list.
18
BIG-IP® TMOS®: Implementations
5. Click Next.
This completes the configuration of the internal self IP addresses and VLAN, and displays the screen
for configuring the default VLAN external.
2. In the Default Gateway field, type the IP address that you want to use as the default gateway to VLAN
external.
3. Specify the Floating IP setting:
a) In the Address field, type a floating IP address.
This address should be distinct from the address you type for the Self IP setting.
Important: If the BIG-IP device you are configuring is accessed using Amazon Web Services and
the device needs to failover to a device group peer, use the second, Secondary Private IP address
for the floating IP address.
4. For the VLAN Tag ID setting, retain the default value, auto.
This is the recommended value.
5. For the VLAN Interfaces setting, click the interface 1.2 and, using the Move button, move the interface
number from the Available list to the Untagged list.
6. Click Next.
This completes the configuration of the external self IP addresses and VLAN, and displays the screen
for configuring the default VLAN HA.
3. For the VLAN Tag ID setting, retain the default value, auto.
This is the recommended value.
19
Creating an Active-Standby Configuration Using the Setup Utility
4. For the VLAN Interfaces setting, click an interface number, and using the Move button, move the
interface number from the Available list to the Untagged list.
5. Click Next.
This configures the self IP address and VLAN that the system will use for high availability and displays
the default IP address that the system will use for configuration synchronization.
3. Click Next.
4. From the Primary Local Mirror Address list, retain the default value, which is the self IP address for
VLAN HA.
5. From the Secondary Local Mirror Address list, select the address for VLAN internal.
6. Click Finished.
20
BIG-IP® TMOS®: Implementations
3. If this is the second device of the pair that you are setting up:
a) Under Discover Configured Peer Device, click Next.
b) Under Remote Device Credentials, specify the Management IP address, Administrator
Username, and Administrator Password.
c) Click Retrieve Device Information.
4. Click Finished.
After the second device has discovered the first device, the two devices have a trust relationship and constitute
a two-member device group. Also, each device in the pair contains a default traffic group named
Traffic-Group-1. By default, this traffic group contains the floating IP addresses that you defined for
VLANs internaland external.
Implementation result
To summarize, you now have the following BIG-IP® configuration on each device of the pair:
• A management port, management route, and administrative passwords defined.
• A VLAN named internal, with one static and one floating IP address.
• A VLAN named external, with one static and one floating IP address.
• A VLAN named HA with a static IP address.
• Configuration synchronization, failover, and mirroring enabled.
• Failover methods of serial cable and network (or network-only, for a VIPRION® platform.
• A designation as an authority device, where trust was established with the peer device.
• A Sync-Failover type of device group with two members defined.
• A default traffic group that floats to the peer device to process application traffic when this device
becomes unavailable. This traffic group contains two floating self IP addresses for VLANs internal
and external.
• One end of an iSession™ connection for WAN traffic optimization.
On either device in the device group, you can create additional configuration objects, such as virtual IP
addresses and SNATs. The system automatically adds these objects to Traffic-Group-1.
21
Creating an Active-Active Configuration Using the Setup
Utility
Note: Access Policy Manager (APM) is not supported in an Active-Active configuration. APM is supported
in an Active-Standby configuration with two BIG-IP systems only.
Important: The same version of BIG-IP system software must be running on all devices in the device group.
Using this implementation, you begin by running the Setup utility on each device to configure its base
network components. Base network components include a management port, administrative passwords, and
default VLANs and their associated self IP addresses. You also use Setup to configure configuration
synchronization and high availability.
You then use the BIG-IP® Configuration utility to:
• Establish trust between the two devices
• Create a Sync-Failover type of device group that contains two member devices
• Create a second traffic group
• Create two iApp™ application services
In this configuration, both devices actively process application traffic, each for a different application. One
device processes its application traffic using the configuration objects associated with the default floating
traffic group, traffic-group-1. By default, this traffic group contains the floating self IP addresses of
the default VLANs. The other device processes its application traffic using a second traffic group that you
create.
If one of the devices becomes unavailable for any reason, the other device automatically begins processing
traffic for the unavailable peer, while continuing to process the traffic for its own application.
This illustration shows an example of the device group that this implementation creates, named Device
Group A. This device group contains two BIG-IP devices, Device 1 and Device 2.
The configuration shows two traffic groups, traffic-group-1 and traffic-group-2, each containing
failover objects. For traffic-group-1, Device 1 is the default device. For traffic-group-2, Device
2 is the default device. If Device 1 becomes unavailable, traffic-group-1 floats to Device 2. If
Device 2 becomes unavailable, traffic-group-2 floats to Device 1.
Creating an Active-Active Configuration Using the Setup Utility
Important: For active-active configurations, you must enable network failover instead of hard-wired serial
failover.
Task summary
The BIG-IP® configuration process begins with running the Setup utility on each of the two BIG-IP devices.
Once you have completed that task, you can log into either of the BIG-IP devices and perform all of the
remaining tasks, on that device only. This results in both BIG-IP devices being configured properly for an
active-active implementation.
Important: After using the Setup utility to create a redundant system configuration, you can re-enter the
utility at any time to adjust the configuration. Simply click the F5 logo in the upper-left corner of the BIG-IP
Configuration utility, and on the Welcome screen, click Run the Setup Utility. Then page through the utility
to find the appropriate screens.
24
BIG-IP® TMOS®: Implementations
Note: When you perform the licensing task so that you can run the F5 cloud ADC, you can accept the
default provisioning values.
7. Click Next.
This displays the screen for configuring general properties and user administration settings.
The BIG-IP system license is now activated, and the relevant BIG-IP modules are provisioned.
25
Creating an Active-Active Configuration Using the Setup Utility
The time zone you select typically reflects the location of the F5® system.
5. For the Root Account setting, type and confirm a password for the root account.
The root account provides console access only.
6. For the Admin Account setting, type and confirm a password.
Typing a password for the admin account causes the system to terminate the login session. When this
happens, log in to the F5 Configuration utility again, using the new password. The system returns to the
appropriate screen in the Setup utility.
7. For the SSH Access setting, select or clear the check box.
8. From the SSH IP Allow list, retain the default value of *All Addresses, or specify a range.
9. Click Next.
10. In the Standard Network Configuration area of the screen, click Next.
This displays the screen for enabling configuration synchronization and high availability.
Important: If the BIG-IP device you are configuring is accessed using Amazon Web Services and
the device needs to failover to a device group peer, use the second, Secondary Private IP address
for the floating IP address.
26
BIG-IP® TMOS®: Implementations
3. For the VLAN Tag ID setting, retain the default value, auto.
This is the recommended value.
4. For the VLAN Interfaces setting, click the interface 1.2 and, using the Move button, move the interface
number from the Available list to the Untagged list.
5. Click Next.
This completes the configuration of the internal self IP addresses and VLAN, and displays the screen
for configuring the default VLAN external.
2. In the Default Gateway field, type the IP address that you want to use as the default gateway to VLAN
external.
3. Specify the Floating IP setting:
a) In the Address field, type a floating IP address.
This address should be distinct from the address you type for the Self IP setting.
Important: If the BIG-IP device you are configuring is accessed using Amazon Web Services and
the device needs to failover to a device group peer, use the second, Secondary Private IP address
for the floating IP address.
4. For the VLAN Tag ID setting, retain the default value, auto.
This is the recommended value.
5. For the VLAN Interfaces setting, click the interface 1.2 and, using the Move button, move the interface
number from the Available list to the Untagged list.
6. Click Next.
This completes the configuration of the external self IP addresses and VLAN, and displays the screen
for configuring the default VLAN HA.
27
Creating an Active-Active Configuration Using the Setup Utility
3. For the VLAN Tag ID setting, retain the default value, auto.
This is the recommended value.
4. For the VLAN Interfaces setting, click an interface number, and using the Move button, move the
interface number from the Available list to the Untagged list.
5. Click Next.
This configures the self IP address and VLAN that the system will use for high availability and displays
the default IP address that the system will use for configuration synchronization.
Important: When configuring failover and mirroring IP addresses, you select addresses of the local device
only. Later, during the process of device discovery, the two devices in the device group discover each other's
addresses.
3. Click Next.
4. From the Primary Local Mirror Address list, retain the default value, which is the self IP address for
VLAN HA.
5. From the Secondary Local Mirror Address list, select the address for VLAN internal.
6. Click Finished.
This causes you to leave the Setup utility.
28
BIG-IP® TMOS®: Implementations
The device you added is now a member of the local trust domain.
Repeat this task for each device that you want to add to the local trust domain.
29
Creating an Active-Active Configuration Using the Setup Utility
3. Type a name for the device group, select the device group type Sync-Failover, and type a description
for the device group.
4. In the Configuration area of the screen, select a host name from the Available list for each BIG-IP device
that you want to include in the device group, including the local device. Use the Move button to move
the host name to the Includes list.
The Available list shows any devices that are members of the device's local trust domain but not currently
members of a Sync-Failover device group. A device can be a member of one Sync-Failover group only.
5. For the Network Failover setting, select or clear the check box:
• Select the check box if you want device group members to handle failover communications by way
of network connectivity. This choice is required for active-active configurations.
• Clear the check box if you want device group members to handle failover communications by way
of serial cable (hard-wired) connectivity.
For active-active configurations, you must select network failover, as opposed to serial-cable (hard-wired)
connectivity.
6. Click Finished.
You now have a Sync-Failover device group containing two BIG-IP devices as members.
You now have an iApp application service, which is associated with the traffic group assigned to the root
folder, traffic-group-1.
30
BIG-IP® TMOS®: Implementations
2. On the lower half of the screen, verify that the list shows the default floating traffic group (traffic-group-1)
for the local device.
3. On the Traffic Group List screen, click Create.
4. Type the name traffic-group-2 for the new traffic group.
5. Type a description of the new traffic group.
6. Click Next.
7. In the MAC Masquerade Address field, type a MAC masquerade address.
When you specify a MAC masquerade address, you reduce the risk of dropped connections when failover
occurs. This setting is optional.
8. Click Next.
9. Select or clear the check box for the Auto Failback option:
• Select the check box to cause the traffic group, after failover, to fail over again to the first device in
the traffic group's ordered list when that device (and only that device) is available.
• Clear the check box to cause the traffic group, after failover, to remain active on its current device
until failover occurs again.
You now have a floating traffic group for which the default device is the peer device.
31
Creating an Active-Active Configuration Using the Setup Utility
Standby state, the traffic group becomes active on another device in the device group. For device groups
with more than two members, you can choose the specific device to which the traffic group fails over.
1. Log in to the device on which the traffic group is currently active.
2. On the Main tab, click Device Management > Traffic Groups.
3. In the Name column, locate the name of the traffic group that you want to run on the peer device.
4. Select the check box to the left of the traffic group name.
If the check box is unavailable, the traffic group is not active on the device to which you are currently
logged in. Perform this task on the device on which the traffic group is active.
5. Click Force to Standby.
This displays target device options.
6. Choose one of these actions:
• If the device group has two members only, click Force to Standby. This displays the list of traffic
groups for the device group and causes the local device to appear in the Next Active Device column.
• If the device group has more than two members, then from the Target Device list, select a value and
click Force to Standby.
The selected traffic group is now in a standby state on the local device and active on another device in the
device group.
Important: You perform this task on either of the two devices, but not both.
Except for non-floating self IP addresses, the entire set of BIG-IP configuration data is replicated on each
device in the device group.
32
BIG-IP® TMOS®: Implementations
Implementation Results
To summarize, you now have the following BIG-IP® configuration on each device of the pair:
• A management port, management route, and administrative passwords defined
• A VLAN named internal, with one static and one floating IP address
• A VLAN named external, with one static and one floating IP address
• A VLAN named HA with a static IP address
• Configuration synchronization, failover, and mirroring enabled
• Failover methods of serial cable and network
• Local IP addresses defined for failover and connection mirroring
• A designation as an authority device, where trust is established with the peer device
• A Sync-Failover type of device group with two members
• The default traffic group named traffic-group-1 with Device 1 as the default device
• An iApp application associated with traffic-group-1
• A traffic group named traffic-group-2 with Device 2 as the default device
• An iApp application associated with traffic-group-2
33
Creating an Active-Standby Configuration using the
Configuration Utility
Connection mirroring For the primary address, the non-floating self IP address that you assigned to
VLAN HA. The secondary address is not required, but you can specify any
non-floating self IP address for an internal VLAN..
Table 2: Sample device groups for two VIPRION systems with vCMP
By isolating guests into separate device groups, you ensure that each guest synchronizes and fails over to
its equivalent guest. The following table describes the IP addresses that you must specify when configuring
redundancy:
Table 3: Required IP addresses for DSC configuration on a VIPRION system with vCMP
Failover • Recommended: The unicast non-floating self IP address on the guest that is
associated with an internal VLAN on the host (preferably VLAN HA), as well
as a multicast address.
• Alternative: The unicast management IP addresses for all slots configured for
the guest.
Connection mirroring For the primary address, the non-floating self IP address on the guest that is
associated with VLAN internal on the host. The secondary address is not
required, but you can specify any non-floating self IP address on the guest that is
associated with an internal VLAN on the host.
36
BIG-IP® TMOS®: Implementations
Configuration Considerations
component
Hardware, licensing, Devices in a device group must match with respect to product licensing and module
and provisioning provisioning. Heterogeneous hardware platforms within a device group are
supported.
BIG-IP software Each device must be running BIG-IP version 11.x. This ensures successful
version configuration synchronization.
Management IP Each device must have a management IP address, a network mask, and a
addresses management route defined.
FQDN Each device must have a fully-qualified domain name (FQDN) as its host name.
User name and Each device must have a user name and password defined on it that you will use
password when logging in to the BIG-IP Configuration utility.
root folder The platform properties for the root folder must be set correctly (Sync-Failover
properties and traffic-group-1).
VLANs You must create these VLANs on each device, if you have not already done so:
• A VLAN for the internal network, named internal
• A VLAN for the external network, named external
• A VLAN for failover communications, named HA
Self IP addresses You must create these self IP addresses on each device, if you have not already
done so:
• Two self IP addresses (floating and non-floating) on the same subnet for VLAN
internal.
• Two self IP addresses (floating and non-floating) on the same subnet for VLAN
external.
• A non-floating self IP address on the internal subnet for VLAN HA.
Note: When you create floating self IP addresses, the BIG-IP system automatically
adds them to the default floating traffic group, traffic-group-1. To add a self
IP address to a different traffic group, you must modify the value of the self IP
address Traffic Group property.
Important: If the BIG-IP device you are configuring is accessed using Amazon
Web Services, then the IP address you specify must be the floating IP address for
high availability fast failover that you configured for the EC2 instance.
Port lockdown For self IP addresses that you create on each device, you should verify that the Port
Lockdown setting is set to Allow All, All Default, or Allow Custom. Do not
specify None.
37
Creating an Active-Standby Configuration using the Configuration Utility
Configuration Considerations
component
Application-related You must create any virtual IP addresses and optionally, SNAT translation addresses,
objects as part of the local traffic configuration. You must also configure any iApp™
application services if they are required for your application. When you create these
addresses or services, the objects automatically become members of the default
traffic group, traffic-group-1.
Time synchronization The times set by the NTP service on all devices must be synchronized. This is a
requirement for configuration synchronization to operate successfully.
Device certificates Verify that each device includes an x509 device certificate. Devices with device
certificates can authenticate and therefore trust one another, which is a prerequisite
for device-to-device communication and data exchange.
Task summary
Use the tasks in this implementation to create a two-member device group, with one active traffic group,
that syncs the BIG-IP® configuration to the peer device and provides failover capability if the peer device
goes offline. Note that on a vCMP® system, the devices in a specific device group are vCMP guests, one
per chassis.
Important: When you use this implementation, F5 Networks recommends that you synchronize the BIG-IP
configuration twice, once after you create the device group, and again after you specify the IP addresses
for failover.
Task list
Specifying an IP address for config sync
Specifying an IP address for connection mirroring
Specifying the HA capacity of a device
Establishing device trust
Creating a Sync-Failover device group
Syncing the BIG-IP configuration to the device group
Specifying IP addresses for failover communication
Syncing the BIG-IP configuration to the device group
Note: You must perform this task locally on each device in the device group.
1. Confirm that you are logged in to the actual device you want to configure.
2. On the Main tab, click Device Management > Devices.
This displays a list of device objects discovered by the local device.
38
BIG-IP® TMOS®: Implementations
3. In the Name column, click the name of the device to which you are currently logged in.
4. From the Device Connectivity menu, choose ConfigSync.
5. For the Local Address setting, retain the displayed IP address or select another address from the list.
F5 Networks recommends that you use the default value, which is the self IP address for VLAN
internal. This address must be a non-floating self IP address and not a management IP address.
Important: If the BIG-IP device you are configuring is accessed using Amazon Web Services, then the
internal self IP address that you specify must be the internal private IP addresses that you configured
for this EC2 instance as the Local Address.
6. Click Update.
After performing this task, the other devices in the device group can sync their configurations to the local
device.
Note: You must perform this task locally on each device in the device group.
1. Confirm that you are logged in to the actual device you want to configure.
2. On the Main tab, click Device Management > Devices.
This displays a list of device objects discovered by the local device.
3. In the Name column, click the name of the device to which you are currently logged in.
4. From the Device Connectivity menu, choose Mirroring.
5. For the Primary Local Mirror Address setting, retain the displayed IP address or select another address
from the list.
The recommended IP address is the self IP address for either VLAN HA or VLAN internal.
Important: If the BIG-IP device you are configuring is accessed using Amazon Web Services, then the
self IP address you specify must be one of the private IP addresses that you configured for this EC2
instance as the Primary Local Mirror Address.
6. For the Secondary Local Mirror Address setting, retain the default value of None, or select an address
from the list.
This setting is optional. The system uses the selected IP address in the event that the primary mirroring
address becomes unavailable.
7. Click Update.
In addition to specifying an IP address for mirroring, you must also enable connection mirroring on the
relevant virtual servers on this device.
39
Creating an Active-Standby Configuration using the Configuration Utility
Note: If all devices in the device group are the same hardware platform, you can skip this task.
Important: If you configure this setting, you must configure the setting on every device in the device
group.
If this device has half the capacity of a second device and a third of the capacity of a third device in the
device group, you can specify a value of 100 for this device, 200 for the second device, and 300 for
the third device.
When choosing the next active device for a traffic group, the system considers the capacity that you
specified for this device.
4. Click Update.
After you perform this task, the BIG-IP system uses the HA Capacity value to calculate the current utilization
of the local device, to determine the next-active device for failover of other traffic groups in the device
group.
40
BIG-IP® TMOS®: Implementations
1. On the Main tab, click Device Management > Device Trust, and then either Peer List or Subordinate
List.
2. Click Add.
3. Type a device IP address, administrator user name, and administrator password for the remote BIG-IP®
device with which you want to establish trust. The IP address you specify depends on the type of BIG-IP
device:
• If the BIG-IP device is a non-VIPRION device, type the management IP address for the device.
• If the BIG-IP device is a VIPRION device that is not licensed and provisioned for vCMP, type the
primary cluster management IP address for the cluster.
• If the BIG-IP device is a VIPRION device that is licensed and provisioned for vCMP, type the cluster
management IP address for the guest.
• If the BIG-IP device is an Amazon Web Services EC2 device, type one of the Private IP addresses
created for this EC2 instance.
The device you added is now a member of the local trust domain.
Repeat this task for each device that you want to add to the local trust domain.
41
Creating an Active-Standby Configuration using the Configuration Utility
For active-active configurations, you must select network failover, as opposed to serial-cable (hard-wired)
connectivity.
7. For the Automatic Sync setting, select or clear the check box:
• Select the check box when you want the BIG-IP system to automatically sync the BIG-IP configuration
data whenever a config sync operation is required. In this case, the BIG-IP system syncs the
configuration data whenever the data changes on any device in the device group.
• Clear the check box when you want to manually initiate each config sync operation. In this case, F5
networks recommends that you perform a config sync operation whenever configuration data changes
on one of the devices in the device group.
8. For the Full Sync setting, select or clear the check box:
• Select the check box when you want all sync operations to be full syncs. In this case, the BIG-IP
system syncs the entire set of BIG-IP configuration data whenever a config sync operation is required.
• Clear the check box when you want all sync operations to be incremental (the default setting). In
this case, the BIG-IP system syncs only the changes that are more recent than those on the target
device. When you select this option, the BIG-IP system compares the configuration data on each
target device with the configuration data on the source device and then syncs the delta of each
target-source pair.
If you enable incremental synchronization, the BIG-IP system might occasionally perform a full sync
for internal reasons. This is a rare occurrence and no user intervention is required.
9. In the Maximum Incremental Sync Size (KB) field, retain the default value of 1024, or type a different
value.
This value specifies the total size of configuration changes that can reside in the incremental sync cache.
If the total size of the configuration changes in the cache exceeds the specified value, the BIG-IP system
performs a full sync whenever the next config sync operation occurs.
10. Click Finished.
You now have a Sync-Failover type of device group containing BIG-IP devices as members.
Important: You perform this task on either of the two devices, but not both.
42
BIG-IP® TMOS®: Implementations
The BIG-IP system syncs the configuration data of the selected device in the Device area of the screen
to the other members of the device group.
Except for non-floating self IP addresses, the entire set of BIG-IP configuration data is replicated on each
device in the device group.
Important: If the system is running vCMP, you must log in to each guest to perform this task.
Note: The IP addresses that you specify must belong to route domain 0.
1. Confirm that you are logged in to the actual device you want to configure.
2. On the Main tab, click Device Management > Devices.
This displays a list of device objects discovered by the local device.
3. In the Name column, click the name of the device to which you are currently logged in.
4. From the Device Connectivity menu, choose Failover.
5. For the Failover Unicast Configuration settings, click Add for each IP address on this device that other
devices in the device group can use to exchange failover messages with this device. The unicast IP
addresses you specify depend on the type of device:
Platform Action
Appliance without Type a static self IP address associated with an internal VLAN (preferably VLAN
vCMP HA) and the static management IP address currently assigned to the device.
Appliance with Type a static self IP address associated with an internal VLAN (preferably VLAN
vCMP HA) and the unique management IP address currently assigned to the guest.
VIPRION without Type a static self IP address associated with an internal VLAN (preferably VLAN
vCMP® HA), and, if you choose to specify unicast addresses only (and not a multicast
address), you must also type the existing, static management IP addresses that you
previously configured for all slots in the cluster. If you choose to specify one or
more unicast addresses and a multicast address, then you do not need to specify
the existing, per-slot static management IP addresses when configuring addresses
for failover communication.
VIPRION with Type a self IP address that is defined on the guest and associated with an internal
vCMP VLAN on the host (preferably VLAN HA), and, if you choose to specify unicast
failover addresses only (and not a a multicast address), you must also type the
existing, virtual static management IP addresses that you previously configured
for all slots in the guest's virtual cluster. If you choose to specify one or more
unicast addresses and a multicast address, you do not need to specify the existing,
per-slot static and virtual management IP addresses when configuring addresses
for failover communication.
43
Creating an Active-Standby Configuration using the Configuration Utility
6. To enable the use of a failover multicast address on a VIPRION® platform (recommended), then for the
Use Failover Multicast Address setting, select the Enabled check box.
7. If you enabled Use Failover Multicast Address, either accept the default Address and Port values, or
specify values appropriate for the device.
If you revise the default Address and Port values, but then decide to revert to the default values, click
Reset Defaults.
8. Click Update.
After you perform this task, other devices in the device group can send failover messages to the local device
using the specified IP addresses.
Important: You perform this task on either of the two devices, but not both.
Except for non-floating self IP addresses, the entire set of BIG-IP configuration data is replicated on each
device in the device group.
Implementation result
You now have a Sync-Failover device group set up with an active-standby DSC™ configuration. This
configuration uses the default floating traffic group (named traffic-group-1), which contains the
application-specific floating self IP and virtual IP addresses, and is initially configured to be active on one
of the two devices. If the device with the active traffic group goes offline, the traffic group becomes active
on the other device in the group, and application processing continues.
44
Creating an Active-Active Configuration using the
Configuration Utility
Connection mirroring For the primary address, the non-floating self IP address that you assigned to
VLAN HA. The secondary address is not required, but you can specify any
non-floating self IP address for an internal VLAN..
Table 6: Sample device groups for two VIPRION systems with vCMP
By isolating guests into separate device groups, you ensure that each guest synchronizes and fails over to
its equivalent guest. The following table describes the IP addresses that you must specify when configuring
redundancy:
Table 7: Required IP addresses for DSC configuration on a VIPRION system with vCMP
Failover • Recommended: The unicast non-floating self IP address on the guest that is
associated with an internal VLAN on the host (preferably VLAN HA), as well
as a multicast address.
• Alternative: The unicast management IP addresses for all slots configured for
the guest.
Connection mirroring For the primary address, the non-floating self IP address on the guest that is
associated with VLAN internal on the host. The secondary address is not
required, but you can specify any non-floating self IP address on the guest that is
associated with an internal VLAN on the host.
46
BIG-IP® TMOS®: Implementations
Configuration Considerations
component
Hardware, licensing, Devices in a device group must match with respect to product licensing and module
and provisioning provisioning. Heterogeneous hardware platforms within a device group are
supported.
BIG-IP software Each device must be running BIG-IP version 11.x. This ensures successful
version configuration synchronization.
Management IP Each device must have a management IP address, a network mask, and a
addresses management route defined.
FQDN Each device must have a fully-qualified domain name (FQDN) as its host name.
User name and Each device must have a user name and password defined on it that you will use
password when logging in to the BIG-IP Configuration utility.
root folder The platform properties for the root folder must be set correctly (Sync-Failover
properties and traffic-group-1).
VLANs You must create these VLANs on each device, if you have not already done so:
• A VLAN for the internal network, named internal
• A VLAN for the external network, named external
• A VLAN for failover communications, named HA
Self IP addresses You must create these self IP addresses on each device, if you have not already
done so:
• Two self IP addresses (floating and non-floating) on the same subnet for VLAN
internal.
• Two self IP addresses (floating and non-floating) on the same subnet for VLAN
external.
• A non-floating self IP address on the internal subnet for VLAN HA.
Note: When you create floating self IP addresses, the BIG-IP system automatically
adds them to the default floating traffic group, traffic-group-1. To add a self
IP address to a different traffic group, you must modify the value of the self IP
address Traffic Group property.
Important: If the BIG-IP device you are configuring is accessed using Amazon
Web Services, then the IP address you specify must be the floating IP address for
high availability fast failover that you configured for the EC2 instance.
Port lockdown For self IP addresses that you create on each device, you should verify that the Port
Lockdown setting is set to Allow All, All Default, or Allow Custom. Do not
specify None.
47
Creating an Active-Active Configuration using the Configuration Utility
Configuration Considerations
component
Application-related You must create any virtual IP addresses and optionally, SNAT translation addresses,
objects as part of the local traffic configuration. You must also configure any iApp™
application services if they are required for your application. When you create these
addresses or services, the objects automatically become members of the default
traffic group, traffic-group-1.
Time synchronization The times set by the NTP service on all devices must be synchronized. This is a
requirement for configuration synchronization to operate successfully.
Device certificates Verify that each device includes an x509 device certificate. Devices with device
certificates can authenticate and therefore trust one another, which is a prerequisite
for device-to-device communication and data exchange.
Task summary
Use the tasks in this implementation to create a two-member device group, with two active traffic groups,
that syncs the BIG-IP® configuration to the peer device and provides failover capability if the peer device
goes offline. Note that on a vCMP® system, the devices in a specific device group are vCMP guests, one
per chassis.
Important: When you use this implementation, F5 Networks recommends that you synchronize the BIG-IP
configuration twice, once after you create the device group, and again after you specify the IP addresses
for failover.
48
BIG-IP® TMOS®: Implementations
Task list
Specifying an IP address for config sync
Specifying an IP address for connection mirroring
Specifying the HA capacity of a device
Establishing device trust
Creating a Sync-Failover device group
Syncing the BIG-IP configuration to the device group
Specifying IP addresses for failover communication
Creating a second traffic group for the device group
Assigning traffic-group-2 to a floating virtual IP address
Assigning traffic-group-2 to a floating self IP address
Syncing the BIG-IP configuration to the device group
Forcing a traffic group to a standby state
Note: You must perform this task locally on each device in the device group.
1. Confirm that you are logged in to the actual device you want to configure.
2. On the Main tab, click Device Management > Devices.
This displays a list of device objects discovered by the local device.
3. In the Name column, click the name of the device to which you are currently logged in.
4. From the Device Connectivity menu, choose ConfigSync.
5. For the Local Address setting, retain the displayed IP address or select another address from the list.
F5 Networks recommends that you use the default value, which is the self IP address for VLAN
internal. This address must be a non-floating self IP address and not a management IP address.
Important: If the BIG-IP device you are configuring is accessed using Amazon Web Services, then the
internal self IP address that you specify must be the internal private IP addresses that you configured
for this EC2 instance as the Local Address.
6. Click Update.
After performing this task, the other devices in the device group can sync their configurations to the local
device.
49
Creating an Active-Active Configuration using the Configuration Utility
Note: You must perform this task locally on each device in the device group.
1. Confirm that you are logged in to the actual device you want to configure.
2. On the Main tab, click Device Management > Devices.
This displays a list of device objects discovered by the local device.
3. In the Name column, click the name of the device to which you are currently logged in.
4. From the Device Connectivity menu, choose Mirroring.
5. For the Primary Local Mirror Address setting, retain the displayed IP address or select another address
from the list.
The recommended IP address is the self IP address for either VLAN HA or VLAN internal.
Important: If the BIG-IP device you are configuring is accessed using Amazon Web Services, then the
self IP address you specify must be one of the private IP addresses that you configured for this EC2
instance as the Primary Local Mirror Address.
6. For the Secondary Local Mirror Address setting, retain the default value of None, or select an address
from the list.
This setting is optional. The system uses the selected IP address in the event that the primary mirroring
address becomes unavailable.
7. Click Update.
In addition to specifying an IP address for mirroring, you must also enable connection mirroring on the
relevant virtual servers on this device.
Note: If all devices in the device group are the same hardware platform, you can skip this task.
Important: If you configure this setting, you must configure the setting on every device in the device
group.
50
BIG-IP® TMOS®: Implementations
If this device has half the capacity of a second device and a third of the capacity of a third device in the
device group, you can specify a value of 100 for this device, 200 for the second device, and 300 for
the third device.
When choosing the next active device for a traffic group, the system considers the capacity that you
specified for this device.
4. Click Update.
After you perform this task, the BIG-IP system uses the HA Capacity value to calculate the current utilization
of the local device, to determine the next-active device for failover of other traffic groups in the device
group.
The device you added is now a member of the local trust domain.
Repeat this task for each device that you want to add to the local trust domain.
51
Creating an Active-Active Configuration using the Configuration Utility
You now have a Sync-Failover type of device group containing BIG-IP devices as members. This device
group is configured for environments that require the use of two or more active traffic groups to process
application traffic.
Important: You perform this task on either of the two devices, but not both.
52
BIG-IP® TMOS®: Implementations
Except for non-floating self IP addresses, the entire set of BIG-IP configuration data is replicated on each
device in the device group.
Important: If the system is running vCMP, you must log in to each guest to perform this task.
Note: The IP addresses that you specify must belong to route domain 0.
1. Confirm that you are logged in to the actual device you want to configure.
2. On the Main tab, click Device Management > Devices.
This displays a list of device objects discovered by the local device.
3. In the Name column, click the name of the device to which you are currently logged in.
4. From the Device Connectivity menu, choose Failover.
5. For the Failover Unicast Configuration settings, click Add for each IP address on this device that other
devices in the device group can use to exchange failover messages with this device. The unicast IP
addresses you specify depend on the type of device:
Platform Action
Appliance without Type a static self IP address associated with an internal VLAN (preferably VLAN
vCMP HA) and the static management IP address currently assigned to the device.
Appliance with Type a static self IP address associated with an internal VLAN (preferably VLAN
vCMP HA) and the unique management IP address currently assigned to the guest.
VIPRION without Type a static self IP address associated with an internal VLAN (preferably VLAN
vCMP® HA), and, if you choose to specify unicast addresses only (and not a multicast
address), you must also type the existing, static management IP addresses that you
previously configured for all slots in the cluster. If you choose to specify one or
more unicast addresses and a multicast address, then you do not need to specify
the existing, per-slot static management IP addresses when configuring addresses
for failover communication.
VIPRION with Type a self IP address that is defined on the guest and associated with an internal
vCMP VLAN on the host (preferably VLAN HA), and, if you choose to specify unicast
failover addresses only (and not a a multicast address), you must also type the
existing, virtual static management IP addresses that you previously configured
for all slots in the guest's virtual cluster. If you choose to specify one or more
unicast addresses and a multicast address, you do not need to specify the existing,
per-slot static and virtual management IP addresses when configuring addresses
for failover communication.
6. To enable the use of a failover multicast address on a VIPRION® platform (recommended), then for the
Use Failover Multicast Address setting, select the Enabled check box.
7. If you enabled Use Failover Multicast Address, either accept the default Address and Port values, or
specify values appropriate for the device.
53
Creating an Active-Active Configuration using the Configuration Utility
If you revise the default Address and Port values, but then decide to revert to the default values, click
Reset Defaults.
8. Click Update.
After you perform this task, other devices in the device group can send failover messages to the local device
using the specified IP addresses.
Important: If you configure this setting, you must configure the setting on every traffic group in the
device group.
7. For the Failover Order setting, in the Available box, select a device name and using the Move button,
move the device name to the Enabled box. Repeat for each device that you want to include in the ordered
list.
This setting is optional. Only devices that are members of the relevant Sync-Failover device group are
available for inclusion in the ordered list. If you have enabled the auto-failback feature on the traffic
group, ensure that the first device in the ordered list is the device to which you want this traffic group
to fail back to when that first device becomes available.
If auto-failback is enabled and the first device in the Failover Order list is unavailable, no auto-failback
occurs and the traffic group continues to run on the current device. Also, if none of the devices in the
Failover Order list is currently available when failover occurs, the BIG-IP system ignores the Failover
Order setting and performs load-aware failover instead, using the HA Load Factor setting.
8. Click Finished.
You now have a second floating traffic group on the local device (in addition to the default floating traffic
group) so that once the traffic group is activated on the remote devices, devices in the device group can
process traffic for different applications.
54
BIG-IP® TMOS®: Implementations
The device's floating virtual IP address is now a member of your second traffic group. The virtual IP address
can now fail over to other devices in the device group.
The device's floating self IP address is now a member of your second traffic group. The self IP address can
now fail over to other devices in the traffic group.
Important: You perform this task on either of the two devices, but not both.
55
Creating an Active-Active Configuration using the Configuration Utility
Except for non-floating self IP addresses, the entire set of BIG-IP configuration data is replicated on each
device in the device group.
The selected traffic group is now in a standby state on the local device and active on another device in the
device group.
Implementation result
You now have a Sync-Failover device group set up with an active-active DSC™ configuration. In this
configuration, each device has a different active traffic group running on it. That is, the active traffic group
on one device is the default traffic group (named traffic-group-1), while the active traffic group on
the peer device is a traffic group that you create. Each traffic group contains the floating self IP and virtual
IP addresses specific to the relevant application.
If one device goes offline, the traffic group that was active on that device becomes active on the other device
in the group, and processing for both applications continues on one device.
56
Configuring Load-aware Failover
The BIG-IP system implements load-aware failover by calculating a numeric, current utilization score for
each device, based on numeric values that you specify for each device and traffic group relative to the other
devices and traffic groups in the device group. The system then uses this current utilization score to determine
which device is the best device in the group to become the next-active device when failover occurs for a
traffic group.
The overall result is that the traffic load on each device is as equivalent as possible in a relative way, that
is, factoring in individual device capacity and application traffic load per traffic group.
Configuring Load-aware Failover
Task List
Device capacity
A local device capacity relative to other device group members.
(The sum of local active traffic group loads + The sum of remote active
traffic group loads) / device capacity
Task summary
To implement load-aware failover you specify a value representing the relative traffic load for a traffic
group and, optionally, a value representing the relative capacity of the BIG-IP® device.
Task list
58
BIG-IP® TMOS®: Implementations
select the next-active device for each active traffic group in the device group when failover occurs. As part
of configuring load-aware failover, you define an HA capacity to establish the amount of computing resource
that the device provides relative to other devices in the device group.
Note: If all devices in the device group are the same hardware platform, you can skip this task.
Important: If you configure this setting, you must configure the setting on every device in the device
group.
If this device has half the capacity of a second device and a third of the capacity of a third device in the
device group, you can specify a value of 100 for this device, 200 for the second device, and 300 for
the third device.
When choosing the next active device for a traffic group, the system considers the capacity that you
specified for this device.
4. Click Update.
After you perform this task, the BIG-IP system uses the HA Capacity value to calculate the current utilization
of the local device, to determine the next-active device for failover of other traffic groups in the device
group.
Important: If you configure this setting, you must configure the setting on every traffic group in the
device group.
5. Click Update.
59
Configuring Load-aware Failover
After performing this task, the BIG-IP system uses the HA Load Factor value as a factor in calculating
the current utilization of the local device, to determine whether this device should be the next-active device
for failover of other traffic groups in the device group.
Implementation Results
For this implementation example, the load-aware configuration now consists of both a user-specified relative
high availability (HA) hardware capacity for each device and a relative load factor for each active traffic
group.
Using the example in the overview, devices Bigip_A and Bigip_B are the same hardware platform and
therefore have the same HA capacity, while Bigip_C has twice the HA capacity of the other two devices.
Also, devices Bigip_A and Bigip_B currently have one active traffic group each, while Bigip_C has two
active traffic groups. All three traffic groups process the same amount of application traffic.
Figure 7: Device utilization scores based on device capacity and traffic group load
The device utilization score that the BIG-IP® system calculates in this implementation is the sum of all
traffic load values on a device divided by the device capacity.
60
BIG-IP® TMOS®: Implementations
This example shows the results of the calculations that the BIG-IP system performs for each device in the
device group. The example shows that although device Bigip_C currently has the two active traffic groups,
the device has the most available resource due to having the lowest utilization score of .15. In this case,
Bigip_C is most likely the next-active device for the other two devices in the device group.
61
Managing Traffic with Bandwidth Controllers
Task list
Creating a static bandwidth control policy
Managing Traffic with Bandwidth Controllers
For the bandwidth control policy to take effect, you must apply the policy to traffic, using a virtual server,
packet filter, or route domain.
The BIG-IP® system now applies rate enforcement to the traffic intercepted by this virtual server, according
to the static bandwidth policy you selected. A static bandwidth policy associated with a virtual server applies
only to client-initiated flows, and not to bandwidth for traffic flowing toward the client.
64
BIG-IP® TMOS®: Implementations
feature, an Internet service provider (ISP) can create and revise a single policy that can apply to millions
of users.
The BIG-IP system can enforce multiple levels of bandwidth limits through the dynamic policy. For example,
a user could be limited by the maximum rate, a per user rate, and a per category rate (such as for an
application), all from the same dynamic policy. When the total of the maximum user rate for all the instances
exceeds the maximum rate specified in the dynamic policy, the BIG-IP system maintains fairness among
all users and spreads the limitation equally among users belonging to a dynamic policy.
You can also configure a dynamic bandwidth control policy to mark packets that exceed the maximum
per-user rate for a specified session. The WAN router should handle the marked packets. The BIG-IP system
passes packets that conform to the maximum per-user rate without marking them. You configure marking
by using the IP Type of Service or Link Quality of Service setting. For example, a common use of QoS
marking is for Voice over IP (VoIP) traffic. VoIP is usually assigned to the Expedited Forwarding (EF)
class by using the DSCP value of 46, thus prioritized according to importance and sensitivity to loss/latency.
Alternatives for identifying users and applying dynamic bandwidth control policies to traffic are using
iRules®, Policy Enforcement Manager™, or Access Policy Manager®.
This procedure describes the steps for attaching a dynamic bandwidth control policy to a traffic flow, and
then applying the policy to traffic, using a virtual server. For information about using Policy Enforcement
Manager™ to implement the policy, refer to the F5 documentation for Policy Enforcement Manager.
Task list
Creating a dynamic bandwidth control policy
Creating an iRule for a dynamic bandwidth control policy
Adding a dynamic bandwidth control policy to a virtual server
65
Managing Traffic with Bandwidth Controllers
Note: Use the Categories setting only if you have not set values for the IP Type of Service or the Link
Quality of Service setting.
a) In the Category Name field, type a descriptive name for the category.
b) In the Max Category Rate field, type a value to indicate the most bandwidth that this category of
traffic can use, and select the unit of measure from the list, or select % and type a percentage from
1 to 100.
If you specify a rate, the number must be in the range from 500 Kbps to the rate specified for the
Maximum Rate Per User setting. A percentage indicates that this category can use up to the specified
percentage of the maximum per-user rate. These values are upper limits (not minimum or guaranteed),
so the sum can exceed the value you specified for the Maximum Rate Per User setting.
c) Click Add to add the category to the Categories list.
d) Repeat these steps to add more categories, up to a maximum of eight.
For the dynamic bandwidth control policy to take effect, you must attach the policy to a traffic flow, and
then apply the policy to traffic, using a virtual server, Policy Enforcement Manager™, or Access Policy
Manager®.
66
BIG-IP® TMOS®: Implementations
Note: For complete and detailed information iRules syntax, see the F5 Networks DevCentral web site
(http://devcentral.f5.com).
when CLIENT_ACCEPTED {
set mycookie [IP::remote_addr]:[TCP::remote_port]
BWC::policy attach dynamic_bwc_policy200 $mycookie
5. Click Finished.
The new iRule appears in the list of iRules on the system.
You have now identified the user for a dynamic bandwidth control policy.
You must then apply the iRule to the virtual server that intercepts the traffic you want to manage.
The BIG-IP® system now manages bandwidth for the traffic intercepted by this virtual server, according to
the dynamic bandwidth policy specified in the assigned iRule.
67
Managing Traffic with Bandwidth Controllers
In the example, the ISP sets the maximum bandwidth at 200 Mbps. Of that bandwidth, a maximum of 20
Mbps is allocated to each user. Of that allocation, application traffic is apportioned, as follows.
• 50% applies to browser traffic (HTTP)
• 20% applies to P2P
• 4 Mbps applies to video
• 1 Mpbs applies to Voice over IP (VoIP)
To activate this policy, the ISP needs to create an iRule to attach the policy to a user session, and then apply
the policy to a virtual server.
The bandwidth controller is only an enforcer. For a dynamic bandwidth control policy, you also need iRules®,
Policy Enforcement Manager™, or Access Policy Manager® to identify a flow and map it to a category.
68
Configuring Network Virtualization Segments
In a virtualized network, the BIG-IP system needs to learn about other virtualization tunnel endpoints. Each
hypervisor has a tunnel endpoint. The hypervisor needs to locate the virtual machines it manages, by
maintaining a form of the L2 location records, typically, IP addresses and MAC addresses, virtual network
identifiers, and virtual tunnel endpoints.
Configuring Network Virtualization Segments
Creating a network virtualization tunnel on a BIG-IP® system provides an L2 gateway to connect the physical
underlay network with a virtual overlay network.
1. On the Main tab, click Network > Tunnels > Tunnel List > Create.
The New Tunnel screen opens.
2. In the Name field, type a unique name for the tunnel.
3. From the Encapsulation Type list, select the tunnel profile you created for network virtualization.
This selection must be a profile based on either the gre or vxlan parent profile, depending on your
virtualized network environment.
4. In the Local Address field, type the self IP address of the VLAN through which the remote hypervisor
is reachable.
5. For the Remote Address list, retain the default selection, Any.
6. In the Key field, type the VNI (Virtual Network Identifier) to use for the VXLAN tunnel.
7. Click Finished.
This tunnel is now available to use in virtualized network routing configurations, depending on how you
configure your network.
L2 gateway
The Layer 2 gateway performs the bridge functionality between VLAN and virtual segments in a
virtualized network.
L3 gateway
The Layer 3 gateway performs routing and higher L4-L7 functionality among virtualized network
segments of different types.
overlay network
The overlay network is a virtual network of VMs built on top of a stable L2-L3 structure. The view from
one VM to another is as if they were on the same switch, but, in fact, they could be far afield.
70
BIG-IP® TMOS®: Implementations
tunnel endpoint
A tunnel endpoint originates or terminates a tunnel. In a virtualized network environment, the tunnel
IP addresses are part of the L2 underlay network. The same local IP address can be used for multiple
tunnels.
underlay network
The underlay network is the L2 or L3 routed physical network, a mesh of tunnels.
virtualized network
A virtualized network is when you create a virtual L2 or L3 topology on top of a stable physical L2 or
L3 network. Connectivity in the virtual topology is provided by tunneling Ethernet frames in IP over
the physical network.
VNI
The Virtual Network Identifier (VNI) is also called the VXLAN segment ID. The system uses the VNI
to identify the appropriate tunnel.
VSID
The Virtual Subnet Identifier (VSID) is a 24-bit identifier used in an NVGRE environment that represents
a virtual L2 broadcast domain, enabling routes to be configured between virtual subnets.
VTEP
The VXLAN Tunnel Endpoint (VTEP) originates or terminates a VXLAN tunnel. The same local IP
address can be used for multiple tunnels.
VXLAN
Virtual eXtended LAN (VXLAN) is a network virtualization scheme that overlays Layer 2 over Layer 3.
VLXAN uses Layer 3 multicast to support the transmission of multicast and broadcast traffic in the
virtual network, while decoupling the virtualized network from the physical infrastructure.
VXLAN gateway
A VXLAN gateway bridges traffic between VXLAN and non-VXLAN environments. The BIG-IP®
system uses a VXLAN gateway to bridge a traditional VLAN and a VXLAN network, by becoming a
network virtualization endpoint.
VXLAN header
In addition to the UDP header, encapsulated packets include a VXLAN header, which carries a 24-bit
VNI to uniquely identify Layer 2 segments within the overlay.
VXLAN segment
A VXLAN segment is a Layer 2 overlay network over which VMs communicate. Only VMs within the
same VXLAN segment can communicate with each other.
Centralized model
In a centralized model, a network orchestrator or controller manages the virtualized network segments. The
orchestrator has full view of VTEPs, L2, and L3 information in the overlay, and is responsible for pushing
this information to hypervisors and gateways. Microsoft Hyper-V and VMware NSX environments use this
model.
71
Configuring Network Virtualization Segments
Decentralized model
A decentralized model of network virtualization does not require a network orchestrator or controller. In
this model, the router learns the tunnel endpoint and MAC address locations by flooding broadcast, multicast,
and unknown destination frames over IP multicast. VMware vSphere 5.1 environments use this model.
72
BIG-IP® TMOS®: Implementations
73
Configuring Network Virtualization Segments
Using the iControl/REST API, you can program a network controller to build and maintain network
virtualization tunnels. This example adds an entry to the FDB table that associates the MAC address
00:01:02:03:04:05 with the tunnel endpoint 10.1.1.2 of the tunnel vxlan0-tunnel.
74
BIG-IP® TMOS®: Implementations
75
Configuring Network Virtualization Segments
address 10.4.4.1%5000/24
vlan legacy5000
}
create net route 10.5.5.0%5000/24 {
network 10.5.5.0%5000/24
gw 10.3.3.2%5000
}
create net route 10.6.6.0%5000/24 {
network 10.6.6.0%5000/24
gw 10.3.3.3%5000
}
modify net fdb tunnel vxlan5000 {
records add {
00:FF:0A:03:03:02 { endpoint 10.1.2.1 }
00:FF:0A:03:03:03 { endpoint 10.1.3.1 }
}
}
create net arp 10.3.3.2%5000 {
mac-address 00:FF:0A:03:03:02
}
create net arp 10.3.3.3%5000 {
mac-address 00:FF:0A:03:03:03
}
}
The code in this example creates a virtual server http_virtual that listens for traffic destined for the IP
address 10.3.3.15on the tunnel named vxlan5000.
76
BIG-IP® TMOS®: Implementations
When you configure a BIG-IP system as an L2 VXLAN gateway, the BIG-IP system joins the configured
multicast group, and can forward both unicast and multicast or broadcast frames on the virtual network.
The BIG-IP system learns about MAC address and VTEP associations dynamically, thus avoiding unnecessary
transmission of multicast traffic.
77
Configuring Network Virtualization Segments
Task summary
Before you configure VXLAN, ensure that these conditions are met:
• The BIG-IP® system must be licensed for SDN Services.
• Network connectivity exists between the BIG-IP system and the hypervisors.
• If you have over 2000 connections, the Management (MGMT) setting on the Resource Provisioning
screen is set to Large (System > Resource Provisioning).
Task list
Creating a VXLAN multicast tunnel on a BIG-IP® system provides an L2 VXLAN gateway to connect the
physical network with a virtualized network.
1. On the Main tab, click Network > Tunnels > Tunnel List > Create.
The New Tunnel screen opens.
2. In the Name field, type a unique name for the tunnel.
3. From the Encapsulation Type list, select vxlan.
This setting tells the system which tunnel profile to use. The system-supplied VXLAN profile specifies
port 4789. To change the port number, you can create a new VXLAN profile, which then appears in
this list.
4. In the Local Address field, type the self IP address of the VLAN through which the remote hypervisor
is reachable.
5. In the Remote Address field, type the multicast group address associated with the VXLAN segment.
6. In the Key field, type the VNI (Virtual Network Identifier) to use for the VXLAN tunnel.
7. Click Finished.
Before you begin this task, verify that a VXLAN multicast tunnel exists on the BIG-IP® system.
You can create a VLAN group to bridge the traffic between a VXLAN overlay network (Layer 3) and a
non-VXLAN (Layer 2) network.
78
BIG-IP® TMOS®: Implementations
1. On the Main tab, click Network > VLANs > VLAN Groups.
The VLAN Groups list screen opens.
2. Click Create.
The New VLAN Group screen opens.
3. In then Name field, type a unique name for the VLAN group.
4. For the VLANs setting, select the VLAN that connects to the non-VXLAN Layer-2 network and the
VXLAN tunnel you created, and using the Move button, move your selections from the Available list
to the Members list.
5. Click Finished.
79
Web Hosting Multiple Customers Using an External Switch
Tip: An alternate way to implement web hosting for multiple customers is to use the route domains feature.
Task list
Creating a VLAN with a tagged interface
Web Hosting Multiple Customers Using an External Switch
Note: You must create the pool before you create the corresponding virtual server.
82
BIG-IP® TMOS®: Implementations
Tip: Hold the Shift or Ctrl key to select more than one monitor at a time.
5. From the Load Balancing Method list, select how the system distributes traffic to members of this
pool.
The default is Round Robin.
6. For the Priority Group Activation setting, specify how to handle priority groups:
• Select Disabled to disable priority groups. This is the default option.
• Select Less than, and in the Available Members field type the minimum number of members that
must remain available in each priority group in order for traffic to remain confined to that group.
7. Using the New Members setting, add each resource that you want to include in the pool:
a) Type an IP address in the Address field.
b) Type a port number in the Service Port field, or select a service name from the list.
c) To specify a priority group, type a priority number in the Priority Group Activation field.
d) Click Add.
8. Click Finished.
You now have a virtual server to use as a destination address for application traffic.
83
Web Hosting Multiple Customers Using Untagged Interfaces
Tip: An alternate way to implement web hosting for multiple customers is to use the route domains feature.
Task list
Creating a VLAN with an untagged interface
Creating a load balancing pool
Creating a virtual server for HTTP traffic
Web Hosting Multiple Customers Using Untagged Interfaces
The interfaces that you specified in this task process traffic for this VLAN only.
Note: You must create the pool before you create the corresponding virtual server.
Tip: Hold the Shift or Ctrl key to select more than one monitor at a time.
5. From the Load Balancing Method list, select how the system distributes traffic to members of this
pool.
The default is Round Robin.
6. For the Priority Group Activation setting, specify how to handle priority groups:
• Select Disabled to disable priority groups. This is the default option.
• Select Less than, and in the Available Members field type the minimum number of members that
must remain available in each priority group in order for traffic to remain confined to that group.
7. Using the New Members setting, add each resource that you want to include in the pool:
a) Type an IP address in the Address field.
b) Type a port number in the Service Port field, or select a service name from the list.
c) To specify a priority group, type a priority number in the Priority Group Activation field.
86
BIG-IP® TMOS®: Implementations
d) Click Add.
8. Click Finished.
You now have a virtual server to use as a destination address for application traffic.
87
Web Hosting Multiple Customers Using Route Domains
90
BIG-IP® TMOS®: Implementations
Task summary
Perform these tasks to host multiple web customers using route domains.
Task list
Creating an administrative partition
Creating a VLAN with a tagged interface
Creating a self IP address for a default route domain in an administrative partition
Creating a route domain on the BIG-IP system
Creating a load balancing pool
Creating a virtual server
Configuring route advertisement for a virtual address
Adding routes that specify VLAN internal as the resource
91
Web Hosting Multiple Customers Using Route Domains
8. Click Finished.
92
BIG-IP® TMOS®: Implementations
This IP address should represent the address space of the VLAN that you specify with the VLAN setting.
Because the route domain that you previously created is the default route domain for the administrative
partition, you do not need to append the route domain ID to this IP address.
The system accepts IP addresses in both the IPv4 and IPv6 formats.
4. In the Netmask field, type the full network mask for the specified IP address.
For example, you can type ffff:ffff:ffff:ffff:0000:0000:0000:0000 or
ffff:ffff:ffff:ffff::.
5. From the VLAN/Tunnel list, select the VLAN to associate with this self IP address.
• On the internal network, select the internal or high availability VLAN that is associated with an
internal interface or trunk.
• On the external network, select the external VLAN that is associated with an external interface or
trunk.
6. Click Finished.
The screen refreshes, and displays the new self IP address.
The BIG-IP system has a self IP address that is associated with the internal or external network.
93
Web Hosting Multiple Customers Using Route Domains
9. For the Dynamic Routing Protocols setting, from the Available list, select one or more protocol names
and move them to the Enabled list.
You can enable any number of listed protocols for this route domain. This setting is optional.
10. From the Bandwidth Controller list, select a static bandwidth control policy to enforce a throughput
limit on traffic for this route domain.
11. From the Partition Default Route Domain list, select either Another route domain (0) is the Partition
Default Route Domain or Make this route domain the Partition Default Route Domain.
This setting does not appear if the current administrative partition is partition Common.
When you configure this setting, either route domain 0 or this route domain becomes the default route
domain for the current administrative partition.
12. Click Finished.
The system displays a list of route domains on the BIG-IP system.
Note: You must create the pool before you create the corresponding virtual server.
Tip: Hold the Shift or Ctrl key to select more than one monitor at a time.
5. From the Load Balancing Method list, select how the system distributes traffic to members of this
pool.
The default is Round Robin.
6. For the Priority Group Activation setting, specify how to handle priority groups:
• Select Disabled to disable priority groups. This is the default option.
• Select Less than, and in the Available Members field type the minimum number of members that
must remain available in each priority group in order for traffic to remain confined to that group.
7. Using the New Members setting, add each resource that you want to include in the pool:
a) Type an IP address in the Address field.
b) Type a port number in the Service Port field, or select a service name from the list.
c) To specify a priority group, type a priority number in the Priority Group Activation field.
d) Click Add.
8. Click Finished.
94
BIG-IP® TMOS®: Implementations
The web customer now has a destination IP address on the BIG-IP system for application traffic.
Important: This task pertains only to configurations for which you have enabled dynamic routing protocols
on the relevant route domain. If you have not enabled dynamic routing protocols on the relevant route
domain, you can skip this task.
1. On the Main tab, click Local Traffic > Virtual Servers > Virtual Address List.
The Virtual Address List screen opens.
2. In the Name column, click the virtual address for which you want to advertise a route.
This displays the properties of that virtual address.
3. Verify that the ARP field is selected.
4. From the Advertise Route list, choose one of these options:
Option Description
When any virtual server is Specifies that the system advertises a route for this virtual IP address
available whenever any virtual server associated with this virtual IP address is
available.
When all virtual servers(s) Specifies that the system advertises a route for this virtual IP address
are available whenever all virtual servers associated with this virtual IP address is
available.
Always Specifies that the system always advertises a route for this virtual IP
address.
95
Web Hosting Multiple Customers Using Route Domains
6. Click Update.
7. Repeat this task for each virtual address for which you want to advertise a route.
The BIG-IP system advertises a route for this virtual address to other routers when one or more dynamic
routing protocols are enabled and are configured for route redistribution.
The BIG-IP system now includes routes to the nodes in the load balancing pool for a specific route domain.
96
Implementing the Link Layer Discovery Protocol
Task summary
Perform these tasks to implement Link Layer Discovery Protocol (LLDP) on selected BIG-IP system
interfaces.
Task list
Configuring global LLDP properties
Configuring LLDP settings for an individual interface
Note: Although you use this procedure to globally enable the LLDP feature on the BIG-IP system, you can
also disable LLDP for any individual interface. You do this by configuring the specific properties of that
interface.
1. On the Main tab, click Network > Interfaces > LLDP > General.
This displays the general LLDP properties that you can configure on the system.
2. From the LLDP list, select Enabled.
3. For the remainder of the settings, retain or change the default values.
4. Click Update.
This task activates support for the LLDP protocol on the BIG-IP system, and configures the system to
transmit LLDPDUs according to the specified frequencies.
After you perform this task, the interface is configured to send the specified LLDP information to neighbor
devices.
98
BIG-IP® TMOS®: Implementations
Implementation result
This implementation results in this LLDP configuration:
• Support for the LLDP protocol is enabled on the BIG-IP system.
• For all BIG-IP system interfaces, the BIG-IP system attempts to transmit LLDPDUs to neighbor devices
every 30 seconds, with a minimum delay between transmissions of 2 seconds.
• The maximum number of neighbors to which each BIG-IP system interface can send LLDPDUs is 10.
• Every BIG-IP system interface can send LLDPDUs to its neighbors.
• No BIG-IP system interface can receive LLDPDUs from its neighbors.
In addition, the content of the LLDPDUs that each BIG-IP system interface sends to its neighbors contains
this information:
• Chassis ID
• Port ID
• Time-to-Live value
• Port description
• System name
• System description
• System capabilities
• Port VLAN ID
• Port and protocol VLAN ID
• VLAN name
• Protocol identity
• MAC/PHY config status
• Link aggregation
• Max frame size
• Product model
99
Configuring an EtherIP Tunnel
Tip: The BIG-IP system that is located on each end of an EtherIP tunnel can be part of a redundant system
configuration. Make sure that both units of any redundant system configuration reside on the same side of
the tunnel.
Task summary
Implement an EtherIP tunneling configuration to prevent the BIG-IP® system from dropping existing
connections to migrating virtual machines in a vMotion environment. To set up this configuration, you must
verify a few prerequisite tasks, as well as create some configuration objects on the BIG-IP system.
Important: Perform these tasks on the BIG-IP system in both the local data center and the remote data
center.
Before you begin configuring EtherIP tunneling, verify that these BIG-IP objects and module exist on the
BIG-IP system:
An iSession profile
This profile creates an iSession tunnel to optimize the live migration of virtual machine servers from
one data center to another.
Task List
Creating a VLAN
Creating an EtherIP profile
Creating an EtherIP tunnel object
Creating a VLAN group
Creating a self IP address for a VLAN
Creating a self IP for a VLAN group
Creating a Virtual Location monitor
Syncing the BIG-IP configuration to the device group
Creating a VLAN
VLANs represent a collection of hosts that can share network resources, regardless of their physical location
on the network. You create a VLAN to associate physical interfaces with that VLAN.
1. On the Main tab, click Network > VLANs.
The VLAN List screen opens.
2. Click Create.
The New VLAN screen opens.
3. In the Name field, type a unique name for the VLAN.
102
BIG-IP® TMOS®: Implementations
4. In the Tag field, type a numeric tag, from 1-4094, for the VLAN, or leave the field blank if you want
the BIG-IP system to automatically assign a VLAN tag.
The VLAN tag identifies the traffic from hosts in the associated VLAN.
5. For the Interfaces setting, from the Available list, click an interface number or trunk name and add the
selected interface or trunk to the Untagged list. Repeat this step as necessary.
6. If you want the system to verify that the return route to an initial packet is the same VLAN from which
the packet originated, select the Source Check check box.
7. In the MTU field, retain the default number of bytes (1500).
8. From the Configuration list, select Advanced.
9. If you want to base redundant-system failover on VLAN-related events, select the Fail-safe box.
10. From the Auto Last Hop list, select a value.
11. From the CMP Hash list, select a value.
12. To enable the DAG Round Robin setting, select the check box.
13. Click Finished.
The screen refreshes, and displays the new VLAN from the list.
You now have an EtherIP profile that you can specify when you create an EtherIP tunnel object.
103
Configuring an EtherIP Tunnel
6. Select the Bridge All Traffic check box if you want the VLAN group to forward all frames, including
non-IP traffic.
The default setting is disabled (not selected).
7. Leave the Bridge in Standby check box selected if you want the VLAN group to forward frames even
when the system is the standby unit of a redundant system.
8. Click Finished.
104
BIG-IP® TMOS®: Implementations
A self IP address enables the BIG-IP® system and other devices on the network to route application traffic
through the associated VLAN or VLAN group.
1. On the Main tab, click Network > Self IPs.
2. Click Create.
The New Self IP screen opens.
3. In the Name field, type a unique name for the self IP address.
4. In the IP Address field, type an IPv4 or IPv6 address.
This IP address should represent the address space of the VLAN that you specify with the VLAN/Tunnel
setting.
5. In the Netmask field, type the full network mask for the specified IP address.
For example, you can type ffff:ffff:ffff:ffff:0000:0000:0000:0000 or
ffff:ffff:ffff:ffff::.
6. From the VLAN/Tunnel list, select the VLAN to associate with this self IP address.
• On the internal network, select the internal or high availability VLAN that is associated with an
internal interface or trunk.
• On the external network, select the external VLAN that is associated with an external interface or
trunk.
The BIG-IP system can send and receive traffic through the specified VLAN or VLAN group.
5. From the VLAN/Tunnel list, select the VLAN group with which to associate this self IP address.
6. From the Port Lockdown list, select Allow Default.
7. Click Finished.
The screen refreshes, and displays the new self IP address.
105
Configuring an EtherIP Tunnel
The BIG-IP system can send and receive traffic through the specified VLAN or VLAN group.
After configuring the Virtual Location monitor, the BIG-IP system assigns each member of the designated
pool a priority group value to ensure that incoming connections are directed to a local pool member whenever
possible.
F5 Networks recommends that you verify that BIG-IP® Global Traffic Manager™ (GTM™) has automatically
assigned a BIG-IP type of monitor to BIG-IP® Local Traffic Manager™ (LTM®). A BIG-IP type of monitor
can use the priority group assigned to each pool member to retrieve a gtm_score value.
Important: You perform this task on either of the two devices, but not both.
106
BIG-IP® TMOS®: Implementations
3. In the Devices area of the screen, in the Sync Status column, select the device that shows a sync status
of Changes Pending.
4. In the Sync Options area of the screen, select Sync Device to Group.
5. Click Sync.
The BIG-IP system syncs the configuration data of the selected device in the Device area of the screen
to the other members of the device group.
Except for non-floating self IP addresses, the entire set of BIG-IP configuration data is replicated on each
device in the device group.
Implementation result
After you configure EtherIP tunneling on the BIG-IP system, you must perform the same configuration
procedure on the BIG-IP system in the remote data center to fully establish the EtherIP tunnel.
After the tunnel is established, the BIG-IP system preserves any open connections to migrating (or migrated)
virtual machine servers.
107
Creating IP Tunnels
About IP tunnels
Using F5® tunneling technologies, you can set up tunneling from devices on different Layer 2 networks, or
scale multi-site data centers over Layer 3 pathways. When you know the IP address of the devices at both
ends of the tunnel, you can create a point-to-point encapsulation tunnel between a BIG-IP® system and
another device. When multiple devices feed into a BIG-IP system, you can create a tunnel by specifying
only the IP address on the BIG-IP device.
The BIG-IP system provides the following tunneling types, available using the browser-based Configuration
utility or the Traffic Management shell (tmsh) command-line utility, and iControl®.
• EtherIP
• FEC
• GRE
• IPIP
• DS-Lite
• IPv4IPv4
• IPv4IPv6
• IPv6IPv4
• IPv6IPv6
• PPP
• VXLAN
• WCCPGRE
For information about deploying some of these tunneling types, consult additional F5 Networks
documentation, including CGNAT (DS-Lite), acceleration (FEC), and TMOS (VXLAN). Licensing
restrictions apply.
Task summary
Creating a point-to-point IP tunnel
Assigning a self IP address to an IP tunnel endpoint
Routing traffic through an IP tunnel interface
After you complete this task, traffic is encapsulated using the protocol you specified between the BIG-IP
system and the remote device you specified.
The BIG-IP®system requires that tunnels used as routes have a self IP address associated with the tunnel
itself, distinct from the self IP address configured as a tunnel endpoint. After configuring a self IP address,
you can configure routes that use the tunnel as a resource.
110
BIG-IP® TMOS®: Implementations
Note: If the other side of the tunnel needs to be reachable, make sure the self IP addresses that you assign
to both sides of the tunnel are in the same subnet.
Note: This is not the same as the IP address of the tunnel local endpoint.
5. In the Netmask field, type the full network mask for the specified IP address.
For example, you can type ffff:ffff:ffff:ffff:0000:0000:0000:0000 or
ffff:ffff:ffff:ffff::.
6. From the VLAN/Tunnel list, select the tunnel with which to associate this self IP address.
7. Click Finished.
The screen refreshes, and displays the new self IP address.
Assigning a self IP to a tunnel ensures that the tunnel appears as a resource for routing traffic.
To direct traffic through the tunnel, add a route for which you specify the tunnel as the resource.
The system now routes traffic destined for the IP address you specified through the tunnel you selected.
111
Creating IP Tunnels
Figure 23: Illustration of an IPIP tunnel between a BIG-IP system and multiple unspecified devices
112
BIG-IP® TMOS®: Implementations
1. On the Main tab, click Network > Tunnels > Tunnel List > Create.
The New Tunnel screen opens.
2. In the Name field, type a unique name for the tunnel.
3. From the Encapsulation Type list, select the type that corresponds to the encapsulation protocol you
want to use.
The selection ipip is the same as ip4ip4, but ipip is compatible with configurations from an earlier
release.
4. In the Local Address field, type the IP address of the BIG-IP system.
5. From the Remote Address list, retain the default selection, Any.
This entry means that you do not have to specify the IP address of the remote end of the tunnel, which
allows multiple devices to use the same tunnel.
6. Click Finished.
When the BIG-IP system receives an encapsulated packet, the system decapsulates the packet, regardless
of the source address, and re-injects it into the IP stack, thus allowing the inner IP address to be associated
with a virtual server.
If you are configuring routes that use the tunnel as a resource, you must also assign a self IP address to the
tunnel itself, which is different from the tunnel local endpoint IP address.
When the BIG-IP system receives an encapsulated packet from a transparent tunnel, the system decapsulates
the packet, and re-injects it into the IP stack, where a virtual server can pick up the packet to apply a policy
or rule. After applying the policy or rule, the BIG-IP can re-encapsulate the packet and route it, as if the
packet had transited the BIG-IP unperturbed.
113
Creating IP Tunnels
Traffic flowing through the transparent tunnel you created is available for inspection and modification,
before continuing to its destination.
After you create a transparent tunnel, additional configuration is required to process the traffic, such as
creating a virtual server to intercept the traffic, and using Policy Enforcement Manager™ to apply classification
and bandwidth management policies.
114
Configuring IPsec in Tunnel Mode between Two BIG-IP
Systems
IKE peers
An IKE peer is a configuration object of the IPsec protocol suite that represents a BIG-IP system on
each side of the IPsec tunnel. IKE peers allow two systems to authenticate each other (known as IKE
Phase 1). The BIG-IP system includes the default IKE peer, named anonymous.
IPsec policies
An IPsec policy is a set of information that defines the specific IPsec protocol to use (ESP or AH), and
the mode (Transport, Tunnel, or iSession). For Tunnel mode, the policy also specifies the endpoints for
the tunnel, and for IKE Phase 2 negotiation, the policy specifies the security parameters to be used in
that negotiation. The way that you configure the IPsec policy determines the way that the BIG-IP system
manipulates the IP headers in the packets. The BIG-IP system includes two default IPsec policies, named
default-ipsec-policy and default-ipsec-policy-isession. A common configuration
includes a bidirectional policy on each BIG-IP system.
Traffic selectors
A traffic selector is a packet filter that defines what traffic should be handled by a IPsec policy. You
define the traffic by source and destination IP addresses and port numbers. A common configuration
includes a bidirectional traffic selector on each BIG-IP system.
Task summary
You can configure the IPsec and IKE protocols to secure traffic that traverses a wide area network (WAN),
such as from one data center to another.
Before you begin configuring IPsec and IKE, verify that these modules, system objects, and connectivity
exist on the BIG-IP® systems in both the local and remote locations:
Self IP address
Each BIG-IP system must have at least one self IP address, to be used in specifying the ends of the IPsec
tunnel.
116
BIG-IP® TMOS®: Implementations
BIG-IP connectivity
Verify the connectivity between the client or server and its BIG-IP device, and between each BIG-IP
device and its gateway. For example, you can use ping to test this connectivity.
Task list
Creating a forwarding virtual server for IPsec
Creating an IKE peer
Creating a custom IPsec policy
Creating a bidirectional IPsec traffic selector
Verifying IPsec connectivity for Tunnel mode
1. On the Main tab, click Network > IPsec > IKE Peers.
2. Click the Create button.
The New IKE Peer screen opens.
3. In the Name field, type a unique name for the IKE peer.
4. In the Description field, type a brief description of the IKE peer.
5. In the Remote Address field, type the IP address of the BIG-IP system that is remote to the system you
are configuring.
6. For the State setting, retain the default value, Enabled.
117
Configuring IPsec in Tunnel Mode between Two BIG-IP Systems
7. For the IKE Phase 1 Algorithms area, retain the default values, or select the options that are appropriate
for your deployment.
8. In the IKE Phase 1 Credentials area, for the Authentication Method setting, select either RSA Signature
or Preshared Key.
• If you select RSA Signature (default), the Certificate, Key, and Verify Certificate settings are
available. If you have your own certificate file, key file, and certificate authority (CA), F5
recommends, for security purposes, that you specify these files in the appropriate fields. To reveal
all these fields, select the Verify Certificate check box. If you retain the default settings, leave the
check box cleared.
Important: If you select the check box, you must provide a certificate file, key, and certificate
authority.
• If you select Preshared Key, type the key in the Preshared Key field that becomes available.
Note: The key you type must be the same at both ends of the tunnel.
You now have an IKE peer defined for establishing a secure channel.
1. On the Main tab, click Network > IPsec > IPsec Policies.
2. Click the Create button.
The New Policy screen opens.
3. In the Name field, type a unique name for the policy.
4. In the Description field, type a brief description of the policy.
5. For the IPsec Protocol setting, retain the default selection, ESP.
6. From the Mode list, select Tunnel.
The screen refreshes to show additional related settings.
7. In the Tunnel Local Address field, type the local IP address of the system you are configuring.
This table shows sample tunnel local addresses for BIG-IP A and BIG-IP B.
BIG-IP B 3.3.3.3
8. In the Tunnel Remote Address field, type the IP address that is remote to the system you are configuring.
118
BIG-IP® TMOS®: Implementations
This address must match the Remote Address setting for the relevant IKE peer.
This table shows sample tunnel remote addresses for BIG-IP A and BIG-IP B.
BIG-IP B 2.2.2.2
9. For the Authentication Algorithm setting, retain the default value, or select the algorithm appropriate
for your deployment.
10. For the Encryption Algorithm setting, retain the default value, or select the algorithm appropriate for
your deployment.
11. For the Perfect Forward Secrecy setting, select the option appropriate for your deployment.
12. For the IPComp setting, do one of the following:
• Retain the default value None, if you do not want to enable packet-level compression before
encryption.
• Select DEFLATE to enable packet-level compression before encryption.
13. For the Lifetime setting, retain the default value, 1440.
This is the length of time (in minutes) before the current security association expires.
14. Click Finished.
The screen refreshes and displays the new IPsec policy in the list.
15. Repeat this task on the BIG-IP system in the remote location.
1. On the Main tab, click Network > IPsec > Traffic Selectors.
2. Click Create.
The New Traffic Selector screen opens.
3. In the Name field, type a unique name for the traffic selector.
4. In the Description field, type a brief description of the traffic selector.
5. For the Order setting, retain the default value (First).
This setting specifies the order in which the traffic selector appears on the Traffic Selector List screen.
6. From the Configuration list, select Advanced.
7. For the Source IP Address setting, click Host or Network, and in the Address field, type an IP address.
This IP address should be the host or network address from which the application traffic originates.
This table shows sample source IP addresses for BIG-IP A and BIG-IP B.
BIG-IP B 4.4.4.0/24
119
Configuring IPsec in Tunnel Mode between Two BIG-IP Systems
8. From the Source Port list, select the source port for which you want to filter traffic, or retain the default
value *All Ports.
9. For the Destination IP Address setting, click Host, and in the Address field, type an IP address.
This IP address should be the final host or network address to which the application traffic is destined.
This table shows sample destination IP addresses for BIG-IP A and BIG-IP B.
BIG-IP B 1.1.1.0/24
10. From the Destination Port list, select the destination port for which you want to filter traffic, or retain
the default value * All Ports.
11. From the Protocol list, select the protocol for which you want to filter traffic.
You can select * All Protocols, TCP, UDP, ICMP, or Other. If you select Other, you must type a
protocol name.
12. From the Direction list, select Both.
13. From the Action list, select Protect.
The IPsec Policy Name setting appears.
14. From the IPsec Policy Name list, select the name of the custom IPsec policy that you created.
15. Click Finished.
The screen refreshes and displays the new IPsec traffic selector in the list.
16. Repeat this task on the BIG-IP system in the remote location.
Note: Only data traffic matching the traffic selector triggers the establishment of the tunnel.
.
1. Access the tmsh command-line utility.
2. Before sending traffic, type this command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level info
This command increases the logging level to display the INFO messages that you want to view.
3. Send data traffic to the destination IP address specified in the traffic selector.
4. Check the IKE Phase 1 negotiation status by typing this command at the prompt.
racoonctl -l show-sa isakmp
This example shows a result of the command. Destination is the tunnel remote IP address.
120
BIG-IP® TMOS®: Implementations
5. Check the IKE Phase 2 negotiation status by typing this command at the prompt.
racoonctl -ll show-sa internal
This example shows a result of this command. Source is the tunnel local IP address. Destination is
the tunnel remote IP address.
Column Displayed
Side I (Initiator)
R (Responder)
Status init
start
acquire
getspi sent
getspi done
1st msg sent
121
Configuring IPsec in Tunnel Mode between Two BIG-IP Systems
Column Displayed
1st msg recvd
commit bit
sa added
sa established
sa expired
6. To verify the establishment of dynamic negotiated Security Associations (SAs), type this command at
the prompt.
tmsh show net ipsec ipsec-sa
For each tunnel, the output displays IP addresses for two IPsec SAs, one for each direction, as shown
in the example.
IPsec::SecurityAssociations
10.100.20.3 -> 165.160.15.20 SPI(0x7b438626) in esp (tmm: 6)
165.160.15.20 -> 10.100.20.3 SPI(0x5e52a1db) out esp (tmm: 5)
7. To display the details of the dynamic negotiated Security Associations (SAs), type this command at the
prompt.
tmsh show net ipsec ipsec-sa all-properties
For each tunnel, the output displays the details for the IPsec SAs, as shown in the example.
IPsec::SecurityAssociations
165.160.15.20 -> 10.100.20.3
-----------------------------------------------------------------------------
tmm: 2
Direction: out; SPI: 0x6be3ff01(1810104065); ReqID: 0x9b0a(39690)
Protocol: esp; Mode: tunnel; State: mature
Authenticated Encryption : aes-gmac128
Current Usage: 307488 bytes
Hard lifetime: 94 seconds; unlimited bytes
Soft lifetime: 34 seconds; unlimited bytes
Replay window size: 64
Last use: 12/13/2012:10:42 Create: 12/13/2012:10:39
8. To filter the Security Associations (SAs) by traffic selector, type this command at the prompt.
tmsh show net ipsec ipsec-sa traffic-selector ts_codec
You can also filter by other parameters, such as SPI (spi), source address (src_addr), or destination
address (dst_addr)
The output displays the IPsec SAs that area associated with the traffic selector specified, as shown in
the example.
IPsec::SecurityAssociations
10.100.115.12 -> 10.100.15.132 SPI(0x2211c0a9) in esp (tmm: 0)
122
BIG-IP® TMOS®: Implementations
-------------------------------------------------------------------
Net::Ipsec
Cmd Id Mode Packets In Bytes In Packets Out Bytes Out
-------------------------------------------------------------------
0 TRANSPORT 0 0 0 0
0 TRANSPORT 0 0 0 0
0 TUNNEL 0 0 0 0
0 TUNNEL 0 0 0 0
1 TUNNEL 353.9K 252.4M 24.9K 1.8M
2 TUNNEL 117.9K 41.0M 163.3K 12.4M
10. If the SAs are established, but traffic is not passing, type this command at the prompt.
tmsh delete net ipsec ipsec-sa
This action deletes the IPsec tunnels. Sending new traffic triggers SA negotiation and establishment.
11. If traffic is still not passing, type this command at the prompt.
racoonctl flush-sa isakmp
This action brings down the control channel. Sending new traffic triggers SA negotiation and
establishment.
12. View the /var/log/racoon.log to verify that the IPsec tunnel is up.
These lines are examples of the messages you are looking for.
13. For protocol-level troubleshooting, you can increase the debug level by typing this command at the
prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level debug2
Important: Use this command only for debugging. It creates a large log file, and can slow the tunnel
negotiation.
14. After you view the results, return the debug level to normal to avoid excessive logging by typing this
command at the prompt.
123
Configuring IPsec in Tunnel Mode between Two BIG-IP Systems
Implementation result
You now have an IPsec tunnel for securing traffic that traverses the WAN, from one BIG-IP® system to
another.
124
Configuring IPsec in Transport Mode between Two BIG-IP
Systems
IKE peers
An IKE peer is a configuration object of the IPsec protocol suite that represents a BIG-IP system on
each side of the IPsec tunnel. IKE peers allow two systems to authenticate each other (known as IKE
Phase 1). The BIG-IP system includes the default IKE peer, named anonymous.
IPsec policies
An IPsec policy is a set of information that defines the specific IPsec protocol to use (ESP or AH), and
the mode (Transport, Tunnel, or iSession). For Tunnel mode, the policy also specifies the endpoints for
the tunnel, and for IKE Phase 2 negotiation, the policy specifies the security parameters to be used in
that negotiation. The way that you configure the IPsec policy determines the way that the BIG-IP system
manipulates the IP headers in the packets. The BIG-IP system includes two default IPsec policies, named
default-ipsec-policy and default-ipsec-policy-isession. A common configuration
includes a bidirectional policy on each BIG-IP system.
Traffic selectors
A traffic selector is a packet filter that defines what traffic should be handled by a IPsec policy. You
define the traffic by source and destination IP addresses and port numbers. A common configuration
includes a bidirectional traffic selector on each BIG-IP system.
Task summary
With this task, you can configure the IPsec and IKE protocols to secure traffic that traverses a wide area
network (WAN), such as from one data center to another.
Before you begin configuring IPsec and IKE, verify that these modules, system objects, and connectivity
exist on the BIG-IP® systems in both the local and remote locations:
Self IP address
Each BIG-IP system must have at least one self IP address, to be used in specifying the ends of the IPsec
tunnel.
126
BIG-IP® TMOS®: Implementations
BIG-IP connectivity
Verify the connectivity between the client or server and its BIG-IP device, and between each BIG-IP
device and its gateway. For example, you can use ping to test this connectivity.
Task list
Creating a forwarding virtual server for IPsec
Creating an IKE peer
Creating a bidirectional IPsec policy
Creating a bidirectional IPsec traffic selector
Verifying IPsec connectivity for Transport mode
1. On the Main tab, click Network > IPsec > IKE Peers.
2. Click the Create button.
The New IKE Peer screen opens.
3. In the Name field, type a unique name for the IKE peer.
4. In the Description field, type a brief description of the IKE peer.
5. In the Remote Address field, type the IP address of the BIG-IP system that is remote to the system you
are configuring.
6. For the State setting, retain the default value, Enabled.
127
Configuring IPsec in Transport Mode between Two BIG-IP Systems
7. For the IKE Phase 1 Algorithms area, retain the default values, or select the options that are appropriate
for your deployment.
8. In the IKE Phase 1 Credentials area, for the Authentication Method setting, select either RSA Signature
or Preshared Key.
• If you select RSA Signature (default), the Certificate, Key, and Verify Certificate settings are
available. If you have your own certificate file, key file, and certificate authority (CA), F5
recommends, for security purposes, that you specify these files in the appropriate fields. To reveal
all these fields, select the Verify Certificate check box. If you retain the default settings, leave the
check box cleared.
Important: If you select the check box, you must provide a certificate file, key, and certificate
authority.
• If you select Preshared Key, type the key in the Preshared Key field that becomes available.
Note: The key you type must be the same at both ends of the tunnel.
You now have an IKE peer defined for establishing a secure channel.
1. On the Main tab, click Network > IPsec > IPsec Policies.
2. Click the Create button.
The New Policy screen opens.
3. In the Name field, type a unique name for the policy.
4. In the Description field, type a brief description of the policy.
5. For the IPsec Protocol setting, retain the default selection, ESP.
6. From the Mode list, select Transport.
7. For the Authentication Algorithm setting, retain the default value, or select the algorithm appropriate
for your deployment.
8. For the Encryption Algorithm setting, retain the default value, or select the algorithm appropriate for
your deployment.
9. For the Perfect Forward Secrecy setting, select the option appropriate for your deployment.
10. For the IPComp setting, do one of the following:
• Retain the default value None, if you do not want to enable packet-level compression before
encryption.
• Select DEFLATE to enable packet-level compression before encryption.
128
BIG-IP® TMOS®: Implementations
11. For the Lifetime setting, retain the default value, 1440.
This is the length of time (in minutes) before the current security association expires.
12. Click Finished.
The screen refreshes and displays the new IPsec policy in the list.
13. Repeat this task on the BIG-IP system in the remote location.
1. On the Main tab, click Network > IPsec > Traffic Selectors.
2. Click Create.
The New Traffic Selector screen opens.
3. In the Name field, type a unique name for the traffic selector.
4. In the Description field, type a brief description of the traffic selector.
5. For the Order setting, retain the default value (First).
This setting specifies the order in which the traffic selector appears on the Traffic Selector List screen.
6. From the Configuration list, select Advanced.
7. For the Source IP Address setting, click Host or Network, and in the Address field, type an IP address.
This IP address should be the host or network address from which the application traffic originates.
This table shows sample source IP addresses for BIG-IP A and BIG-IP B.
BIG-IP B 4.4.4.0/24
8. From the Source Port list, select the source port for which you want to filter traffic, or retain the default
value *All Ports.
9. For the Destination IP Address setting, click Host, and in the Address field, type an IP address.
This IP address should be the final host or network address to which the application traffic is destined.
This table shows sample destination IP addresses for BIG-IP A and BIG-IP B.
BIG-IP B 1.1.1.0/24
10. From the Destination Port list, select the destination port for which you want to filter traffic, or retain
the default value * All Ports.
11. From the Protocol list, select the protocol for which you want to filter traffic.
You can select * All Protocols, TCP, UDP, ICMP, or Other. If you select Other, you must type a
protocol name.
12. From the Direction list, select Both.
129
Configuring IPsec in Transport Mode between Two BIG-IP Systems
.
1. Access the tmsh command-line utility.
2. Before sending traffic, type this command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level info
This command increases the logging level to display the INFO messages that you want to view.
3. Send data traffic to the Destination IP Address in the traffic selector.
4. Check the IKE Phase 1 negotiation status by typing this command at the prompt.
racoonctl -l show-sa isakmp
This example shows a result of the command. Destination is the tunnel remote IP address.
130
BIG-IP® TMOS®: Implementations
5. Check the IKE Phase 2 negotiation status by typing this command at the prompt.
racoonctl -ll show-sa internal
This example shows a result of this command. Source is the tunnel local IP address. Destination is
the tunnel remote IP address.
Column Displayed
Side I (Initiator)
R (Responder)
Status init
start
acquire
getspi sent
getspi done
1st msg sent
1st msg recvd
commit bit
sa added
sa established
sa expired
6. To verify the establishment of dynamic negotiated Security Associations (SAs), type this command at
the prompt.
tmsh show net ipsec ipsec-sa
131
Configuring IPsec in Transport Mode between Two BIG-IP Systems
For each tunnel, the output displays IP addresses for two IPsec SAs, one for each direction, as shown
in the example.
IPsec::SecurityAssociations
10.100.20.3 -> 165.160.15.20 SPI(0x164208ae) out esp (tmm: 0)
165.160.15.20 -> 10.100.20.3 SPI(0xfa2ca7a8) in esp (tmm: 0)
7. To display the details of the dynamic negotiated Security Associations (SAs), type this command at the
prompt.
tmsh show net ipsec ipsec-sa all-properties
For each tunnel, the output displays the details for the IPsec SAs, as shown in the example.
IPsec::SecurityAssociations
10.100.20.3 -> 165.160.15.20
-----------------------------------------------------------------------------------------------------
tmm: 0
Direction: out; SPI: 0x164208ae(373426350); Policy ID: 0x87e9(34793)
Protocol: esp; Mode: transport; State: mature
Authenticated Encryption : aes-gcm128
Current Usage: 196 bytes
Hard lifetime: 51 seconds; unlimited bytes
Soft lifetime: 39 seconds; unlimited bytes
Replay window size: 64
Last use: 01/24/2014:14:03
Create: 01/24/2014:14:03
tmm: 0
Direction: in; SPI: 0xfa2ca7a8(4197230504); Policy ID: 0x87e8(34792)
Protocol: esp; Mode: transport; State: mature
Authenticated Encryption : aes-gcm128
Current Usage: 264 bytes
Hard lifetime: 51 seconds; unlimited bytes
Soft lifetime: 39 seconds; unlimited bytes
Replay window size: 64
Last use: 01/24/2014:14:03
Create: 01/24/2014:14:03
8. To filter the Security Associations (SAs) by traffic selector, type this command at the prompt.
tmsh show net ipsec ipsec-sa traffic-selector ts_codec
You can also filter by other parameters, such as SPI (spi), source address (src_addr), or destination
address (dst_addr)
The output displays the IPsec SAs that are associated with the traffic selector specified, as shown in the
example.
IPsec::SecurityAssociations
10.100.20.3 -> 165.160.15.20 SPI(0x164208ae) out esp (tmm: 0)
165.160.15.20 -> 10.100.20.3 SPI(0xfa2ca7a8) in esp (tmm: 0)
132
BIG-IP® TMOS®: Implementations
-------------------------------------------------------------------
Net::Ipsec
Cmd Id Mode Packets In Bytes In Packets Out Bytes Out
-------------------------------------------------------------------
0 TRANSPORT 353.9K 252.4M 24.9K 1.8M
0 TRANSPORT 117.9K 41.0M 163.3K 12.4M
0 TUNNEL 0 0 0 0
0 TUNNEL 0 0 0 0
1 TUNNEL 0 0 0 0
2 TUNNEL 0 0 0 0
10. If the SAs are established, but traffic is not passing, type this command at the prompt.
tmsh delete net ipsec ipsec-sa
This action deletes the IPsec tunnels. Sending new traffic triggers SA negotiation and establishment.
11. If traffic is still not passing, type this command at the prompt.
racoonctl flush-sa isakmp
This action brings down the control channel. Sending new traffic triggers SA negotiation and
establishment.
12. View the /var/log/racoon.log to verify that the IPsec tunnel is up.
These lines are examples of the messages you are looking for.
13. For troubleshooting, increase the debug level by typing this command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level debug2
Important: Use this command only for debugging. It creates a large log file, and can slow the tunnel
negotiation.
14. After you view the results, return the debug level to normal to avoid excessive logging by typing this
command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level info
133
Configuring IPsec in Transport Mode between Two BIG-IP Systems
Implementation result
You now have a secure IPsec channel for securing traffic that traverses the WAN, from one BIG-IP® system
to another.
134
Configuring IPsec in Interface Mode between Two BIG-IP
Systems
Task summary
Before you begin configuring IPsec, verify that these modules, system objects, and connectivity exist on
the BIG-IP® systems in both the local and remote locations:
Self IP address
Each BIG-IP system must have at least one self IP address, to be used in specifying the ends of the IPsec
tunnel.
BIG-IP connectivity
Verify the connectivity between the client or server and its BIG-IP device, and between each BIG-IP
device and its gateway. For example, you can use ping to test this connectivity.
Configuring IPsec in Interface Mode between Two BIG-IP Systems
Task list
Creating a forwarding virtual server for IPsec
Creating a custom IPsec policy for Interface mode
Creating an IPsec traffic selector
Specifying an IPsec tunnel interface traffic selector
Creating an IPsec interface tunnel
Assigning a self IP address to an IP tunnel endpoint
Important: You must perform this task on the BIG-IP® systems at both sides of the tunnel.
1. On the Main tab, click Network > IPsec > IPsec Policies.
2. Click the Create button.
The New Policy screen opens.
3. In the Name field, type a unique name for the policy.
4. For the IPsec Protocol setting, retain the default selection, ESP.
5. From the Mode list, select Interface.
6. In the Tunnel Local Address field, type the local IP address of the system you are configuring.
This table shows sample tunnel local addresses for BIG-IP A and BIG-IP B.
136
BIG-IP® TMOS®: Implementations
7. In the Tunnel Remote Address field, type the IP address that is remote to the system you are configuring.
This address must match the Remote Address setting for the relevant IKE peer.
This table shows sample tunnel remote addresses for BIG-IP A and BIG-IP B.
BIG-IP B 2.2.2.2
8. Click Finished.
The screen refreshes and displays the new IPsec policy in the list.
9. Repeat this task on the BIG-IP system in the remote location.
Important: You must perform this task on the BIG-IP® systems on both sides of the WAN.
1. On the Main tab, click Network > IPsec > Traffic Selectors.
2. Click Create.
The New Traffic Selector screen opens.
3. In the Name field, type a unique name for the traffic selector.
4. For the Source IP Address setting, specify where the application traffic originates, either:
• Click Host and type an IP address.
• Click Network, and in the Address field, type an IP address.
This table shows sample source IP addresses for BIG-IP A and BIG-IP B.
BIG-IP B 4.4.4.0/24
5. For the Destination IP Address setting, specify where the application traffic is going, either:
• Click Host and type an IP address.
• Click Network, and in the Address field, type an IP address.
This table shows sample destination IP addresses for BIG-IP A and BIG-IP B.
BIG-IP B 1.1.1.0/24
137
Configuring IPsec in Interface Mode between Two BIG-IP Systems
6. From the IPsec Policy Name list, select the name of the custom IPsec policy that you created.
7. Click Finished.
The screen refreshes and displays the new IPsec traffic selector in the list.
8. Repeat this task on the BIG-IP system in the remote location.
To use this IPsec profile to filter traffic, you must apply it to an IPsec tunnel.
After you create an IPsec tunnel interface, you can use it just like any other tunnel interface, such as assigning
it a self IP address, associating it with route domains, and adding it to virtual servers.
Note: If the other side of the tunnel needs to be reachable, make sure the self IP addresses that you assign
to both sides of the tunnel are in the same subnet.
138
BIG-IP® TMOS®: Implementations
2. Click Create.
The New Self IP screen opens.
3. In the Name field, type a unique name for the self IP address.
4. In the IP Address field, type the IP address of the tunnel.
The system accepts IPv4 and IPv6 addresses.
Note: This is not the same as the IP address of the tunnel local endpoint.
5. In the Netmask field, type the full network mask for the specified IP address.
For example, you can type ffff:ffff:ffff:ffff:0000:0000:0000:0000 or
ffff:ffff:ffff:ffff::.
6. From the VLAN/Tunnel list, select the tunnel with which to associate this self IP address.
7. Click Finished.
The screen refreshes, and displays the new self IP address.
Assigning a self IP to a tunnel ensures that the tunnel appears as a resource for routing traffic.
To direct traffic through the tunnel, add a route for which you specify the tunnel as the resource.
139
Configuring IPsec between a BIG-IP System and a
Third-Party Device
Figure 28: Example of an IPsec tunnel between a BIG-IP system and a third-party device
IKE peers
An IKE peer is a configuration object of the IPsec protocol suite that represents a BIG-IP system on
each side of the IPsec tunnel. IKE peers allow two systems to authenticate each other (known as IKE
Phase 1). The BIG-IP system includes the default IKE peer, named anonymous.
IPsec policies
An IPsec policy is a set of information that defines the specific IPsec protocol to use (ESP or AH), and
the mode (Transport, Tunnel, or iSession). For Tunnel mode, the policy also specifies the endpoints for
the tunnel, and for IKE Phase 2 negotiation, the policy specifies the security parameters to be used in
that negotiation. The way that you configure the IPsec policy determines the way that the BIG-IP system
manipulates the IP headers in the packets. The BIG-IP system includes two default IPsec policies, named
default-ipsec-policy and default-ipsec-policy-isession. A common configuration
includes a bidirectional policy on each BIG-IP system.
Traffic selectors
A traffic selector is a packet filter that defines what traffic should be handled by a IPsec policy. You
define the traffic by source and destination IP addresses and port numbers. A common configuration
includes a bidirectional traffic selector on each BIG-IP system.
Task summary
You can configure the IPsec and IKE protocols to secure traffic that traverses a wide area network (WAN),
such as from one data center to another.
Before you begin configuring IPsec and IKE, verify that this module, system objects, and connectivity exist
on the BIG-IP® system:
Self IP address
The BIG-IP system must have at least one self IP address, to be used in specifying the end of the IPsec
tunnel.
BIG-IP connectivity
Verify the connectivity between the client or server and its BIG-IP device, and between the BIG-IP
device and its gateway. For example, you can use ping to test this connectivity.
142
BIG-IP® TMOS®: Implementations
Task list
Creating a forwarding virtual server for IPsec
Creating an IKE peer
Creating a custom IPsec policy
Creating a bidirectional IPsec traffic selector
Verifying IPsec connectivity for Tunnel mode
Important: You must also configure the device at the other end of the IPsec tunnel.
1. On the Main tab, click Network > IPsec > IKE Peers.
2. Click the Create button.
The New IKE Peer screen opens.
3. In the Name field, type a unique name for the IKE peer.
4. In the Description field, type a brief description of the IKE peer.
5. In the Remote Address field, type the IP address of the device that is remote to the system you are
configuring.
This address must match the value of the Tunnel Remote Address setting in the relevant IPsec policy.
6. For the State setting, retain the default value, Enabled.
7. For the IKE Phase 1 Algorithms area, retain the default values, or select the options that are appropriate
for your deployment.
143
Configuring IPsec between a BIG-IP System and a Third-Party Device
Important: The values you select must match the IKE Phase 1 settings on the remote device.
Setting Options
Authentication Algorithm MD5
SHA-1 (default)
SHA-256
SHA-384
SHA-512
Encryption Algorithm DES
3 DES (default)
BLOWFISH
CAST128
AES
CAMELLIA
Perfect Forward Secrecy MODP768
MODP1024 (default)
MODP1536
MODP2048
MODP3072
MODP4096
MODP6144
MODP8192
Lifetime Length of time, in minutes, before the IKE security association
expires.
8. In the IKE Phase 1 Credentials area, for the Authentication Method setting, select either RSA Signature
or Preshared Key.
• If you select RSA Signature (default), the Certificate, Key, and Verify Certificate settings are
available. If you have your own certificate file, key file, and certificate authority (CA), F5
recommends, for security purposes, that you specify these files in the appropriate fields. To reveal
all these fields, select the Verify Certificate check box. If you retain the default settings, leave the
check box cleared.
Important: If you select the check box, you must provide a certificate file, key, and certificate
authority.
• If you select Preshared Key, type the key in the Preshared Key field that becomes available.
Note: The key you type must be the same at both ends of the tunnel.
You now have an IKE peer defined for establishing a secure channel.
144
BIG-IP® TMOS®: Implementations
Important: You must also configure the device at the other end of the IPsec tunnel.
1. On the Main tab, click Network > IPsec > IPsec Policies.
2. Click the Create button.
The New Policy screen opens.
3. In the Name field, type a unique name for the policy.
4. In the Description field, type a brief description of the policy.
5. For the IPsec Protocol setting, retain the default selection, ESP.
6. From the Mode list, select Tunnel.
The screen refreshes to show additional related settings.
7. In the Tunnel Local Address field, type the local IP address of the system you are configuring.
For example, the tunnel local IP address for BIG-IP A is 2.2.2.2.
8. In the Tunnel Remote Address field, type the IP address that is remote to the system you are configuring.
This address must match the Remote Address setting for the relevant IKE peer.
For example, the tunnel remote IP address configured on BIG-IP A is the IP address of Router B, which
is 3.3.3.3.
9. For the IKE Phase 2 area, retain the default values, or select the options that are appropriate for your
deployment.
Important: The values you select must match the IKE Phase 2 settings on the remote device.
Setting Options
Authentication Algorithm SHA-1
AES-GCM128 (default)
AES-GCM192
AES-GCM256
AES-GMAC128
AES-GMAC192
AES-GMAC256
Encryption Algorithm AES-GCM128 (default)
Perfect Forward Secrecy MODP768
MODP1024 (default)
MODP1536
MODP2048
MODP3072
MODP4096
MODP6144
MODP8192
Lifetime Length of time, in minutes, before the IKE security association
expires.
145
Configuring IPsec between a BIG-IP System and a Third-Party Device
The screen refreshes and displays the new IPsec policy in the list.
Important: You must also configure the device at the other end of the IPsec tunnel.
1. On the Main tab, click Network > IPsec > Traffic Selectors.
2. Click Create.
The New Traffic Selector screen opens.
3. In the Name field, type a unique name for the traffic selector.
4. In the Description field, type a brief description of the traffic selector.
5. For the Order setting, retain the default value (First).
This setting specifies the order in which the traffic selector appears on the Traffic Selector List screen.
6. From the Configuration list, select Advanced.
7. For the Source IP Address setting, click Host or Network, and in the Address field, type an IP address.
This IP address should be the host or network address from which the application traffic originates.
This table shows sample source IP addresses for BIG-IP A and Router B.
Router B 4.4.4.0/24
8. From the Source Port list, select the source port for which you want to filter traffic, or retain the default
value *All Ports.
9. For the Destination IP Address setting, click Host, and in the Address field, type an IP address.
This IP address should be the final host or network address to which the application traffic is destined.
This table shows sample destination IP addresses for BIG-IP A and Router B.
Router B 1.1.1.0/24
10. From the Destination Port list, select the destination port for which you want to filter traffic, or retain
the default value * All Ports.
11. From the Protocol list, select the protocol for which you want to filter traffic.
You can select * All Protocols, TCP, UDP, ICMP, or Other. If you select Other, you must type a
protocol name.
12. From the Direction list, select Both.
13. From the Action list, select Protect.
The IPsec Policy Name setting appears.
14. From the IPsec Policy Name list, select the name of the custom IPsec policy that you created.
15. Click Finished.
146
BIG-IP® TMOS®: Implementations
The screen refreshes and displays the new IPsec traffic selector in the list.
Note: Only data traffic matching the traffic selector triggers the establishment of the tunnel.
.
1. Access the tmsh command-line utility.
2. Before sending traffic, type this command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level info
This command increases the logging level to display the INFO messages that you want to view.
3. Send data traffic to the destination IP address specified in the traffic selector.
4. Check the IKE Phase 1 negotiation status by typing this command at the prompt.
racoonctl -l show-sa isakmp
This example shows a result of the command. Destination is the tunnel remote IP address.
147
Configuring IPsec between a BIG-IP System and a Third-Party Device
5. Check the IKE Phase 2 negotiation status by typing this command at the prompt.
racoonctl -ll show-sa internal
This example shows a result of this command. Source is the tunnel local IP address. Destination is
the tunnel remote IP address.
Column Displayed
Side I (Initiator)
R (Responder)
Status init
start
acquire
getspi sent
getspi done
1st msg sent
1st msg recvd
commit bit
sa added
sa established
sa expired
6. To verify the establishment of dynamic negotiated Security Associations (SAs), type this command at
the prompt.
tmsh show net ipsec ipsec-sa
For each tunnel, the output displays IP addresses for two IPsec SAs, one for each direction, as shown
in the example.
IPsec::SecurityAssociations
10.100.20.3 -> 165.160.15.20 SPI(0x7b438626) in esp (tmm: 6)
165.160.15.20 -> 10.100.20.3 SPI(0x5e52a1db) out esp (tmm: 5)
148
BIG-IP® TMOS®: Implementations
7. To display the details of the dynamic negotiated Security Associations (SAs), type this command at the
prompt.
tmsh show net ipsec ipsec-sa all-properties
For each tunnel, the output displays the details for the IPsec SAs, as shown in the example.
IPsec::SecurityAssociations
165.160.15.20 -> 10.100.20.3
-----------------------------------------------------------------------------
tmm: 2
Direction: out; SPI: 0x6be3ff01(1810104065); ReqID: 0x9b0a(39690)
Protocol: esp; Mode: tunnel; State: mature
Authenticated Encryption : aes-gmac128
Current Usage: 307488 bytes
Hard lifetime: 94 seconds; unlimited bytes
Soft lifetime: 34 seconds; unlimited bytes
Replay window size: 64
Last use: 12/13/2012:10:42 Create: 12/13/2012:10:39
8. To filter the Security Associations (SAs) by traffic selector, type this command at the prompt.
tmsh show net ipsec ipsec-sa traffic-selector ts_codec
You can also filter by other parameters, such as SPI (spi), source address (src_addr), or destination
address (dst_addr)
The output displays the IPsec SAs that area associated with the traffic selector specified, as shown in
the example.
IPsec::SecurityAssociations
10.100.115.12 -> 10.100.15.132 SPI(0x2211c0a9) in esp (tmm: 0)
10.100.15.132 -> 10.100.115.12 SPI(0x932e0c44) out esp (tmm: 2)
-------------------------------------------------------------------
Net::Ipsec
Cmd Id Mode Packets In Bytes In Packets Out Bytes Out
-------------------------------------------------------------------
0 TRANSPORT 0 0 0 0
0 TRANSPORT 0 0 0 0
0 TUNNEL 0 0 0 0
0 TUNNEL 0 0 0 0
1 TUNNEL 353.9K 252.4M 24.9K 1.8M
2 TUNNEL 117.9K 41.0M 163.3K 12.4M
10. If the SAs are established, but traffic is not passing, type this command at the prompt.
tmsh delete net ipsec ipsec-sa
This action deletes the IPsec tunnels. Sending new traffic triggers SA negotiation and establishment.
149
Configuring IPsec between a BIG-IP System and a Third-Party Device
11. If traffic is still not passing, type this command at the prompt.
racoonctl flush-sa isakmp
This action brings down the control channel. Sending new traffic triggers SA negotiation and
establishment.
12. View the /var/log/racoon.log to verify that the IPsec tunnel is up.
These lines are examples of the messages you are looking for.
13. For protocol-level troubleshooting, you can increase the debug level by typing this command at the
prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level debug2
Important: Use this command only for debugging. It creates a large log file, and can slow the tunnel
negotiation.
14. After you view the results, return the debug level to normal to avoid excessive logging by typing this
command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level info
Implementation result
You now have an IPsec tunnel for securing traffic that traverses the WAN, from one BIG-IP® system to a
third-party device.
150
Configuring IPsec Using Manually Keyed Security
Associations
The implementation of the IPsec protocol suite with a manual security association consists of these
components:
IPsec policy
An IPsec policy is a set of information that defines the specific IPsec protocol to use (ESP or AH), and
the mode (Transport, Tunnel, or iSession). For Tunnel mode, the policy also specifies the endpoints for
the tunnel. The way that you configure the IPsec policy determines the way that the BIG-IP system
manipulates the IP headers in the packets. The BIG-IP system includes two default IPsec policies, named
default-ipsec-policy and default-ipsec-policy-isession. A common configuration
includes a bidirectional policy on each BIG-IP system.
Note: When you create a manual security association instead of using IKE, the peer systems do not
negotiate these attributes. Peers can communicate only when they share the same configured attributes.
Configuring IPsec Using Manually Keyed Security Associations
Traffic selector
A traffic selector is a packet filter that defines what traffic should be handled by a IPsec policy. You
define the traffic by source and destination IP addresses and port numbers. A common configuration
includes a bidirectional traffic selector on each BIG-IP system.
Task summary
You can configure an IPsec tunnel to secure traffic that traverses a wide area network (WAN), such as from
one data center to another.
Before you begin configuring IPsec, verify that these modules, system objects, and connectivity exist on
the BIG-IP® systems in both the local and remote locations:
Self IP address
Each BIG-IP system must have at least one self IP address, to be used in specifying the ends of the IPsec
tunnel.
BIG-IP connectivity
Verify the connectivity between the client or server and its BIG-IP device, and between each BIG-IP
device and its gateway. For example, you can use ping to test this connectivity.
Task list
Creating a forwarding virtual server for IPsec
Creating a manual IPsec security association
Creating a custom IPsec policy
Creating a bidirectional IPsec traffic selector
Verifying IPsec connectivity for Tunnel mode
152
BIG-IP® TMOS®: Implementations
3. In the Name field, type a unique name for the virtual server.
4. From the Type list, select Forwarding (IP).
5. For the Destination setting:
a) For Type, select Network.
b) In the Address field, type the IP address 0.0.0.0.
c) In the Mask field, type the netmask 0.0.0.0.
1. On the Main tab, click Network > IPsec > Manual Security Associations.
2. Click the Create button.
The New Security Association screen opens.
3. In the Name field, type a unique name for the security association.
4. In the Description field, type a brief description of the security setting.
5. In the SPI field, type a unique number for the security parameter index.
This number must be an integer between 256 and 4294967296.
6. In the Source Address field, type the source IP address.
7. In the Destination Address field, type the destination IP address.
8. In the Authentication Key field, type a key value.
This value can by any double-quoted character string up to a maximum of 128 characters
9. From the Encryption Algorithm list, select the algorithm appropriate to your deployment.
10. In the Encryption Key field, type a key value.
This value can by any double-quoted character string up to a maximum of 128 characters
11. Click Finished.
The screen refreshes and displays the new IPsec security association in the list.
12. Repeat this task on the BIG-IP system in the remote location.
153
Configuring IPsec Using Manually Keyed Security Associations
custom IPsec policy is to configure IPsec to operate in Tunnel rather than Transport mode. Another reason
is to add payload compression before encryption.
1. On the Main tab, click Network > IPsec > IPsec Policies.
2. Click the Create button.
The New Policy screen opens.
3. In the Name field, type a unique name for the policy.
4. In the Description field, type a brief description of the policy.
5. For the IPsec Protocol setting, retain the default selection, ESP.
6. From the Mode list, select Tunnel.
The screen refreshes to show additional related settings.
7. In the Tunnel Local Address field, type the local IP address of the system you are configuring.
This table shows sample tunnel local addresses for BIG-IP A and BIG-IP B.
BIG-IP B 3.3.3.3
8. In the Tunnel Remote Address field, type the IP address that is remote to the system you are configuring.
This address must match the Remote Address setting for the relevant IKE peer.
This table shows sample tunnel remote addresses for BIG-IP A and BIG-IP B.
BIG-IP B 2.2.2.2
9. For the Authentication Algorithm setting, retain the default value, or select the algorithm appropriate
for your deployment.
10. For the Encryption Algorithm setting, retain the default value, or select the algorithm appropriate for
your deployment.
11. For the Perfect Forward Secrecy setting, select the option appropriate for your deployment.
12. For the IPComp setting, do one of the following:
• Retain the default value None, if you do not want to enable packet-level compression before
encryption.
• Select DEFLATE to enable packet-level compression before encryption.
13. For the Lifetime setting, retain the default value, 1440.
This is the length of time (in minutes) before the current security association expires.
14. Click Finished.
The screen refreshes and displays the new IPsec policy in the list.
15. Repeat this task on the BIG-IP system in the remote location.
154
BIG-IP® TMOS®: Implementations
1. On the Main tab, click Network > IPsec > Traffic Selectors.
2. Click Create.
The New Traffic Selector screen opens.
3. In the Name field, type a unique name for the traffic selector.
4. In the Description field, type a brief description of the traffic selector.
5. For the Order setting, retain the default value (First).
This setting specifies the order in which the traffic selector appears on the Traffic Selector List screen.
6. From the Configuration list, select Advanced.
7. For the Source IP Address setting, click Host or Network, and in the Address field, type an IP address.
This IP address should be the host or network address from which the application traffic originates.
This table shows sample source IP addresses for BIG-IP A and BIG-IP B.
BIG-IP B 4.4.4.0/24
8. From the Source Port list, select the source port for which you want to filter traffic, or retain the default
value *All Ports.
9. For the Destination IP Address setting, click Host, and in the Address field, type an IP address.
This IP address should be the final host or network address to which the application traffic is destined.
This table shows sample destination IP addresses for BIG-IP A and BIG-IP B.
BIG-IP B 1.1.1.0/24
10. From the Destination Port list, select the destination port for which you want to filter traffic, or retain
the default value * All Ports.
11. From the Protocol list, select the protocol for which you want to filter traffic.
You can select * All Protocols, TCP, UDP, ICMP, or Other. If you select Other, you must type a
protocol name.
12. From the Direction list, select Both.
13. From the Action list, select Protect.
The IPsec Policy Name setting appears.
14. From the IPsec Policy Name list, select the name of the custom IPsec policy that you created.
15. Click Finished.
The screen refreshes and displays the new IPsec traffic selector in the list.
16. Repeat this task on the BIG-IP system in the remote location.
155
Configuring IPsec Using Manually Keyed Security Associations
Note: Only data traffic matching the traffic selector triggers the establishment of the tunnel.
.
1. Access the tmsh command-line utility.
2. Send data traffic to the destination IP address specified in the traffic selector.
3. Check the IPsec stats by typing this command at the prompt.
tmsh show net ipsec-stat
If traffic is passing through the IPsec tunnel, the stats will increment.
-------------------------------------------------------------------
Net::Ipsec
Cmd Id Mode Packets In Bytes In Packets Out Bytes Out
-------------------------------------------------------------------
0 TRANSPORT 0 0 0 0
0 TRANSPORT 0 0 0 0
0 TUNNEL 0 0 0 0
0 TUNNEL 0 0 0 0
1 TUNNEL 353.9K 252.4M 24.9K 1.8M
2 TUNNEL 117.9K 41.0M 163.3K 12.4M
4. To verify the establishment of manually configured security associations (SAs), type this command at
the prompt.
tmsh show net ipsec ipsec-sa
For each tunnel, the output displays IP addresses for two IPsec SAs, one for each direction, as shown
in the example.
IPsec::SecurityAssociations
10.100.20.3 -> 165.160.15.20 SPI(0x7b438626) in esp (tmm: 6)
165.160.15.20 -> 10.100.20.3 SPI(0x5e52a1db) out esp (tmm: 5)
5. To display the details of the manually configured security associations (SAs), type this command at the
prompt.
tmsh show net ipsec ipsec-sa all-properties
For each tunnel, the output displays the details for the IPsec SAs, as shown in the example.
IPsec::SecurityAssociations
165.160.15.20 -> 10.100.20.3
-----------------------------------------------------------------------------
tmm: 2
Direction: out; SPI: 0x6be3ff01(1810104065); ReqID: 0x9b0a(39690)
156
BIG-IP® TMOS®: Implementations
Task summary
Creating a bidirectional IPsec traffic selector
Task summary
157
Setting Up IPsec To Use NAT Traversal on Both Sides of
the WAN
Overview: Setting up IPsec to use NAT traversal on both sides of the WAN
When you are using IPsec to secure WAN traffic, you can set up an IPsec tunnel with NAT traversal (NAT-T)
to get around a firewall or other NAT device. This implementation describes how to set up the IPsec tunnel
when you have a NAT device on both sides of the tunnel.
The following illustration shows a network configuration with a firewall on both sides of the WAN.
Figure 30: Example of an IPsec deployment with NAT-T on both sides of the WAN
Task summary
When you are configuring an IPsec tunnel, you must repeat the configuration tasks on the BIG-IP systems
on both sides of the WAN.
Creating a forwarding virtual server for IPsec
Creating an IPsec tunnel with NAT-T on both sides
Verifying IPsec connectivity for Tunnel mode
Important: For the IKE peer negotiations to be successful, the IKE Phase 1 and IKE Phase 2 settings must
be the same on the BIG-IP systems at both ends of the IPsec tunnel.
1. Create an IKE peer that specifies the other end of the IPsec tunnel.
a) On the Main tab, click Network > IPsec > IKE Peers.
b) Click the Create button.
c) In the Name field, type a unique name for the IKE peer.
160
BIG-IP® TMOS®: Implementations
d) In the Remote Address field, type the public IP address of the firewall or other NAT device that is
between the WAN and the remote BIG-IP system.
This address is the IP address of the remote peer, and must match the value of the Tunnel Remote
Address setting in the relevant IPsec policy.
For example, the peer remote addresses for the BIG-IP systems in Site A and Site B are as follows.
Site B 203.0.113.2
This screen snippet shows the peer Remote Address setting at Site A.
e) For the IKE Phase 1 Algorithms area, retain the default values, or select the options that are appropriate
for your deployment.
f) In the IKE Phase 1 Credentials area, for the Authentication Method setting, select either Preshared
Key or RSA Signature, and specify additional information in the fields that appear.
For example, if you select Preshared Key, type the key in the Preshared Key field that becomes
available.
Note: The key you type must be the same at both ends of the tunnel.
h) Click Finished.
2. Create a custom IPsec policy that uses Tunnel mode and has the same remote IP address as the IKE
peer.
161
Setting Up IPsec To Use NAT Traversal on Both Sides of the WAN
a) On the Main tab, click Network > IPsec > IPsec Policies.
b) Click the Create button.
c) In the Name field, type a unique name for the policy.
d) For the IPsec Protocol setting, retain the default selection, ESP.
e) From the Mode list, select Tunnel.
The screen refreshes to show additional related settings.
f) In the Tunnel Local Address field, type the local IP address of the system you are configuring.
For example, the tunnel local addresses for the BIG-IP systems in Site A and Site B are as follows.
Site B 10.102.20.5
g) In the Tunnel Remote Address field, type the public IP address of the firewall or other NAT device
that is between the WAN and the remote BIG-IP system.
This address must match the value of the Remote Address setting for the relevant IKE peer.
For example, the tunnel remote addresses for the BIG-IP systems in Site A and Site B are as follows.
Site B 203.0.113.2
h) For the Authentication Algorithm setting, retain the default value, or select the algorithm appropriate
for your deployment.
i) For the Encryption Algorithm setting, retain the default value, or select the algorithm appropriate
for your deployment.
j) For the Perfect Forward Secrecy setting, retain the default value, or select the option appropriate
for your deployment.
k) Click Finished.
3. Create a bidirectional traffic selector that uses the custom IPsec policy you created.
162
BIG-IP® TMOS®: Implementations
The traffic selector filters the application traffic based on the source and destination IP addresses you
specify.
a) On the Main tab, click Network > IPsec > Traffic Selectors.
b) Click Create.
c) In the Name field, type a unique name for the traffic selector.
d) For the Order setting, retain the default value (First).
e) For the Source IP Address setting, in the Address field, type the IP address from which the
application traffic originates.
For example, the source IP addresses for the BIG-IP systems in Site A and Site B are as follows.
Site B 10.102.20.10
f) In the Destination IP Address setting Address field, type the final IP address for which the
application traffic is destined.
For example, the source IP addresses for the BIG-IP systems in Site A and Site B are as follows.
Site B 10.100.20.50
i) Click Finished.
You have now created an IPsec tunnel through which traffic travels in both directions across the WAN
through firewalls on both sides.
163
Setting Up IPsec To Use NAT Traversal on Both Sides of the WAN
Note: Only data traffic matching the traffic selector triggers the establishment of the tunnel.
.
1. Access the tmsh command-line utility.
2. Before sending traffic, type this command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level info
This command increases the logging level to display the INFO messages that you want to view.
3. Send data traffic to the destination IP address specified in the traffic selector.
4. Check the IKE Phase 1 negotiation status by typing this command at the prompt.
racoonctl -l show-sa isakmp
This example shows a result of the command. Destination is the tunnel remote IP address.
164
BIG-IP® TMOS®: Implementations
5. Check the IKE Phase 2 negotiation status by typing this command at the prompt.
racoonctl -ll show-sa internal
This example shows a result of this command. Source is the tunnel local IP address. Destination is
the tunnel remote IP address.
Column Displayed
Side I (Initiator)
R (Responder)
Status init
start
acquire
getspi sent
getspi done
1st msg sent
1st msg recvd
commit bit
sa added
sa established
sa expired
6. To verify the establishment of dynamic negotiated Security Associations (SAs), type this command at
the prompt.
tmsh show net ipsec ipsec-sa
For each tunnel, the output displays IP addresses for two IPsec SAs, one for each direction, as shown
in the example.
IPsec::SecurityAssociations
10.100.20.3 -> 165.160.15.20 SPI(0x7b438626) in esp (tmm: 6)
165.160.15.20 -> 10.100.20.3 SPI(0x5e52a1db) out esp (tmm: 5)
7. To display the details of the dynamic negotiated Security Associations (SAs), type this command at the
prompt.
tmsh show net ipsec ipsec-sa all-properties
165
Setting Up IPsec To Use NAT Traversal on Both Sides of the WAN
For each tunnel, the output displays the details for the IPsec SAs, as shown in the example.
IPsec::SecurityAssociations
165.160.15.20 -> 10.100.20.3
-----------------------------------------------------------------------------
tmm: 2
Direction: out; SPI: 0x6be3ff01(1810104065); ReqID: 0x9b0a(39690)
Protocol: esp; Mode: tunnel; State: mature
Authenticated Encryption : aes-gmac128
Current Usage: 307488 bytes
Hard lifetime: 94 seconds; unlimited bytes
Soft lifetime: 34 seconds; unlimited bytes
Replay window size: 64
Last use: 12/13/2012:10:42 Create: 12/13/2012:10:39
8. To filter the Security Associations (SAs) by traffic selector, type this command at the prompt.
tmsh show net ipsec ipsec-sa traffic-selector ts_codec
You can also filter by other parameters, such as SPI (spi), source address (src_addr), or destination
address (dst_addr)
The output displays the IPsec SAs that area associated with the traffic selector specified, as shown in
the example.
IPsec::SecurityAssociations
10.100.115.12 -> 10.100.15.132 SPI(0x2211c0a9) in esp (tmm: 0)
10.100.15.132 -> 10.100.115.12 SPI(0x932e0c44) out esp (tmm: 2)
-------------------------------------------------------------------
Net::Ipsec
Cmd Id Mode Packets In Bytes In Packets Out Bytes Out
-------------------------------------------------------------------
0 TRANSPORT 0 0 0 0
0 TRANSPORT 0 0 0 0
0 TUNNEL 0 0 0 0
0 TUNNEL 0 0 0 0
1 TUNNEL 353.9K 252.4M 24.9K 1.8M
2 TUNNEL 117.9K 41.0M 163.3K 12.4M
10. If the SAs are established, but traffic is not passing, type this command at the prompt.
tmsh delete net ipsec ipsec-sa
This action deletes the IPsec tunnels. Sending new traffic triggers SA negotiation and establishment.
11. If traffic is still not passing, type this command at the prompt.
racoonctl flush-sa isakmp
166
BIG-IP® TMOS®: Implementations
This action brings down the control channel. Sending new traffic triggers SA negotiation and
establishment.
12. View the /var/log/racoon.log to verify that the IPsec tunnel is up.
These lines are examples of the messages you are looking for.
13. For protocol-level troubleshooting, you can increase the debug level by typing this command at the
prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level debug2
Important: Use this command only for debugging. It creates a large log file, and can slow the tunnel
negotiation.
14. After you view the results, return the debug level to normal to avoid excessive logging by typing this
command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level info
167
Setting Up IPsec To Use NAT Traversal on One Side of the
WAN
Overview: Setting up IPsec to use NAT traversal on one side of the WAN
When you are using IPsec to secure WAN traffic, you can set up an IPsec tunnel with NAT traversal (NAT-T)
to get around a firewall or other NAT device. This implementation describes how to set up the IPsec tunnel
when you have a NAT device on one side of the tunnel.
The following illustration shows a network configuration with a firewall on one side of the WAN.
Figure 31: Example of an IPsec deployment with NAT-T on one side of the WAN
Task summary
When you are configuring an IPsec tunnel, you must repeat the configuration tasks on the BIG-IP systems
on both sides of the WAN.
Creating a forwarding virtual server for IPsec
Creating an IPsec tunnel with NAT-T on one side
Verifying IPsec connectivity for Tunnel mode
Important: For the IKE peer negotiations to be successful, the IKE Phase 1 and IKE Phase 2 settings must
be the same on the BIG-IP systems at both ends of the IPsec tunnel.
1. Create an IKE peer that specifies the other end of the IPsec tunnel.
a) On the Main tab, click Network > IPsec > IKE Peers.
b) Click the Create button.
c) In the Name field, type a unique name for the IKE peer.
170
BIG-IP® TMOS®: Implementations
d) In the Remote Address field, type the IP address of the remote peer.
If the remote BIG-IP system is behind a firewall or other NAT device, type the public IP address of
that device.
If the remote BIG-IP system is reachable directly, type the IP address of the BIG-IP system.
Note: This address must match the value of the Tunnel Remote Address of the remote site setting
in the relevant IPsec policy.
For example, Site A uses the WAN IP address of the Site B firewall. The peer remote addresses for
the BIG-IP systems in Site A and Site B are as follows.
Site B 198.50.100.3
This screen snippet shows the peer Remote Address setting at Site A.
e) For the IKE Phase 1 Algorithms area, retain the default values, or select the options that are appropriate
for your deployment.
f) For the IKE Phase 1 Credentials area, for the Authentication Method setting, select either Preshared
Key or RSA Signature, and specify additional information in the fields that appear.
For example, if you select Preshared Key, type the key in the Preshared Key field that becomes
available.
In this example, Preshared Key is selected.
Note: The key you type must be the same at both ends of the tunnel.
g) From the NAT Traversal list, select On for Site A's IKE peer.
Note: Use this setting only for the IKE peer (remote BIG-IP system) that is behind a NAT device.
On the Site B BIG-IP system, for the IKE peer, retain the default setting, Off.
171
Setting Up IPsec To Use NAT Traversal on One Side of the WAN
h) Click Finished.
2. Create a custom IPsec policy that uses Tunnel mode and has the same remote IP address as the IKE
peer.
a) On the Main tab, click Network > IPsec > IPsec Policies.
b) Click the Create button.
c) In the Name field, type a unique name for the policy.
d) For the IPsec Protocol setting, retain the default selection, ESP.
e) From the Mode list, select Tunnel.
The screen refreshes to show additional related settings.
f) In the Tunnel Local Address field, type the local IP address of the system you are configuring.
For example, the tunnel local addresses for the BIG-IP systems in Site A and Site B are as follows.
Site B 10.102.20.5
g) In the Tunnel Remote Address field, type the IP address of the remote peer.
If the remote BIG-IP system is behind a firewall or other NAT device, type the public IP address of
that device.
If the remote BIG-IP system is reachable directly, type the IP address of the BIG-IP system.
Note: This address must match the value of the Remote Address setting in the relevant IKE peer.
For example, the tunnel remote addresses for the BIG-IP systems in Site A and Site B are as follows.
Site B 198.50.100.3
172
BIG-IP® TMOS®: Implementations
h) For the Authentication Algorithm setting, retain the default value, or select the algorithm appropriate
for your deployment.
i) For the Encryption Algorithm setting, retain the default value, or select the algorithm appropriate
for your deployment.
j) For the Perfect Forward Secrecy setting, retain the default value, or select the option appropriate
for your deployment.
k) Click Finished.
3. Create a bidirectional traffic selector that uses the custom IPsec policy you created.
The traffic selector filters the application traffic based on the source and destination IP addresses you
specify.
a) On the Main tab, click Network > IPsec > Traffic Selectors.
b) Click Create.
c) In the Name field, type a unique name for the traffic selector.
d) For the Order setting, retain the default value (First).
e) For the Source IP Address setting, in the Address field, type the IP address from which the
application traffic originates.
In the illustration the source IP addresses for the BIG-IP systems in Site A and Site B are as follows.
Site B 10.102.20.10
f) For the Destination IP Address setting, in the Address field, type the final IP address for which
the application traffic is destined.
In the illustration, the source IP addresses for the BIG-IP systems in Site A and Site B are as follows.
Site B 10.100.20.50
173
Setting Up IPsec To Use NAT Traversal on One Side of the WAN
This screen snippet is an example of the completed Traffic Selector screen at Site A.
i) Click Finished.
You have now created an IPsec tunnel through which traffic travels in both directions across the WAN, and
through a firewall on one side.
Task summary
Note: Only data traffic matching the traffic selector triggers the establishment of the tunnel.
.
1. Access the tmsh command-line utility.
2. Before sending traffic, type this command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level info
This command increases the logging level to display the INFO messages that you want to view.
3. Send data traffic to the destination IP address specified in the traffic selector.
4. Check the IKE Phase 1 negotiation status by typing this command at the prompt.
racoonctl -l show-sa isakmp
This example shows a result of the command. Destination is the tunnel remote IP address.
174
BIG-IP® TMOS®: Implementations
5. Check the IKE Phase 2 negotiation status by typing this command at the prompt.
racoonctl -ll show-sa internal
This example shows a result of this command. Source is the tunnel local IP address. Destination is
the tunnel remote IP address.
Column Displayed
Side I (Initiator)
R (Responder)
Status init
start
acquire
175
Setting Up IPsec To Use NAT Traversal on One Side of the WAN
Column Displayed
getspi sent
getspi done
1st msg sent
1st msg recvd
commit bit
sa added
sa established
sa expired
6. To verify the establishment of dynamic negotiated Security Associations (SAs), type this command at
the prompt.
tmsh show net ipsec ipsec-sa
For each tunnel, the output displays IP addresses for two IPsec SAs, one for each direction, as shown
in the example.
IPsec::SecurityAssociations
10.100.20.3 -> 165.160.15.20 SPI(0x7b438626) in esp (tmm: 6)
165.160.15.20 -> 10.100.20.3 SPI(0x5e52a1db) out esp (tmm: 5)
7. To display the details of the dynamic negotiated Security Associations (SAs), type this command at the
prompt.
tmsh show net ipsec ipsec-sa all-properties
For each tunnel, the output displays the details for the IPsec SAs, as shown in the example.
IPsec::SecurityAssociations
165.160.15.20 -> 10.100.20.3
-----------------------------------------------------------------------------
tmm: 2
Direction: out; SPI: 0x6be3ff01(1810104065); ReqID: 0x9b0a(39690)
Protocol: esp; Mode: tunnel; State: mature
Authenticated Encryption : aes-gmac128
Current Usage: 307488 bytes
Hard lifetime: 94 seconds; unlimited bytes
Soft lifetime: 34 seconds; unlimited bytes
Replay window size: 64
Last use: 12/13/2012:10:42 Create: 12/13/2012:10:39
8. To filter the Security Associations (SAs) by traffic selector, type this command at the prompt.
tmsh show net ipsec ipsec-sa traffic-selector ts_codec
You can also filter by other parameters, such as SPI (spi), source address (src_addr), or destination
address (dst_addr)
176
BIG-IP® TMOS®: Implementations
The output displays the IPsec SAs that area associated with the traffic selector specified, as shown in
the example.
IPsec::SecurityAssociations
10.100.115.12 -> 10.100.15.132 SPI(0x2211c0a9) in esp (tmm: 0)
10.100.15.132 -> 10.100.115.12 SPI(0x932e0c44) out esp (tmm: 2)
-------------------------------------------------------------------
Net::Ipsec
Cmd Id Mode Packets In Bytes In Packets Out Bytes Out
-------------------------------------------------------------------
0 TRANSPORT 0 0 0 0
0 TRANSPORT 0 0 0 0
0 TUNNEL 0 0 0 0
0 TUNNEL 0 0 0 0
1 TUNNEL 353.9K 252.4M 24.9K 1.8M
2 TUNNEL 117.9K 41.0M 163.3K 12.4M
10. If the SAs are established, but traffic is not passing, type this command at the prompt.
tmsh delete net ipsec ipsec-sa
This action deletes the IPsec tunnels. Sending new traffic triggers SA negotiation and establishment.
11. If traffic is still not passing, type this command at the prompt.
racoonctl flush-sa isakmp
This action brings down the control channel. Sending new traffic triggers SA negotiation and
establishment.
12. View the /var/log/racoon.log to verify that the IPsec tunnel is up.
These lines are examples of the messages you are looking for.
13. For protocol-level troubleshooting, you can increase the debug level by typing this command at the
prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level debug2
Important: Use this command only for debugging. It creates a large log file, and can slow the tunnel
negotiation.
177
Setting Up IPsec To Use NAT Traversal on One Side of the WAN
14. After you view the results, return the debug level to normal to avoid excessive logging by typing this
command at the prompt.
tmsh modify net ipsec ike-daemon ikedaemon log-level info
178
Configuring Remote High-Speed Logging
This illustration shows the association of the configuration objects for remote high-speed logging of BIG-IP
system processes.
Configuring Remote High-Speed Logging
Task summary
Perform these tasks to configure BIG-IP® system logging.
180
BIG-IP® TMOS®: Implementations
a) Type an IP address in the Address field, or select a node address from the Node List.
b) Type a service number in the Service Port field, or select a service name from the list.
c) Click Add.
5. Click Finished.
Important: If you use log servers such as Remote Syslog, Splunk, or ArcSight, which require data be
sent to the servers in a specific format, you must create an additional log destination of the required
type, and associate it with a log destination of the Remote High-Speed Log type. With this configuration,
the BIG-IP system can send data to the servers in the required format.
The BIG-IP system is configured to send an unformatted string of text to the log servers.
5. From the Pool Name list, select the pool of remote log servers to which you want the BIG-IP system
to send log messages.
6. From the Protocol list, select the protocol used by the high-speed logging pool members.
7. Click Finished.
181
Configuring Remote High-Speed Logging
Important: ArcSight formatting is only available for logs coming from Advanced Firewall Manager
(AFM), Application Security Manager (ASM™), and the Secure Web Gateway component of Access
Policy Manager® (APM®). IPFIX is not available for Secure Web Gateway.
The BIG-IP system is configured to send a formatted string of text to the log servers.
5. If you selected Remote Syslog, from the Syslog Format list, select a format for the logs, and then from
the High-Speed Log Destination list, select the destination that points to a pool of remote Syslog servers
to which you want the BIG-IP system to send log messages.
6. If you selected Splunk or IPFIX, from the Forward To list, select the destination that points to a pool
of high-speed log servers to which you want the BIG-IP system to send log messages.
7. Click Finished.
Creating a publisher
Ensure that at least one destination associated with a pool of remote log servers exists on the BIG-IP®
system.
Create a publisher to specify where the BIG-IP system sends log messages for specific resources.
1. On the Main tab, click System > Logs > Configuration > Log Publishers.
The Log Publishers screen opens.
2. Click Create.
3. In the Name field, type a unique, identifiable name for this publisher.
4. For the Destinations setting, select a destination from the Available list, and click << to move the
destination to the Selected list.
Note: If you are using a formatted destination, select the destination that matches your log servers,
such as Remote Syslog, Splunk, or ArcSight.
5. Click Finished.
Note: The severity level that you select includes all of the severity levels that display above your selection
in the list. For example, if you select Emergency, the system publishes only emergency messages to the
log. If you select Critical, the system publishes critical, alert, and emergency-level messages in the log.
4. From the Source list, select the system processes from which messages will be sent to the log.
182
BIG-IP® TMOS®: Implementations
5. In the Message ID field, type the first eight hex-digits of the specific message ID that you want the
system to include in the log. Use this field when you want a log to contain only each instance of one
specific log message.
Note: BIG-IP system log messages contain message ID strings in the format: xxxxxxxx:x:. For
example, in this log message: Oct 31 11:06:27 olgavmmgmt notice mcpd[5641]: 01070410:5:
Removed subscription with subscriber id lind , the message ID string is: 01070410:5:.
You enter only the first eight hex-digits: 01070410.
6. From the Log Publisher list, select the publisher that includes the destinations to which you want to
send log messages.
7. Click Finished.
Important: When you create a filter that disables legacy log message processing, the legacy logs are
completely disabled. Therefore, you must also create a filter for every source from which you want log
messages to be sent to the pool of remote log servers.
1. On the Main tab, click System > Logs > Configuration > Log Filters.
The Log Filters screen opens.
2. Click Create.
3. In the Name field, type a unique, identifiable name for this filter.
4. From the Severity list, select Debug.
5. From the Source list, select All.
6. From the Log Publisher list, select None.
7. Click Finished.
183
Setting Up Secure Remote Logging
Note: Some BIG-IP software versions do not include the HSL subsystem. If the BIG-IP systems in your
device group do not include HSL, you can still configure secure logging to a remote syslog server. In this
case, as long as you can configure the local syslog service to direct messages to the local log encrypting
virtual server, the secure logging configuration supports the encrypting of messages from the local syslog
service.
In the example:
• Each BIG-IP® system has one or more HSL filters directing certain kinds of log messages to an HSL
destination. The HSL destination forwards the messages to both the local syslog server (for local log
retention, in case the external syslog server is unreachable), and an HSL syslog destination, whose
purpose is to add the timestamp and other information expected by RFC5424-compliant syslog servers.
The HSL syslog destination then sends the decorated log messages to an HSL pool destination, which
186
BIG-IP® TMOS®: Implementations
directs them to the local syslog encryptor pool containing the IP address of a local encrypting virtual
server.
• The two BIG-IP systems include identically-configured local syslog encrypting virtual servers. The
virtual servers are configured using a non-floating IP address on a private VLAN that is internal to each
BIG-IP system, with no external interfaces attached. This VLAN exists solely to provide a private
communications link between the local syslog encryptor pool, the local syslog server, and the local
encrypting virtual server. For messages that are not currently processed by the HSL subsystem, the local
syslog server uses this VLAN to send selected messages directly to the local encrypting virtual server,
to be encrypted and sent on to the remote secure syslog server.
• The local encrypting virtual server is configured with a Server SSL profile for the purpose of sending
the BIG-IP system's client certificate to the server for X.509 validation, as well as for validating the
server's X.509 certificate using a locally-installed CA certificate bundle. Once authenticated and connected
to the server listed in the remote secure syslog server pool, the local syslog encrypting virtual server
sends the outbound encrypted syslog messages to the remote syslog server. The outbound TCP sessions
are retained for subsequent syslog messages until the TCP timeout on the virtual server expires; then
the next syslog message initiates a new TCP session.
The result is that when the high speed logging subsystem or the standard syslog service of either BIG-IP
system sends TCP syslog traffic, the messages are forwarded to the remote syslog server over an authenticated
and encrypted, secure channel.
Important: In this implementation, you must configure the objects shown in the illustration by starting with
those at the bottom and then proceeding toward the top. This ensures that configuration objects are available
when needed to configure other objects.
Prerequisite tasks
Before configuring secure logging, you must perform these tasks on the BIG-IP® systems in the configuration.
Task Description
Create a device group. The Device Service Clustering (DSC®) device group must contain the BIG-IP®
systems as members. You perform this task on only one device in the device
group.
Enable Automatic Sync Enabling automatic sync for the device group ensures that every change you make
on the device group. to a BIG-IP system is internally propagated to all device group members. In most
cases, this eliminates the need to manually sync configuration changes to the peer
device. You perform this task on only one device in the device group, and the
change is propagated to the other device.
Assign fully-qualified Each BIG-IP system in the device group, and the remote, secure syslog server,
domain names must have a unique fully-qualified domain name (FQDN). In our example, these
(FQDNs). FQDNs are: bigip1.syslog.secure.com, bigip2.syslog.secure.com,
and server.syslog.secure.com.
Specify the DNS name You must specify an external Domain Name System (DNS) server with forward
server. and reverse DNS entries for the names and IP addresses used in the X.509
certificate authentication. Once configured, the DNS server resolves the FQDN
used in the X.509 certificate for each device's secure logging configuration to the
IP address on the logging VLAN for that device. You must perform this task on
each BIG-IP device in the device group.
187
Setting Up Secure Remote Logging
Task summary
You must perform several tasks to create a BIG-IP® system configuration that performs secure logging to
a remote syslog server. Each of the tasks in this document is based on the sample configuration shown in
Figure 1.
Note: When entering tmsh commands, enter the commands as a single command line; the examples shown
include newlines for readability only. Also, ensure that you perform the tasks in the order presented.
Task List
188
BIG-IP® TMOS®: Implementations
In this example, 192.0.2.10:6514 represents the IP address of the remote syslog server.
2. Save the configuration by typing save /sys config.
1. Create an SSL Server profile to encrypt traffic destined for the syslog server pool. For example:
In this example, profile_serverssl_syslog-1 represents the name of the Server SSL profile.
Important: The certificate bundle that you specify must include the certificate chain of the certificate
authority.
2. Create a VLAN on the private, internal network, with no interfaces assigned. For example: create
net vlan vlan_securelog .
189
Setting Up Secure Remote Logging
3. Create a self IP address in the traffic group traffic-group-local-only and associate it with VLAN
vlan_securelog. For example: create net self 203.0.113.1/24 vlan vlan_securelog
.
Important: The IP address that you specify must be a non-routable address and must be identical on
all BIG-IP systems in the configuration.
4. Create a non-floating virtual address on the private, internal network. For example:
Important: You must use tmsh to create the virtual address, and you must create the virtual address
prior to creating the associated virtual server. Also, the IP address you specify must be the same virtual
address that you specify on the peer BIG-IP system.
5. Create a virtual server network for the virtual address, assigning the pool, SSL Server profile, and private
VLAN. For example:
Important: In this example, vs_secure_syslog_target-1 represents the name of the virtual server,
and the destination IP address is 203.0.113.100:514. The destination IP address and port that you
specify must be the same destination IP address and port that you specify on the peer BIG-IP system.
6. Create a VLAN on the shared, external network with all appropriate BIG-IP interfaces assigned. For
example: create net vlan vlan_logging { tag 4089 interfaces add { 1.1 {tagged}
} }.
7. Create a self IP address in the traffic group traffic-group-local-only and associate it with VLAN
vlan_logging. For example: create net self 192.0.2.100 vlan vlan_logging .
After you perform this task, system bigip1.syslog.secure.com contains a virtual server that references
a Server SSL profile, a private, internal VLAN, and the pool containing the remote syslog server. The virtual
server destination IP address and port match those of the virtual server on system
bigip2.syslog.secure.com. System bigip1.syslog.secure.com also contains a shared, external
VLAN with an associated self IP address.
190
BIG-IP® TMOS®: Implementations
destined for the remote syslog server. This encrypting virtual server is on an internal, private VLAN and is
associated with a non-floating virtual address, using the local BIG-IP system’s key and certificate. You also
use this task to create a shared, external VLAN and an associated self IP address. This is the VLAN with
which the remote syslog server is associated.
The encrypting virtual server has the same destination address and port as the encrypting virtual server that
you create on the peer system (in the example, bigip1.syslog.secure.com). Also, the virtual server
targets the same pool as the peer system (the pool containing the remote syslog server).
1. Create an SSL Server profile to encrypt traffic destined for the syslog server pool. For example:
In this example, profile_serverssl_syslog-2 represents the name of the Server SSL profile.
Important: The certificate bundle that you specify must include the certificate chain of the certificate
authority.
2. Create a VLAN on the private, internal network, with no interfaces assigned. For example: create
net vlan vlan_securelog .
3. Create a self IP address in the traffic group traffic-group-local-only and associate it with the
VLAN. For example: create net self 203.0.113.1/24 vlan vlan_securelog .
Important: The IP address that you specify must be a non-routable address and must be identical on
all BIG-IP systems in the configuration.
4. Create a non-floating virtual address on the private, internal network. For example:
Important: You must use tmsh to create the virtual address, and you must create the virtual address
prior to creating the associated virtual server. Also, the IP address you specify must be the same virtual
address that you specify on the peer BIG-IP system.
5. Create a virtual server for the virtual address, assigning the pool, SSL Server profile, and private VLAN.
For example:
191
Setting Up Secure Remote Logging
In this example, vs_secure_syslog_target-2 represents the name of the virtual server, and the
destination IP address is 203.0.113.100:514. The destination IP address and port that you specify
must be the same destination IP address and port that you specify on the peer BIG-IP system.
6. Create a VLAN on the shared, external network with all appropriate BIG-IP interfaces assigned. For
example: create net vlan vlan_logging { tag 4089 interfaces add { 1.1 {tagged}
} }.
7. Create a self IP address in the traffic group traffic-group-local-only and associate it with VLAN
vlan_logging. For example: create net self 192.0.2.200 vlan vlan_logging .
After you perform this task, system bigip2.syslog.secure.com contains a virtual server that references
a Server SSL profile, a private, internal VLAN, and the pool containing the remote syslog server. The virtual
server destination IP address and port match those of the virtual server on system
bigip1.syslog.secure.com. System bigip2.syslog.secure.com also contains a shared, external
VLAN with an associated self IP address.
Note: You can perform this task on either one of the BIG-IP systems in the device group.
At the tmsh prompt, modify the syslog server to create a destination that targets the IP address and port
number of the local encrypting virtual server. For example:
In this example, d_to_secure_syslog represents the name of the HSL destination, which targets the
local syslog destination, which targets the local encrypting virtual server's destination IP address and
port 203.0.113.100:514.
192
BIG-IP® TMOS®: Implementations
Note: You can perform this task on either one of the BIG-IP® systems in the device group.
1. At the tmsh prompt, create a pool with the address and port of the encrypting virtual servers as the pool
member. For example:
In this example, pool_syslog_encryptor represents the name of the pool that contains pool member
203.0.113.100:514.
2. Save the configuration by typing save /sys config.
Note: You can perform this task on either one of the BIG-IP systems in the device group.
At the tmsh prompt, create a remote high-speed log destination. For example:
Note: You can perform this task on either one of the BIG-IP® systems in the device group.
193
Setting Up Secure Remote Logging
remote-high-speed-log hsldest_to_encryptor
}
In this example, a formatted remote-syslog destination named hsldest_syslog targets the remote
high-speed log destination named hsldest_to_encryptor.
Note: You can perform this task on either one of the BIG-IP® systems in the device group.
In this example, a publisher named hslpub_secure_remote_syslog targets the local syslog server
named local-syslog, as well as the formatted remote-syslog destination named hsldest_syslog.
Note: You can perform this task on either one of the BIG-IP® systems in the device group.
194
BIG-IP® TMOS®: Implementations
Note: You can perform this task on either one of the BIG-IP systems in the device group.
1. At the tmsh prompt, enable syslog logging for BIG-IP® Access Policy Manager® (APM®): modify
sys db log.access.syslog value enable
2. Create an APM filter. For example:
195
Setting Up Secure Remote Logging
196
Using Link Aggregation with Tagged VLANs for a
One-network Topology
Task summary
Perform the following tasks to configure two interfaces (tagged VLANs) to function as a single link with
higher bandwidth. In this implementation, you combine the two tagged VLANs into one VLAN group,
where the two VLANs are on the same IP network.
Task list
Creating a trunk
Adding a tagged interface to a VLAN
Creating a load balancing pool
Creating a virtual server with source address affinity persistence
Removing the self IP addresses from the default VLANs
Creating a VLAN group
Creating a self IP for a VLAN group
Creating a trunk
You create a trunk on the BIG-IP® system so that the system can then aggregate the links to enhance
bandwidth and ensure link availability.
1. On the Main tab, click Network > Trunks.
The Trunk List screen opens.
2. Click Create.
198
BIG-IP® TMOS®: Implementations
Important: On certain F5 platforms, packets can incorrectly egress on the same BIG-IP trunk member
that the external switch ingressed the packets on. You can prevent this by configuring the external switch
to use the same algorithm for its frame distribution hash value as you configure on the BIG-IP trunk.
For example, if you configure the BIG-IP trunk to base the frame distribution hash value on both source
and destination IP addresses, then you must configure the external switch to do the same.
8. Click Finished.
After you create a trunk, the BIG-IP system aggregates the links to enhance bandwidth and prevent
interruption in service.
The trunk is assigned to the external and internal VLAN as a tagged interface.
Note: You must create the pool before you create the corresponding virtual server.
199
Using Link Aggregation with Tagged VLANs for a One-network Topology
4. For the Health Monitors setting, in the Available list, select a monitor type, and click << to move the
monitor to the Active list.
Tip: Hold the Shift or Ctrl key to select more than one monitor at a time.
5. From the Load Balancing Method list, select how the system distributes traffic to members of this
pool.
The default is Round Robin.
6. For the Priority Group Activation setting, specify how to handle priority groups:
• Select Disabled to disable priority groups. This is the default option.
• Select Less than, and in the Available Members field type the minimum number of members that
must remain available in each priority group in order for traffic to remain confined to that group.
7. Using the New Members setting, add each resource that you want to include in the pool:
a) Type an IP address in the Address field.
b) Type a port number in the Service Port field, or select a service name from the list.
c) To specify a priority group, type a priority number in the Priority Group Activation field.
d) Click Add.
8. Click Finished.
200
BIG-IP® TMOS®: Implementations
201
Using Link Aggregation with Tagged VLANs for a One-network Topology
5. From the VLAN/Tunnel list, select the VLAN group with which to associate this self IP address.
6. From the Port Lockdown list, select Allow Default.
7. Click Finished.
The screen refreshes, and displays the new self IP address.
The BIG-IP system can send and receive traffic through the specified VLAN or VLAN group.
202
Using Link Aggregation with Tagged VLANs for a
Two-network Topology
Task summary
Perform the following tasks to configure two interfaces (tagged VLANs) to function as a single link with
higher bandwidth. In this implementation, each tagged VLAN is on a separate network.
Task list
Creating a trunk
Adding a tagged interface to a VLAN
Creating a load balancing pool
Creating a virtual server with source address affinity persistence
Creating a trunk
You create a trunk on the BIG-IP® system so that the system can then aggregate the links to enhance
bandwidth and ensure link availability.
1. On the Main tab, click Network > Trunks.
The Trunk List screen opens.
2. Click Create.
3. Name the trunk.
204
BIG-IP® TMOS®: Implementations
4. For the Interfaces setting, in the Available field, select an interface, and using the Move button, move
the interface to the Members field. Repeat this action for each interface that you want to include in the
trunk.
Trunk members must be untagged interfaces and cannot belong to another trunk. Therefore, only untagged
interfaces that do not belong to another trunk appear in the Available list.
5. Select the LACP check box.
6. From the Link Selection Policy list, retain the default value, Auto.
7. From the Frame Distribution Hash list, select the default value, Source/Destination IP address port.
Important: On certain F5 platforms, packets can incorrectly egress on the same BIG-IP trunk member
that the external switch ingressed the packets on. You can prevent this by configuring the external switch
to use the same algorithm for its frame distribution hash value as you configure on the BIG-IP trunk.
For example, if you configure the BIG-IP trunk to base the frame distribution hash value on both source
and destination IP addresses, then you must configure the external switch to do the same.
8. Click Finished.
After you create a trunk, the BIG-IP system aggregates the links to enhance bandwidth and prevent
interruption in service.
The trunk is assigned to the external and internal VLAN as a tagged interface.
Note: You must create the pool before you create the corresponding virtual server.
205
Using Link Aggregation with Tagged VLANs for a Two-network Topology
Tip: Hold the Shift or Ctrl key to select more than one monitor at a time.
5. From the Load Balancing Method list, select how the system distributes traffic to members of this
pool.
The default is Round Robin.
6. For the Priority Group Activation setting, specify how to handle priority groups:
• Select Disabled to disable priority groups. This is the default option.
• Select Less than, and in the Available Members field type the minimum number of members that
must remain available in each priority group in order for traffic to remain confined to that group.
7. Using the New Members setting, add each resource that you want to include in the pool:
a) Type an IP address in the Address field.
b) Type a port number in the Service Port field, or select a service name from the list.
c) To specify a priority group, type a priority number in the Priority Group Activation field.
d) Click Add.
8. Click Finished.
206
Configuring Packet Filtering
You can also configure global packet filtering that applies to all packet filter rules that you create.
Task summary
By setting up some basic IP routing and configuring packet filtering, specific hosts on the internal VLAN
can connect to the internal VLAN's 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.
Task list
Enabling SNAT automap for internal and external VLANs
Creating a default gateway pool
Creating a forwarding virtual server
Enabling packet filtering on the BIG-IP system
Creating a packet filter rule
2. Click Create.
3. Name the new SNAT.
4. From the Translation list, select Automap.
5. For the VLAN / Tunnel List setting, in the Available field, select external and external, and using the
Move button, move the VLANs to the Selected field.
6. Click Finished.
SNAT automapping on the BIG-IP system is configured for internal and external VLANs.
6. Click Finished.
208
BIG-IP® TMOS®: Implementations
10.
11. In the Resources area of the screen, locate the Default Pool setting and select the pool you created
previously.
12. Click Finished.
You now have a destination IP address on the BIG-IP system for application traffic.
Note: Replace <internal self IP address> with the actual self IP address of VLAN internal.
209
Referencing an External File from within an iRule
}
}
}
[ifile listall]
[ifile attributes IFILENAME]
[ifile size IFILENAME]
[ifile last_updated_by IFILENAME]
[ifile last_update_time IFILENAME]
[ifile revision IFILENAME]
[ifile checksum IFILENAME]
[ifile attributes IFILENAME]
Task summary
You can import an existing file to the BIG-IP® system, create an iFile that is based on the imported file,
and then write an iRule that returns the content of that file to a client system, based on an iRule event.
Task list
Importing a file to the BIG-IP system
Creating an iFile
Writing an iRule that references an iFile
The result of this task is that the file you selected now resides on the BIG-IP system.
Creating an iFile
As a prerequisite, ensure that the current administrative partition is set to the partition in which you want
the iFile to reside.
You perform this task to create an iFile that you can then reference in an iRule.
1. On the Main tab, click Local Traffic > iRules > iFile List.
2. Click Create.
3. In the Name field, type a new name for the iFile, such as ifileURL.
212
BIG-IP® TMOS®: Implementations
4. From the File Name list, select the name of the imported file object, such as 1k.html.
5. Click Finished.
The new iFile appears in the list of iFiles.
The result of this task is that you now have a file that an iRule can reference.
Note: If the iFile resides in partition /Common, then specifying the partition when referencing the iFile is
optional. If the iFile resides in a partition other than /Common, such as /Partition_A, you must include
the partition name in the iFile path name within the iRule.
Implementation result
You now have an iRule that accesses a file on the BIG-IP®system, based on a particular iRule event.
213
Configuring Remote User Authentication and Authorization
Task summary
You can configure the BIG-IP® system to authorize user accounts that are stored on a remote authentication
server.
Important: If you configure access control settings for group-based accounts (using the remote role groups
feature), the BIG-IP system always applies those settings, rather than the default access control settings,
to group-based accounts.
The BIG-IP® system supports several types of authentication servers for storing BIG-IP system administrative
user accounts. The actual procedure you use to specify the type of remote server differs, depending on the
server type.
Task list
Specifying LDAP or Active Directory server information
Specifying client certificate LDAP server information
Specifying RADIUS server information
Specifying TACACS+ server information
Configuring access control for remote role-based user groups
Saving access control settings to a file
Importing BIG-IP configuration data onto other BIG-IP systems
Configuring Remote User Authentication and Authorization
Important: The values you specify in this procedure for the Role, Partition Access, and Terminal Access
settings do not apply to group-based authorization. These values represent the default values that the BIG-IP
system applies to any user account that is not part of a remote role group. Also, for the Other External
Users user account, you can modify the Role, Partition Access, and Terminal Access settings only when
your current partition on the BIG-IP system is set to Common. If you attempt to modify these settings when
your current partition is other than Common, the system displays an error message.
10. To enable SSL-based authentication, from the SSL list select Enabled and, if necessary, configure these
settings:
a) From the SSL CA Certificate list, select 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) From the SSL Client Key list, select the name of the client SSL key.
Use this setting only when the remote server requires that the client present a certificate.
c) From the SSL Client Certificate list, select the name of the client SSL certificate.
Use this setting only if the remote server requires that the client present a certificate.
216
BIG-IP® TMOS®: Implementations
11. From the Role list, select the user role that you want the BIG-IP system to assign by default to all BIG-IP
system user accounts authenticated on the remote server.
12. From the Partition Access list, select the default administrative partition that all remotely-authenticated
BIG-IP system user accounts can access.
13. From the Terminal Access list, select either of these as the default terminal access option for
remotely-authenticated user accounts:
Option Description
Disabled Choose this option when you do not want the remotely-stored user accounts
to have terminal access to the BIG-IP system.
tmsh Choose this option when you want the remotely-stored user accounts to have
only tmsh access to the BIG-IP system.
You can now authenticate administrative traffic for user accounts that are stored on a remote LDAP or
Active Directory server. If you have no need to configure group-based user authorization, your configuration
tasks are complete.
Important: The values you specify in this procedure for the Role, Partition Access, and Terminal Access
settings do not apply to group-based authorization. These values represent the default values or locally
configured user accounts (which override the default role) that the BIG-IP system applies to any user
account that is not part of a remote role group.
1. On the Main tab, click System > File Management > Apache Certificate List > Import, browse for
the certificate file to import, type a name, and click Import.
The certificate will be added to the Apache Certificate list.
2. On the Main tab, click System > Users > Authentication.
3. On the menu bar, click Authentication.
4. Click Change.
5. From the User Directory list, select Remote - ClientCert LDAP.
6. In the Host field, type the IP address of the remote server.
The route domain to which this address pertains must be route domain 0.
7. For the Port setting, retain the default port number (389) or type a new port number.
This number represents the port number that the BIG-IP system uses to access the remote server.
8. In the Remote Directory Tree field, type the file location (tree) of the user authentication database on
the client certificate server.
At minimum, you must specify a domain component (that is, dc=[value]).
9. 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.
217
Configuring Remote User Authentication and Authorization
10. For the Bind setting, specify a user ID login for the remote server:
a) In the DN field, type the distinguished name for the remote user ID.
b) In the Password field, type the password for the remote user ID.
c) In the Confirm field, re-type the password that you typed in the Password field.
11. To enable SSL-based authentication, from the SSL list select Enabled and, if necessary, configure these
settings:
a) From the SSL CA Certificate list, select 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) From the SSL Client Key list, select the name of the client SSL key.
Use this setting only when the remote server requires that the client present a certificate.
c) From the SSL Client Certificate list, select the name of the client SSL certificate.
Use this setting only if the remote server requires that the client present a certificate.
12. In the CA Certificate field, type the absolute folder path of apache-ssl-cert fileobject for the
CA signing authority.
The absolute folder path is /Common/<folder path>/<certificate name>. To determine the
absolute folder path of the apache-ssl-cert fileobject, click System > File Management >
Apache Certificate List and note the target certificate's partition and path.
13. In the Login Name field, type an LDAP search prefix that will contain the distinguished name (DN)
from the user certificate, such as CN.
This specifies the LDAP attribute to be used as a login name. The default is disabled.
14. In the Login LDAP Attribute field, type the account name for the LDAP server.
The value for this option is normally the user ID. However, if the server is a Microsoft® Windows®
Active Directory®server, the value must be the account name sAMAccountName (case-sensitive). The
default value is none.
15. In the Login Filter field, type the LDAP attribute that contains the short name of the user.
This specifies the filter to be applied on the common name (CN) of the client certificate and usually this
is the user ID or sAMAccountName. The filter is a regular expression used to extract required information
from the CN of the client certificate that is matched against the LDAP search results. The default is
disabled.
16. For the Depth setting, retain the default value (10) or type a new value for verification depth.
17. From the Role list, select the user role that you want the BIG-IP system to assign by default to all BIG-IP
system user accounts authenticated on the remote server.
18. From the Partition Access list, select the default administrative partition that all remotely-authenticated
BIG-IP system user accounts can access.
19. From the Terminal Access list, select either of these as the default terminal access option for
remotely-authenticated user accounts:
Option Description
Disabled Choose this option when you do not want the remotely-stored user accounts
to have terminal access to the BIG-IP system.
tmsh Choose this option when you want the remotely-stored user accounts to have
only tmsh access to the BIG-IP system.
218
BIG-IP® TMOS®: Implementations
You can now authenticate administrative traffic for user accounts that are stored on a remote client certificate
server. If you have no need to configure group-based user authorization, your configuration tasks are
complete.
Important: The values you specify in this procedure for the Role, Partition Access, and Terminal Access
settings do not apply to group-based authorization. These values represent the default values that the BIG-IP
system applies to any user account that is not part of a role group that is defined on the remote authentication
server. Also, for the Other External Users user account, you can modify the Role, Partition Access,
and Terminal Access settings only when your current partition on the BIG-IP system is set to Common. If
you attempt to modify these settings when your current partition is other than Common, the system displays
an error message.
6. If you set the Server Configuration setting to Primary and Secondary, then for the Secondary setting:
a) In the Host field, type the name of the secondary RADIUS server.
The route domain with which this host is associated must be route domain 0.
b) In the Secret field, type the password for access to the secondary RADIUS server.
c) In the Confirm field, re-type the RADIUS secret.
7. From the Role list, select the user role that you want the BIG-IP system to assign by default to all BIG-IP
system user accounts authenticated on the remote server.
8. From the Partition Access list, select the default administrative partition that all remotely-authenticated
BIG-IP system user accounts can access.
9. From the Terminal Access list, select either of these as the default terminal access option for
remotely-authenticated user accounts:
Option Description
Disabled Choose this option when you do not want the remotely-stored user accounts
to have terminal access to the BIG-IP system.
tmsh Choose this option when you want the remotely-stored user accounts to have
only tmsh access to the BIG-IP system.
219
Configuring Remote User Authentication and Authorization
You can now authenticate administrative traffic for BIG-IP system user accounts that are stored on a remote
RADIUS server. If you have no need to configure group-based user authorization, your configuration tasks
are complete.
Important: The values you specify in this procedure for the Role, Partition Access, and Terminal Access
settings do not apply to group-based authorization. These values represent the default values that the BIG-IP
system applies to any user account that is not part of a remote role group. Also, for the Other External
Users user account, you can modify the Role, Partition Access, and Terminal Access settings only when
your current partition on the BIG-IP system is set to Common. If you attempt to modify these settings when
your current partition is other than Common, the system displays an error message.
Warning: Do not include the symbol # in the secret. Doing so causes authentication of local user
accounts (such as root and admin) to fail.
10. In the Service Name field, type the name of the service that the user is requesting to be authenticated
to use (usually ppp).
Specifying the service causes the TACACS+ server to behave differently for different types of
authentication requests. Examples of service names that you can specify are: ppp, slip, arap, shell,
tty-daemon, connection, system, and firewall.
11. In the Protocol Name field, type the name of the protocol associated with the value specified in the
Service Name field.
220
BIG-IP® TMOS®: Implementations
This value is usually ip. Examples of protocol names that you can specify are: ip, lcp, ipx, atalk,
vines, lat, xremote, tn3270, telnet, rlogin, pad, vpdn, ftp, http, deccp, osicp, and unknown.
12. From the Role list, select the user role that you want the BIG-IP system to assign by default to all BIG-IP
system user accounts authenticated on the remote server.
13. From the Partition Access list, select the default administrative partition that all remotely-authenticated
BIG-IP system user accounts can access.
14. From the Terminal Access list, select either of these as the default terminal access option for
remotely-authenticated user accounts:
Option Description
Disabled Choose this option when you do not want the remotely-stored user accounts
to have terminal access to the BIG-IP system.
tmsh Choose this option when you want the remotely-stored user accounts to have
only tmsh access to the BIG-IP system.
You can now authenticate administrative traffic for BIG-IP system user accounts that are stored on a remote
TACACS+ server. If you have no need to configure group-based user authorization, your configuration
tasks are complete.
221
Configuring Remote User Authentication and Authorization
Option Description
Disabled Choose this value if you want to disable remote console access for the
defined user group.
8. From the Assigned Role list, select a user role for the remote user group.
9. From the Partition Access list, select an administrative partition value.
Option Description
All Choose this value to give users in the defined group access to their authorized
objects in all partitions on the BIG-IP system.
partition_name Choose a specific partition name to give users in the defined group access
to that partition only.
Common Choose this value to give users in the defined group access to partition
Common only.
10. From the Terminal Access list, select the type of command-line access you want to grant users in the
group, if any.
11. Click Finished.
The user group that you specified now has the assigned role, partition access, and terminal access properties
assigned to it.
You can now import this file onto other BIG-IP devices on the network.
1. On the BIG-IP system on which you created the SCF, access a command-line prompt.
2. Copy the SCF that you previously created to a location on your network that you can access from the
system that you want to configure.
222
BIG-IP® TMOS®: Implementations
3. Edit the SCF to reflect the management routing and special passwords of the BIG-IP system that you
want to configure:
a) Open the SCF in an editor.
b) Where necessary, change the values of the management IP address, network mask, management
default route, self IP addresses, virtual server IP addresses, routes, default routes, and host name
fields to the values for the new system.
c) If necessary, change the passwords for the root and admin accounts using the command user
name password none newpassword password.
Important: When configuring a unit that is part of a redundant system configuration and that is
using the SCF from the peer unit, do not modify the root and admin accounts. These accounts must
be identical on both units of the redundant system.
4. On the BIG-IP system that you want to configure, open the Traffic Management Shell by typing the
command tmsh.
5. Type sys load scf_filename.
sys load myConfiguration053107.scf 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 loading.
223
Configuring Administrative Partitions to Control User
Access
Task summary
There are two main tasks for controlling user access to BIG-IP® system objects.
Task list
Creating an administrative partition
Configuring user access to a partition
8. Click Finished.
226
Working with Single Configuration Files
vlan external {
tag 4093
interfaces 1.3
}
vlan internal {
tag 4094
interfaces 1.10
}
pool dev_https3 {
members {
10.60.10.105:https{}
10.60.10.106:https{}
}
}
The single configuration file feature allows you to save the configuration of a BIG-IP system in a text file.
You can then use the text file to easily replicate the configuration across multiple BIG-IP systems. This not
only saves you time, but also allows you to create a consistent, secure, comprehensive local traffic
management environment on your network.
Task summary
You can perform three main tasks with respect to single configuration files.
Task list
Creating and saving an SCF
Loading an SCF onto a target BIG-IP system
Using an SCF to restore a BIG-IP system configuration
This procedure causes the tmsh utility to gather all of the commands (and their attributes and values) that
compose the running configuration. Once gathered, the system saves the configuration to a flat file with the
name you specify and the extension of .scf. By default, the system stores this file in the /var/local/scf
directory, but you can specify a different path if you prefer.
Note: To successfully load a configuration you have replicated, ensure that no line of the configuration is
longer than 4096 characters. If there are more than 4096 characters in a single line, the system reverts to
the previous running configuration.
1. On the target BIG-IP system, load the saved SCF file by typing the following command: tmsh load
sys config file [filename]
228
BIG-IP® TMOS®: Implementations
The tmsh utility first saves the system’s stored configuration in a backup file (named
/var/local/scf/backup.scf), and then uses the configuration stored in the SCF that you are loading.
2. Use a text editor to open the SCF and edit any data that is unique to the target BIG-IP system, such as
the management IP address.
3. Save the SCF to the target BIG-IP system by typing the following command: sys save config file
[filename]
If a backup SCF already exists, the tmsh utility appends a number to the name of the existing backup
file, and then creates a new backup file. Thus:
• The first time the system backs up the running configuration during a load operation, the system
names the backup file /var/local/scf/backup.scf.
• The next time the system backs up the running configuration, the system renames the file from
/var/local/scf/backup.scf to /var/local/scf/backup-1.scf and creates a new file
named /var/local/scf/backup.scf.
• If you run the load command a third time, the system renames the file from
/var/local/scf/backup-1.scf to /var/local/scf/backup-2.scf, renames the file
/var/local/scf/backup.scf to /var/local/scf/backup-1.scf, and once again creates a
new file named /var/local/scf/backup.scf.
229
Forcing Renewal of the BIG-IP System Management Port
DHCP Lease
Forcing a DHCP lease renewal for the BIG-IP system management port
Ensure that DHCP is enabled on the BIG-IP® system.
Force the renewal of the DHCP lease for an IP address and a default route for the BIG-IP system management
port.
1. Log on to the command-line interface of the BIG-IP system.
2. At the BASH prompt, type: bigstart restart dhclient
The dhclient on the BIG-IP system restarts, contacts the DHCP server, and acquires a new lease for
the BIG-IP system management port.
then receives all the network traffic from each router in the associated service group, and determines both
the traffic to optimize and the traffic to which to apply a service.
In configuring WCCPv2 on a network, you define a service group on the BIG-IP system, which is a collection
of WCCPv2 services configured on the BIG-IP system. A WCCPv2 service in this context is a set of
redirection criteria and processing instructions that the BIG-IP system applies to any traffic that a router in
the service group redirects to the BIG-IP system. Each service matches a service identifier on the router.
The following illustration shows a one-arm configuration on one side of the WAN and an inline (bridge)
configuration on the other side.
234
BIG-IP® TMOS®: Implementations
Task summary
To use WCCPv2 for traffic redirection, you configure a service group on the BIG-IP® system that includes
at least one service. You also configure this service on the WCCPv2-enabled router connected to the BIG-IP
system.
For optimization, you also need to configure the BIG-IP system on the other side of the WAN to complete
the connection. The BIG-IP system on the other side of the WAN can be set up in either a one-arm or inline
configuration.
Note: The example described in this implementation applies to the Cisco 3750 and Cat 6500 routers.
Prerequisites
Before you begin configuring WCCPv2 for traffic redirection, ensure that you have performed the following
actions on the other devices in your network.
• The interface and associated VLAN have been configured on the router or switch. For instructions, refer
to the Cisco documentation for your device.
• IP addresses have been assigned on the Cisco router or switch interface. Note the router identification
address, which you will use when configuring WCCPv2 on the BIG-IP system.
Task list
Creating a VLAN for a one-arm deployment
Creating a self IP address for a one-arm deployment
Defining a route
Configuring WCCPv2
Verifying connectivity
Verifying WCCPv2 configuration for one-arm deployment
Creating an iSession connection
Validating iSession configuration in a one-arm deployment
Configuring the Cisco router for a one-arm deployment using WCCPv2
Viewing pertinent configuration details from the command line
235
Configuring a One-Arm Deployment Using WCCPv2
The screen refreshes, and displays the new VLAN from the list.
Figure 38: Example of the Properties screen for the self IP address you created
236
BIG-IP® TMOS®: Implementations
Use this self IP address on the WAN Optimization Quick Start screen for the WAN Self IP Address, which
is the local endpoint for the iSession connection.
Defining a route
You must define a route on the local BIG-IP® system for sending traffic to its destination. In the example
shown, the route defined uses the default gateway to send traffic to the router.
1. On the Main tab, click Network > Routes.
2. Click Add.
The New Route screen opens.
3. In the Name field, type default-gateway.
4. In the Destination field, type the IP address 0.0.0.0.
An IP address of 0.0.0.0 in this field indicates that the destination is a default route.
5. In the Netmask field, type 0.0.0.0, the network mask for the default route.
6. From the Resource list, select Use Gateway.
The gateway represents a next-hop or last-hop address in the route.
7. For the Gateway Address setting, select IP Address and type an IP address. In the example shown,
this is 10.150.3.254.
Configuring WCCPv2
To configure traffic redirection using WCCPv2 for a one-arm deployment, follow these steps on the BIG-IP®
system. This implementation specifies the Layer 2 (L2) method of traffic forwarding and mask assignment
as the load-balancing method for a WCCPv2 service.
Note: The values you select for Redirection Method, Return Method, and Traffic Assign are automatically
selected by the Cisco router or switch, provided that the Cisco device supports these settings.
237
Configuring a One-Arm Deployment Using WCCPv2
1. On the Main tab of the BIG-IP® system user interface, click Network > WCCP.
2. Click the Create button.
The New WCCP List screen opens.
3. In the Service Group field, type a name for the service group, for example, service-wccp.
4. In the Service field, type a service group identifier, which is a number between 51 and 255.
This number must match the service ID you configure on the Cisco router. In the illustration shown,
this number is 75.
5. From the Port Type list, select Destination.
If you specify a port in the Port List , this setting specifies the port on which the server listens for
incoming traffic that has been redirected by WCCP. For best results, select Destination, even if you do
not specify a port.
6. From the Redirection Method list, select L2.
This setting specifies the method the router uses to redirect traffic to the BIG-IP system. Typically, L2
has a faster throughput rate than GRE, but GRE traffic has the advantage that it can be forwarded by a
Layer-3 router. This example uses L2.
Note: The router or switch uses the same redirection method, if supported.
Note: The router or switch uses the same return method, if supported.
9. In the Routers field, type the IP address of the Cisco router, and click Add.
In the illustration shown, this is 10.150.3.254.
Important: Do not use a secondary IP address for the Cisco router or switch.
10. In the Port List field, select an application, or leave it blank to indicate all ports.
11. For the Router Identifier setting, type the Router Identifier IP address of the router.
If you do not know the Router Identifier IP address, consult the Cisco documentation that applies to the
router or switch you are using.
12. In the Client ID field, type the IP address of the VLAN that connects to the Cisco router.
In the illustration shown, this is 10.150.3.1.
13. Click Finished.
The BIG-IP is configured for WCCPv2 traffic redirection in a one-arm deployment. The completed screen
looks similar to the following example.
238
BIG-IP® TMOS®: Implementations
Verifying connectivity
Important: Use this task as a checkpoint before proceeding with the one-arm setup.
239
Configuring a One-Arm Deployment Using WCCPv2
240
BIG-IP® TMOS®: Implementations
2. On the Main tab, click Acceleration > Quick Start > Symmetric Properties.
3. In the WAN Self IP Address field, type the local endpoint IP address.
In the example shown, this is 10.150.3.1.
4. Verify that the Discovery setting is set to Enabled.
If you disable the Discovery setting, or discovery fails, you must manually configure any remote endpoints
and advertised routes.
5. In the Select VLANs field, select the wan VLAN for both the LAN VLANs and WAN VLANs settings.
You select only one VLAN, because the system has only a single connection to the WAN router or
switch.
6. Click Apply.
After you configure the iSession™ endpoints, use an iApp template to select the application traffic for
optimization. Click Acceleration > Quick Start > Deploy Applications. Click Create, from the Template
list select f5.replication, and follow the online instructions.
241
Configuring a One-Arm Deployment Using WCCPv2
Important: Use this task as a checkpoint to allow for troubleshooting before you complete the setup.
You can validate the configuration using the browser and command-line interfaces.
1. Run diagnostics to verify the configuration.
a) On the Main tab, click Acceleration > Symmetric Optimization > Diagnostics.
b) Next to Diagnose WOM Configuration, click Run.
c) Correct any configuration errors as indicated on the screen.
2. Transfer data between the servers at the two sites, and verify that the transfer was successful.
3. Using the command-line interface, enter tmsh show wom remote-endpoint all, and verify the
remote endpoint IP address and the STATE: Ready message.
The following listing is an example of the results for this command.
-----------------------------------------------------------
Remote endpoint: 10.150.2.1 -----------
-----------------------------------------------------------
Status
HOSTNAME: server_bridge3600.example.net
MGMT ADDR: 192.X.X.X VERSION: 11.4.0
UUID: 195f:74a0:d242:eab6:57fe:c3a:c1d2:6e22
enabled STATE: ready -----------
BEHIND NAT: no
CONFIG STATUS: none
DEDUP CACHE: 43.5G
REFRESH count: 0 REFRESH timestamp: 12/31/12 16:00:00
ALLOW ROUTING: enabled
-----------------------------------------------------------
Endpoint Isession Statistic: _tunnel_data_10.150.2.1
-----------------------------------------------------------
Connections Current Maximum Total
Connections OUT IDLE: 0 0 0
Connections OUT ACTIVE: 1 1 1
Connections IN ACTIVE: 0 0 0
Direction Action Raw Opt
Out (to WAN) bits Deduplication 880 1.2K
Out (to WAN) bits Compression 1.2K 1.2K
Direction Action Opt Raw
In (from WAN) bits Decompression 273.9M 273.8M
In (from WAN) bits Deduplication 272.6M 272.5M
4. Using the browser interface, view the green status indicator on the Remote Endpoints screen.
5. On the Main tab, click WAN Optimization > Dashboard, and view the traffic optimization data.
242
BIG-IP® TMOS®: Implementations
(config)#ip wccp 75
2. Using the router interface that is connected to the client from which you want to redirect traffic, associate
the VLAN with the service ID you configured.
In the example shown, the command-line interface might look like the following.
The following listing is an example of the information displayed for a Cisco router configured to redirect
traffic to the BIG-IP system using WCCPv2.
Clientside_Top_switch#sh run
Building configuration...
Current configuration : 4848 bytes
version 12.2
no service pad
hostname Clientside_Top_switch
!
no aaa new-model
switch 1 provision ws-c3750g-48ts
system mtu routing 1500
vtp mode transparent
ip subnet-zero
ip routing
ip wccp 75
!
interface GigabitEthernet1/0/4
switchport access vlan 200
switchport mode access
!
interface GigabitEthernet1/0/5
switchport access vlan 100
switchport mode access
!
interface GigabitEthernet1/0/6
!
interface GigabitEthernet1/0/7
switchport access vlan 254
switchport mode access
!
interface Vlan1
ip address 192.31.3.161 255.255.255.0
!
interface Vlan100
ip address 10.15.3.254 255.255.255.0
!
interface Vlan200
ip address 10.15.2.254 255.255.255.0
!
interface Vlan254
ip address 10.15.1.254 255.255.255.0
243
Configuring a One-Arm Deployment Using WCCPv2
ip wccp 75 redirect in
!
244
BIG-IP® TMOS®: Implementations
245
Configuring a One-Arm Deployment Using WCCPv2
profiles {
isession {
context clientside
}
wom-default-clientssl {
context clientside
}
wom-tcp-lan-optimized {
context serverside
}
wom-tcp-wan-optimized {
context clientside
}
}
rate-class none
rules none
snat none
source-port preserve
traffic-classes none
translate-address enabled
translate-port disabled
vlans none
vlans-disabled
}
net interface 1.1 {
app-service none
description none
enabled
flow-control tx-rx
force-gigabit-fiber disabled
mac-address 0:1:d7:79:9a:84
media none
media-active 1000T-FD
media-fixed auto
media-max 1000T-FD
media-sfp auto
mtu 1500
prefer-port sfp
stp enabled
stp-auto-edge-port enabled
stp-edge-port true
stp-link-type auto
vendor none
}
net route def {
description none
gw 10.150.3.254
mtu 0
network default
partition Common
}
net self "clientside Self" {
address 10.150.3.1/24
allow-service none
app-service none
description none
floating disabled
inherited-traffic-group false
partition Common
traffic-group traffic-group-local-only
unit 0
vlan wan
}
net vlan wan {
app-service none
auto-lasthop default
description none
failsafe disabled
failsafe-action failover-restart-tm
246
BIG-IP® TMOS®: Implementations
failsafe-timeout 90
interfaces {
1.1 {
app-service none
untagged
}
}
learning enable-forward
mtu 1500
partition Common
source-checking disabled
tag 4094
}
sys datastor {
cache-size 1066
description none
disk enabled
high-water-mark 90
low-water-mark 80
store-size 97152
}
sys disk application-volume datastor {
logical-disk HD1
owner datastor
preservability discardable
resizeable false
size 97152
volume-set-visibility-restraint none
}
sys management-route default {
app-service none
description none
gateway 192.31.3.129
mtu 1500
network default
}
sys provision wom {
app-service none
cpu-ratio 0
description none
disk-ratio 0
level nominal
memory-ratio 0
}
sys provision woml {
app-service none
cpu-ratio 0
description none
disk-ratio 0
level none
memory-ratio 0
}
wom deduplication {
description none
dictionary-size 256
disk-cache-size 97152
enabled
max-endpoint-count 1
}
wom endpoint-discovery {
auto-save enabled
description none
discoverable enabled
discovered-endpoint enabled
icmp-max-requests 1024
icmp-min-backoff 5
icmp-num-retries 10
max-endpoint-count 0
mode enable-all
247
Configuring a One-Arm Deployment Using WCCPv2
}
wom local-endpoint {
addresses { 10.150.3.1 }
allow-nat enabled
description none
endpoint enabled
ip-encap-mtu 0
ip-encap-profile { /Common/default-ipsec-policy-isession }
ip-encap-type ipsec
no-route passthru
server-ssl serverssl
snat none
tunnel-port https
}
wom profile isession isession-http {
adaptive-compression enabled
app-service none
compression enabled
compression-codecs { deflate lzo bzip2 }
data-encryption disabled
deduplication enabled
defaults-from isession
deflate-compression-level 1
description none
mode enabled
partition Common
port-transparency enabled
reuse-connection enabled
target-virtual virtual-match-all
}
wom remote-endpoint 10.150.2.1 {
address 10.150.2.1
allow-routing enabled
app-service none
description none
endpoint enabled
ip-encap-mtu 0
ip-encap-profile none
ip-encap-type default
origin manually-saved
server-ssl none
snat default
tunnel-encrypt enabled
tunnel-port https
}
wom server-discovery {
auto-save enabled
description none
filter-mode exclude
idle-time-limit 0
ip-ttl-limit 5
max-server-count 50
min-idle-time 0
min-prefix-length-ipv4 32
min-prefix-length-ipv6 128
mode enabled
rtt-threshold 10
subnet-filter none
time-unit days
}
248
BIG-IP® TMOS®: Implementations
Implementation result
After you complete the tasks in this implementation, the BIG-IP® system is configured in a one-arm
deployment. For symmetric optimization, you must also configure the other side of the WAN. The other
BIG-IP deployment can be in bridge, routed, or one-arm mode.
249
Legal Notices and Acknowledgments
Legal Notices
Publication Date
This document was published on November 28, 2017.
Publication Number
MAN-0379-08
Copyright
Copyright © 2013-2016, 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
AAM, Access Policy Manager, Advanced Client Authentication, Advanced Firewall Manager, Advanced
Routing, AFM, APM, Application Acceleration Manager, Application Security Manager, ARX, AskF5,
ASM, BIG-IP, BIG-IQ, Cloud Extender, CloudFucious, Cloud Manager, Clustered Multiprocessing, CMP,
COHESION, Data Manager, DevCentral, DevCentral [DESIGN], DNS Express, DSC, DSI, Edge Client,
Edge Gateway, Edge Portal, ELEVATE, EM, Enterprise Manager, ENGAGE, F5, F5 [DESIGN], F5 Certified
[DESIGN], F5 Networks, F5 SalesXchange [DESIGN], F5 Synthesis, f5 Synthesis, F5 Synthesis [DESIGN],
F5 TechXchange [DESIGN], Fast Application Proxy, Fast Cache, FirePass, Global Traffic Manager, GTM,
GUARDIAN, iApps, IBR, Intelligent Browser Referencing, Intelligent Compression, IPv6 Gateway,
iControl, iHealth, iQuery, iRules, iRules OnDemand, iSession, L7 Rate Shaping, LC, Link Controller, Local
Traffic Manager, LTM, LineRate, LineRate Systems [DESIGN], LROS, LTM, Message Security Manager,
MSM, OneConnect, Packet Velocity, PEM, Policy Enforcement Manager, Protocol Security Manager,
PSM, Real Traffic Policy Builder, SalesXchange, ScaleN, Signalling Delivery Controller, SDC, SSL
Acceleration, software designed applications services, SDAC (except in Japan), StrongBox, SuperVIP,
SYN Check, TCP Express, TDR, TechXchange, TMOS, TotALL, Traffic Management Operating System,
Traffix Systems, Traffix Systems (DESIGN), Transparent Data Reduction, UNITY, VAULT, vCMP, VE
F5 [DESIGN], Versafe, Versafe [DESIGN], VIPRION, Virtual Clustered Multiprocessing, WebSafe, 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 may be protected by one or more patents indicated at:
http://www.f5.com/about/guidelines-policies/patents
Legal Notices and Acknowledgments
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 Gabriel Forté.
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.
252
BIG-IP® TMOS®: Implementations
253
Legal Notices and Acknowledgments
This product includes software with the Intel Gigabit Linux driver, which is protected under the GNU Public
License. Copyright ©1999 - 2012 Intel Corporation.
This product includes software with the Intel 10 Gigabit PCI Express Linux driver, which is protected under
the GNU Public License. Copyright ©1999 - 2012 Intel Corporation.
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 software under license from Qosmos (www.qosmos.com).
This product includes software developed by Andrew Tridgell, which is protected under the GNU Public
License, copyright ©1992-2000.
This product includes software developed by Jeremy Allison, which is protected under the GNU Public
License, copyright ©1998.
This product includes software developed by Guenther Deschner, which is protected under the GNU Public
License, copyright ©2008.
This product includes software developed by www.samba.org, which is protected under the GNU Public
License, copyright ©2007.
This product includes software from Allan Jardine, distributed under the MIT License.
This product includes software from Trent Richardson, distributed under the MIT License.
This product includes vmbus drivers distributed by Microsoft Corporation.
This product includes software from Cavium.
This product includes software from Webroot, Inc.
This product includes software from Maxmind, Inc.
This product includes software from OpenVision Technologies, Inc. Copyright ©1993-1996, OpenVision
Technologies, Inc. All Rights Reserved.
This product includes software developed by Matt Johnson, distributed under the MIT License. Copyright
©2012.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions
of the Software.
254
BIG-IP® TMOS®: Implementations
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
This product includes software from NLnetLabs. Copyright ©2001-2006. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
• Neither the name of NLnetLabs nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
This product includes unbound software from NLnetLabs. Copyright ©2007. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
• Neither the name of NLnetLabs nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
This product includes GRand Unified Bootloader (GRUB) software developed under the GNU Public
License, copyright ©2007.
This product includes Intel QuickAssist kernel module, library, and headers software licensed under the
GNU General Public License (GPL).
255
Legal Notices and Acknowledgments
This product includes gd-libgd library software developed by the following in accordance with the following
copyrights:
• Portions copyright ©1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002 by Cold Spring Harbor Laboratory.
Funded under Grant P41-RR02188 by the National Institutes of Health.
• Portions copyright ©1996, 1997, 1998, 1999, 2000, 2001, 2002 by Boutell.Com, Inc.
• Portions relating to GD2 format copyright ©1999, 2000, 2001, 2002 Philip Warner.
• Portions relating to PNG copyright ©1999, 2000, 2001, 2002 Greg Roelofs.
• Portions relating to gdttf.c copyright ©1999, 2000, 2001, 2002 John Ellson (ellson@lucent.com).
• Portions relating to gdft.c copyright ©2001, 2002 John Ellson (ellson@lucent.com).
• Portions copyright ©2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 2008 Pierre-Alain Joye
(pierre@libgd.org).
• Portions relating to JPEG and to color quantization copyright ©2000, 2001, 2002, Doug Becker and
copyright ©1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, Thomas G. Lane. This software is
based in part on the work of the Independent JPEG Group.
• Portions relating to WBMP copyright 2000, 2001, 2002 Maurice Szmurlo and Johan Van den Brande.
Permission has been granted to copy, distribute and modify gd in any context without fee, including a
commercial application, provided that this notice is present in user-accessible supporting documentation.
This product includes software developed by Oracle America, Inc. Copyright ©2012.
1. Java Technology Restrictions. Licensee shall not create, modify, change the behavior of, or authorize
licensees of licensee to create, modify, or change the behavior of, classes, interfaces, or subpackages
that are in any way identified as "java", "javax”, "sun" or similar convention as specified by Oracle in
any naming convention designation. In the event that Licensee creates an additional API(s) which: (a)
extends the functionality of a Java Environment; and (b) is exposed to third party software developers
for the purpose of developing additional software which invokes such additional API, Licensee must
promptly publish broadly an accurate specification for such API for free use by all developer.
2. Trademarks and Logos. This License does not authorize an end user licensee to use any Oracle America,
Inc. name, trademark, service mark, logo or icon. The end user licensee acknowledges that Oracle owns
the Java trademark and all Java-related trademarks, logos and icon including the Coffee Cup and Duke
("Java Marks") and agrees to: (a) comply with the Java Trademark Guidelines at
http://www.oraclc.com/html/3party.html; (b) not do anything harmful to or inconsistent with Oracle's
rights in the Java Marks; and (c) assist Oracle in protecting those rights, including assigning to Oracle
any rights acquired by Licensee in any Java Mark.
3. Source Code. Software may contain source code that, unless expressly licensed for other purposes, is
provided solely for reference purposes pursuant to the terms of your license. Source code may not be
redistributed unless expressly provided for in the terms of your license.
4. Third Party Code. Additional copyright notices and license terms applicable to portion of the Software
are set forth in the THIRDPARTYLICENSEREADME.txt file.
5. Commercial Features. Use of the Commercial Features for any commercial or production purpose
requires a separate license from Oracle. "Commercial Features" means those features identified in Table
I-I (Commercial Features In Java SE Product Editions) of tile Software documentation accessible at
http://www.oracle.com/technetwork/java/javase/documentation/index.html.
This product includes utilities developed by Linus Torvalds for inspecting devices connected to a USB bus.
This product includes perl-PHP-Serialization software, developed by Jesse Brown, copyright ©2003, and
distributed under the Perl Development Artistic License (http://dev.perl.org/licenses/artistic.html).
This product includes software developed by members of the CentOS Project under the GNU Public License,
copyright ©2004-2011 by the CentOS Project.
This product includes software developed by members of the OpenJDK Project under the GNU Public
License Version 2, copyright ©2012 by Oracle Corporation.
This product includes software developed by The VMWare Guest Components Team under the GNU Public
License Version 2, copyright ©1999-2011 by VMWare, Inc.
256
BIG-IP® TMOS®: Implementations
This product includes software developed by The Netty Project under the Apache Public License Version
2, copyright ©2008-2012 by The Netty Project.
This product includes software developed by Stephen Colebourne under the Apache Public License Version
2, copyright ©2001-2011 Joda.org.
This product includes software developed by the GlassFish Community under the GNU Public License
Version 2 with classpath exception, copyright ©2012 Oracle Corporation.
This product includes software developed by the Mort Bay Consulting under the Apache Public License
Version 2, copyright ©1995-2012 Mort Bay Consulting.
This product contains software developed by members of the Jackson Project under the GNU Lesser General
Public License Version 2.1, ©2007 – 2012 by the Jackson Project”.
This product contains software developed by QOS.ch under the MIT License, ©2004 – 2011 by QOS.ch.
This product includes software licensed from Gerald Combs (gerald@wireshark.org) under the GNU General
Public License as published by the Free Software Foundation; either version 2 of the License, or any later
version. Copyright ©1998 Gerald Combs.
This product includes software developed by Daniel Stenberg. Copyright ©1996 - 2012, Daniel Stenberg,
(daniel@haxx.se). All rights reserved.
Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby
granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise
to promote the sale, use or other dealings in this Software without prior written authorization of the copyright
holder.
This product includes software licensed from Rémi Denis-Courmont under the GNU Library General Public
License. Copyright ©2006 - 2011.
This product includes software developed by jQuery Foundation and other contributors, distributed under
the MIT License. Copyright ©2014 jQuery Foundation and other contributors (http://jquery.com/).
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions
of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
This product includes software developed by Trent Richardson, distributed under the MIT License. Copyright
©2012 jQuery Foundation and other contributors (http://jquery.com/).
257
Legal Notices and Acknowledgments
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions
of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
This product includes software developed by Allan Jardine, distributed under the MIT License. Copyright
©2008 - 2012, Allan Jardine, all rights reserved, jQuery Foundation and other contributors
(http://jquery.com/).
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions
of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
This product includes software developed by Douglas Gilbert. Copyright ©1992 - 2012 The FreeBSD
Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those of the authors and should
not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.
258
BIG-IP® TMOS®: Implementations
This product includes software developed as open source software. Copyright ©1994 - 2012 The FreeBSD
Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
3. The names of the authors may not be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). Copyright ©1998
- 2011 The OpenSSL Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following
acknowledgment: "This product includes software developed by the OpenSSL Project for use in the
OpenSSL Toolkit. (http://www.openssl.org/)"
4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products
derived from this software without prior written permission. For written permission, please contact
openssl-core@openssl.org.
5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their
names without prior written permission of the OpenSSL Project.
6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product
includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit
(http://www.openssl.org/)"
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes software licensed from William Ferrell, Selene Scriven and many other contributors
under the GNU General Public License, copyright ©1998 - 2006.
This product includes software developed by Thomas Williams and Colin Kelley. Copyright ©1986 - 1993,
1998, 2004, 2007
Permission to use, copy, and distribute this software and its documentation for any purpose with or without
fee is hereby granted, provided that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting documentation. Permission to modify the
259
Legal Notices and Acknowledgments
software is granted, but not the right to distribute the complete modified source code. Modifications are to
be distributed as patches to the released version. Permission to distribute binaries produced by compiling
modified sources is granted, provided you
1. distribute the corresponding source modifications from the released version in the form of a patch file
along with the binaries,
2. add special version identification to distinguish your version in addition to the base release version
number,
3. provide your name and address as the primary contact for the support of your modified version, and
4. retain our contact information in regard to use of the base software.
Permission to distribute the released version of the source code along with corresponding source modifications
in the form of a patch file is granted with same provisions 2 through 4 for binary distributions. This software
is provided "as is" without express or implied warranty to the extent permitted by applicable law.
This product includes software developed by Brian Gladman, Worcester, UK Copyright ©1998-2010. All
rights reserved. The redistribution and use of this software (with or without changes) is allowed without
the payment of fees or royalties provided that:
• source code distributions include the above copyright notice, this list of conditions and the following
disclaimer;
• binary distributions include the above copyright notice, this list of conditions and the following disclaimer
in their documentation.
This software is provided 'as is' with no explicit or implied warranties in respect of its operation, including,
but not limited to, correctness and fitness for purpose.
This product includes software developed by the Computer Systems Engineering Group at Lawrence
Berkeley Laboratory. Copyright ©1990-1994 Regents of the University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following
acknowledgment: This product includes software developed by the Computer Systems Engineering
Group at Lawrence Berkeley Laboratory.
4. Neither the name of the University nor of the Laboratory may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes software developed by Sony Computer Science Laboratories Inc. Copyright ©
1997-2003 Sony Computer Science Laboratories Inc. All rights reserved. Redistribution and use in source
and binary forms, with or without modification, are permitted provided that the following conditions are
met:
260
BIG-IP® TMOS®: Implementations
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product contains software developed by Google, Inc. Copyright ©2011 Google, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions
of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
This software incorporates JFreeChart, ©2000-2007 by Object Refinery Limited and Contributors, which
is protected under the GNU Lesser General Public License (LGPL).
This product contains software developed by the Mojarra project. Source code for the Mojarra software
may be obtained at https://javaserverfaces.dev.java.net/.
This product includes software developed by McAfee®.
This product includes software developed by Ian Gulliver ©2006, which is protected under the GNU General
Public License, as published by the Free Software Foundation.
This product contains software developed by the RE2 Authors. Copyright ©2009 The RE2 Authors. All
rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
• Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
261
Legal Notices and Acknowledgments
262
BIG-IP® TMOS®: Implementations
• The names of the authors may not be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes Apache Lucene software, distributed by the Apache Software Foundation under the
Apache License, version 2.0.
This product includes Apache MINA software, distributed by the Apache Software Foundation under the
Apache License, version 2.0.
This product includes OData4J software, distributed under the Apache License version 2.0.
This product includes software developed by the Visigoth Software Society (http://www.visigoths.org/).
This product includes software developed by Jeremy Ashkenas and DocumentCloud, and distributed under
the MIT license. Copyright © 2010-2013 Jeremy Ashkenas, DocumentCloud.
This product includes software developed by Addy Osmani, and distributed under the MIT license. Copyright
© 2012 Addy Osmani.
This product includes software developed by Charles Davison, and distributed under the MIT license.
Copyright © 2013 Charles Davison.
This product includes software developed by The Dojo Foundation, and distributed under the MIT license.
Copyright © 2010-2011, The Dojo Foundation.
This product includes gson software, distributed under the Apache License version 2.0. Copyright ©
2008-2011 Google Inc.
This product includes software developed by Douglas Crockford, douglas@crockford.com.
This product includes ec2-tools software, copyright © 2008, Amazon Web Services, and licensed under the
Amazon Software License. A copy of the License is located at http://aws.amazon.com/asl/ .
This product includes the ixgbevf Intel Gigabit Linux driver, Copyright © 1999 - 2012 Intel Corporation,
and distributed under the GPLv2 license, as published by the Free Software Foundation.
This product includes Apache Ant software, distributed by the Apache Software Foundation under the
Apache License, version 2.0.
This product includes libwebp software. Copyright © 2010, Google Inc. All rights reserved.
This product includes isc-dhcp software. Copyright © 2004-2013 by Internet Systems Consortium, Inc.
(“ISC”); Copyright © 1995-2003 by Internet Software Consortium.
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby
granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED “AS IS” AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD
TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
263
Legal Notices and Acknowledgments
This product includes jQuery Sparklines software, developed by Gareth Watts, and distributed under the
new BSD license.
This product includes jsdifflib software, developed by Chas Emerick, and distributed under the BSD license.
This product includes winston software, copyright © 2010, by Charlie Robbins.
This product includes Q software developed by Kristopher Michael Kowal, and distributed under the MIT
license. Copyright © 2009-2013 Kristopher Michael Kowal.
This product includes SlickGrid software developed by Michael Liebman, and distributed under the MIT
license.
This product includes JCraft Jsch software developed by Atsuhiko Yamanaka, copyright © 2002-2012
Atsuhiko Yamanaka, JCraft, Inc. All rights reserved.
This product includes DP_DateExtensions software developed by Jim Davis, Copyright © 1996-2004, The
Depressed Press of Boston (depressedpres.com). All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
• Neither the name of the DEPRESSED PRESS OF BOSTON (DEPRESSEDPRESS.COM) nor the names
of its contributors may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
All code not authored by the Depressed Press is attributed (where possible) to its rightful owners/authors,
used with permission and should be assumed to be under copyright restrictions as well.
This product includes Boost libraries, which are distributed under the Boost license
(http://www.boost.org/LICENSE_1_0.txt).
This product includes Angular software developed by Google, Inc., http://angulargs.org, copyright ©
2010-2012 Google, Inc., and distributed under the MIT license.
This product includes node.js software, copyright © Joyent, Inc. and other Node contributors. All rights
reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
• The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
264
BIG-IP® TMOS®: Implementations
265
Legal Notices and Acknowledgments
c. be redistributable at no charge.
Open Source Software includes, without limitation, software licensed or distributed under any of the
following licenses or distribution models, or licenses or distribution models substantially similar to any
of the following:
a. GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL),
b. the Artistic License (e.g., PERL),
c. the Mozilla Public License,
d. the Netscape Public License,
e. the Sun Community Source License (SCSL),
f. vi) the Sun Industry Source License (SISL),
g. vii) the Apache Software license, and
h. viii) the Common Public License (CPL).
3. OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software remains with
Intel or its suppliers. The Software is copyrighted and protected by the laws of the United States and
other countries, and international treaty provisions. You may not remove any copyright notices from
the Software. Intel may make changes to the Software, or to materials referenced therein, at any time
and without notice, but is not obligated to support or update the Software. Except as otherwise expressly
provided, Intel grants no express or implied right or license under Intel patents, copyrights, trademarks,
or other intellectual property rights.
4. Entire Agreement. This Agreement contains the complete and exclusive statement of the agreement
between You and Intel and supersedes all proposals, oral or written, and all other communications
relating to the subject matter of this Agreement. Only a written instrument duly executed by authorized
representatives of Intel and You may modify this Agreement.
5. LIMITED MEDIA WARRANTY. If the Software has been delivered by Intel on physical media, Intel
warrants the media to be free from material physical defects for a period of ninety (90) days after delivery
by Intel. If such a defect is found, return the media to Intel for replacement or alternate delivery of the
Software as Intel may select.
6. EXCLUSION OF OTHER WARRANTIES. EXCEPT AS PROVIDED ABOVE, THE SOFTWARE
IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND,
INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS
FOR A PARTICULAR PURPOSE. Intel does not warrant or assume responsibility for any errors, the
accuracy or completeness of any information, text, graphics, links or other materials contained within
the Software.
7. LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL OR ITS SUPPLIERS BE LIABLE FOR
ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS,
BUSINESS INTERRUPTION OR LOST INFORMATION) ARISING OUT OF THE USE OF OR
INABILITY TO USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR
LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR
INCIDENTAL DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU
MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO
JURISDICTION.
8. TERMINATION OF THIS AGREEMENT. Intel may terminate this Agreement at any time if You
violate its terms. Upon termination, You will immediately destroy the Software or return all copies of
the Software to Intel.
9. APPLICABLE LAWS. Claims arising under this Agreement will be governed by the laws of Delaware,
excluding its principles of conflict of laws and the United Nations Convention on Contracts for the Sale
of Goods. You may not export the Software in violation of applicable export laws and regulations. Intel
is not obligated under any other agreements unless they are in writing and signed by an authorized
representative of Intel.
266
BIG-IP® TMOS®: Implementations
10. GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED RIGHTS."
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in FAR52.227-14
and DFAR252.227-7013 et seq. or their successors. Use of the Software by the Government constitutes
acknowledgment of Intel's proprietary rights therein. Contractor or Manufacturer is Intel Corporation,
2200 Mission College Blvd., Santa Clara, CA 95054.
267
Index
Index
A BIG-IP configuration
saving 196
access control BIG-IP main dashboard
configuring 226 customizing 13
access control properties BIG-IP monitor type 106
assigning to user groups 221 BIG-IP system
access control settings provisioning 16, 25
saving 222 restoring 229
active-active configuration BIG-IP system licenses 16, 25
described 23
result of 33
Active Directory server information 216
C
active-standby configuration CA signatures
creating 16 for certificate validation 188
described 15 CCLDAP, See remote server authentication
result of 21 certificates
address exchange 20 See also x509 certificates.
administrative partitions importing 188
access to 226 importing for logging 188
creating 91, 225 See also x509 certificates.
defined 225 Cert-LDAP, See remote server authentication
administrative traffic Cisco router
authenticating 216–217 configuring for one-arm deployment 242
administrative user accounts cloud
configuring 17, 25 about connectivity in 69
APM logging Common Name attribute
enabling 195 and self IP addresses 188
application load configsync
and failover 59 configuring for VIPRION systems 35, 45
balancing 57 config sync, See configuration synchronization.
applications config sync addresses 20, 28
creating 30–31 See also configuration synchronization
application traffic specifying 38, 49
isolating on network 91, 225 See also configuration synchronization
ARP entries configuration
populating manually for virtual network segments 73 saving 196
audit log messages configuration data
older 192 copying 228
authentication algorithms importing 222
negotiating 115, 125, 141 restoring 229
AWS floating IP address 37, 47 configuration objects
and traffic groups 23
B configuration synchronization
20, 28
bandwidth controllers and Setup utility 15
compared with rate shaping 63 syncing to group 32, 42, 44, 52, 55, 106
bandwidth control policies connection mirroring
dynamic, about 64 configuring 39, 49
dynamic, adding to virtual server 67 enabling 18, 26
dynamic, classifying traffic 66 connection mirroring addresses, See mirroring addresses
dynamic, creating 66 connections
dynamic, example of 67 and VM migration 101
dynamic, prerequisites 65 dropping 107
overview 63 preserving 102
static, about 63 preserving on failover 39, 49
static, adding to virtual server 64 connectivity
static, creating 63–64 checking 239
base network components 15
269
Index
encapsulation
creating tunnels for 110, 112
H
encrypting virtual servers 192 HA load factor
encryption algorithms about 59
negotiating 115, 125, 141 HA load factors
encryption contents 115, 142, 152 examples of 60
EtherIP configuration results 107 hardware platforms
EtherIP profile type and failover 40, 50, 58
and self IP addresses 103 heterogeneous 60
purpose of 103 hash algorithm 198, 204
EtherIP protocol 101 HA traffic load
EtherIP tunneling 102 about 59
270
Index
271
Index
272
Index
273
Index
274
Index
275
Index
276