Big-IP - LTM Apresentacao - v10
Big-IP - LTM Apresentacao - v10
Presented by:
Eduardo Saito / Bruno Hatajima
Systems Engineer
Version 2.0
08/06/2011
2
Agenda
Introduction
Basic Components
Networking and Network Translations
Load Balancing
Monitors
Profiles
Persistence
SSL Acceleration
iRules
3
Introduction
4
iControl
PC - LAN
TMOS
WLAN
BIG-IP 6900
2 x Quad core CPU
16 10/100/1000 + 8x 1GB SFP
2x 320 GB HD (S/W RAID) + 8GB CF
16 GB memory
SSL @ 58K TPS / 9.6Gb bulk
6 Gbps max hardware compression
12 Gbps Traffic
BIG-IP 3600 2 x Dual core CPU
16 10/100/1000 + 8x 1GB SFP Multiple Product Modules
2x 320 GB HD (S/W RAID) + 8GB CF
8 GB memory
SSL @ 25K TPS / 4 Gb bulk
BIG-IP 1600 Dual core CPU
5 Gbps max hardware compression
6 Gbps Traffic
8 10/100/1000 + 2x 1GB SFP
Multiple Product Modules
1x 160 GB HD + 8GB CF
4 GB memory
SSL @ 10K TPS / 2 Gb bulk
1 Gbps max software compression
Dual core CPU
4 10/100/1000 + 2x 1GB SFP 2 Gbps Traffic
1x 160GB HD 1 Advanced Product
4 GB memory
SSL @ 5K TPS / 1 Gb Bulk
Module
1 Gbps max software compression
1 Gbps Traffic
1 Basic Product Module
Function / Performance
7
c al Traffic
P Lo IP
BIG-I er + BIG- y
g it
Mana ion Secur
cat
Appli anager
M
Leading Value
• World’s first on-demand scaling Web Application Firewall
• Advanced security
• Integrated security performance
• Application insight/visibility
Servers
Physical Server
Virtual
Machines
Servers
Basic Components
10
LTM Components
Node
– IP address of physical server
10.20.3.110
Member
– A member is an IP Address:Service combination
– Members are those entities placed into pools
– A single physical server may host any number of pool members
• Therefore a single physical server can be a member of multiple pools 10.20.3.110:80 (http)
• Multiple virtual servers can use the same physical server 10.20.3.110:443 (https)
Pool
– A pool is a group of members supporting a particular application
– Each pool has its own characteristics and load balancing method
10.20.3.110:80 10.20.3.120:80
Virtual Server
– Is a combination of a virtual IP address and virtual service 64.128.16.100:80
– This IP address:service combination represents a pool to the
outside world
– The service of the virtual server does not have to match the
service of the pool
• So, virtual servers can perform port translation, as well as, address
translation 10.20.3.110:80 10.20.3.120:80
– Access is limited to the defined port only
BigIP LTM Components
Intranet/Internet
Client 10.10.10.1
Virtual Server
HTTP_VS
172.16.1.230:80
Pool
HTTP_Pool
Intf 1.1
VLAN External
IP 172.16.1.1
Intf 1.2
VLAN Internal
IP 192.168.114.1
HTTP_Pool
Members
192.168.114.125:80
192.168.114.126:80
192.168.114.127:80
192.168.114.125 192.168.114.127
192.168.114.126
Node Information
Default Gateway: 192.168.114.1 (the BigIP)
Services: http (port 80) and ftp (port 21)
12
Setup Modes
and
Network Translations
13
Overview
Traffic to and from pools must pass through the
BigIP LTM for normal load balancing and
application acceleration to work
– Ideally, real servers sit behind the BigIP with the BigIP
as their default gateway
Overview
There are two primary methods used to set up the
BigIP LTM to ensure the traffic flows properly
– Routed Mode (Recommended)
– Source NAT (SNAT)
• Also know as “One Armed”
In Routed Mode the real servers are on an internal network behind the LTM
and use the LTM as their default gateway. The virtual servers are on a
external network segment accessible by the clients. The LTMs essentially
“route” the traffic between the real servers and clients
Advantage:
– Simple networking topology
– Easy to debug
– Allows the BIG-IP to provide an additional layer of security
• The LTM essentially acts as a firewall, virtual servers can only be contacted on the
configured IP and port
• Additional packet filters (ACL) may be applied
Disadvantage:
– New networks and VLANs may need to be created
– Servers default gateways may need to be reconfigured to point to the LTM
– Additional LTM configuration may be need to access for direct access to real
servers
Routed Mode Network Example
Client makes request
Intf 1.1
VLAN External
IP 172.16.1.1
Source 10.10.10.1
Destination 192.168.114.125 HTTP_Pool
Members
192.168.114.125:80
192.168.114.126:80
192.168.114.127:80
192.168.114.125 192.168.114.127
192.168.114.126
Node Information
Default Gateway: 192.168.114.1 (the BigIP)
Services: http (port 80) and ftp (port 21)
17
SNATs are used to translate the client IP, to an IP owned by the LTM, forcing
real servers to respond through the LTM to client requests
Advantage:
– No changes to your servers or network.
– Easy option for quick proof of concept testing.
– OneConnect (connection aggregation / reduction feature) can operate in its most
aggressive mode, giving your servers the maximum performance by reducing TCP
and HTTP connections.
– No additional LTM configuration needed for direct access to real servers
Disadvantage:
– Servers see the BIG-IP as the client, which may require changes to your logging
mechanism, however, BIG-IP can insert the original source IP address into the
HTTP headers using
• an x-forward header (via http profile)
• a custom header (via iRules)
– Allows direct access to servers, reduced security
Why SNATs are required for seamless integration into the network
Intranet/Internet
Client makes request
Virtual Server
HTTP_VS
192.168.114.230:80
Pool
HTTP_Pool
Default Gateway
192.168.114.1
Source 10.10.10.1
Destination 192.168.114.125 HTTP_Pool
Members
192.168.114.125:80
192.168.114.126:80
192.168.114.127:80
192.168.114.125 192.168.114.127
192.168.114.126
Node Information
Default Gateway: 192.168.114.1
Services: http (port 80) and ftp (port 21)
Source NAT (aka “One-Armed) Mode
Client makes request
Default Gateway
192.168.114.1
Intf 1.2
The server returns the packet to the
VLAN myvlan114 source IP (which is now the BigIP).
IP 192.168.114.240
(SNAT Automap) Destination 192.168.114.240
Source 192.168.114.125
192.168.114.125 192.168.114.127
192.168.114.126
Node Information
Default Gateway: 192.168.114.1
Services: http (port 80) and ftp (port 21)
20
Labs 1A and 1B
Load Balancing
22
Dynamic Methods
– Least Connections
– Fastest
• Next connection to member/node with fastest response time
• Based on monitor responses
– Observed
• Next connection to member with best response time but, if response times are equal,
the member/node with the fewest connections is chosen
– Predictive
• Same as observed except rated over time
– Dynamic Ratio
• Dynamically weights servers based on results SNMP queries
23
Load Balancing
Two Primary Pool Failure Mechanisms
– Priority Group Activation
• Ability to dynamically pull in new members into the pool
• Lower priority groups are pull into higher priority groups
– Fallback hosts
• HTTP redirect (http 302) to node or virtual server
Load Balancing
Monitors
26
Monitors
A monitor is a test of a specific device, for an expected
response, within a given time.
Monitors (cont.)
Node Checks
– Determine availability of all services for a particular node
• Example: ICMP check, is the node pingable
– When check fails, node is pull from all pools it has membership in
Service Checks
– Checks connectivity to services/ports
• Example: HTTP check, can port 80 be opened
Content Checks
– Queries the service and checks the contents of the query
• Example: HTTP GET /, is the page returning with correct content
– Content checks can involve username and passwords
Path Checks
– Are transparent monitors checking through devices to verify a path exists
Interactive Checks
– Custom scripts can be created to interact with application
– Examples are in /usr/bin/monitors
28
Monitor Types
Simple monitors
– ICMP checks the status of a node, using Internet Control Message Protocol (ICMP).
– Gateway ICMP checks nodes in a pool that implements gateway failsafe for high availability.
– TCP Echo checks the status of a node, using Transmission Control Protocol (TCP).
Monitor Types
EAV monitors (continued)
General: Child – no associated monitor (or timeout of first check not reached),
Unknown (Blue)
Parent – all child objects are unknown (blue)
Node: No associated monitor (or timeout of first check not reached and not
successful)
Pool Member: No associated monitor (or timeout of first check not reached and not
successful)
Pool: All Pool Members are unknown (blue)
Virtual Server: All Pools are unknown (blue)
General: Child – monitor failed, Parent – at least one Child red AND no green or
Offline (Red) yellow children available
Node: Most recent monitor failed (no successful checks within timeout period)
Pool Member: Most recent monitor failed (no successful checks within timeout
period)
Pool: One or more members are offline and no members are available
Virtual Server: One or more pools offline and no members available
31
Monitors
Lab 3 - Monitors
32
Profiles
33
Profile Facts
A default profile is a predefined profile on the BigIP LTM
– A default profile can be used as is
– Can be used a templates to create custom profiles.
– Can be modified (not recommended).
– Can not be deleted (except via the CLI, also not recommended)
Profiles Types
Protocol (connection oriented)
Profiles Types
Protocol Profiles
– Support parameters concerning timeouts and connection
management
– All Virtual Servers must have at least one protocol profile
Profiles Types
Service Profiles
– Support special features for selected applications
– Require TCP profiles (since they are connection-oriented)
Profiles Types
SSL Profiles
– Support encryption/decryption of traffic on the client side or server
side or both
– Require TCP profiles (since they are connection-oriented)
Profiles Types
Persistence Profiles
– Define methods the LTM uses to treat multiple TCP
connections as a single session
– Used to make persistence decisions
Persistence
41
Persistence
Persistence
– is the ability to continue to direct a client to a server once the initial load
balancing decision has been made
– Required for stateful applications (i.e. eCommerce shopping carts)
Persistence Methods
– Simple Persistence
– SSL Session ID
– Session Initiated Protocol (SIP)
– Cookie Persistence
• can persist to server based on information found in cookie
• BigIP can create (insert), rewrite or just watch (passive) cookies
– Each of these persistence methods have weaknesses
Persistence
Some additional Persistence settings worth noting
Persistence
Lab 4 - Persistence
44
BigIP v9 Practical
SSL Acceleration
45
Client-side Processing
BigIP v9 Practical
iRules
49
iRules
iRules are a powerful yet simple tool for defining the application
traffic that administrators wish to direct, redirect, filter, or persist on
HOW IT WORKS
1. Client requests information
from an application and is
5
iRule! Remove Apache v 2.0.49 Reference
routed through BIG-IP
rule when HTTP_RESPONSE {
#
2. BIG-IP directs request to # Remove all but the given headers.
best performing web server #
HTTP::header sanitize “ETag” “Connection” “Content-
TYPE”
3. Web server provides }
http://DevCentral.f5.com
DevCentral is a F5 monitored user forum. Here users share iRules and iControl code.
iRules documentation, examples and the iRule editor can be found at DevCentral.
iRules
Lab 6 – iRules
54