How do I configure and test Inbound LLB? | |
Test Domain : arraysupport.com
Test Hostname : www.arraysupport.com
Authoritative DNS(domain) : Bind running on FreeBSD (10.7.0.1)
Authoritative DNS (host) :Array TMX using links from ISP1 and ISP2
ISP1 Link IP : 10.7.5.10
ISP2 Link IP : 10.7.6.10
IP addresses to be resloved : www.arraysupport.com ->10.7.5.42, 10.7.6.42
1. Authoritative DNS configuration:
#Bind zone file for arraysupport.com
@ IN SOA ns.arraysupport.com. root.localhost (
2008090101; serial
28800 ; refresh
7200 ; retry
3600 ; expire
86400 ; ttl
)
@ IN NS ns1.arraysupport.com.
#Authoritative name servers for host www
#Queries for www will be forwarded to one of the DNS
www IN NS isp1.arraysupport.com.
www IN NS isp2.arraysupport.com.
isp1 IN A 10.7.5.40
isp2 IN A 10.7.6.40
2. TMX configuration
For each ISP link, a physical interface or vlan interface is required. For this example, vlan is used for external networks, and inside interface is used for internal networks.
# Create the Vlan interfaces
vlan "outside" "isp1" 5
vlan "outside" "isp2" 6
#Assign IP address to each interface.
ip address "inside" 172.28.8.1 255.255.255.0
ip address "isp1" 10.7.5.40 255.255.255.0
ip address "isp2" 10.7.6.40 255.255.255.0
# Set routes
ip route default 10.7.5.1
ip route default 10.7.6.1
# Enable RTS
ip rts on
# Create the services for www.arraysupport.com with SLB
slb real http "r1" 10.7.7.6 80 1000 tcp 3 3
slb virtual http "v1" 10.7.5.42 80 slb virtual http "v2" 10.7.6.42 80 slb virtual health off slb policy static "v1" "r1" slb policy static "v2" "r1" # LLB Setup
# Create and enable the links (where 10.7.4.11 and 10.7.9.11 ISP router IP address for icmp healthcheck)
llb link route "isp1" 10.7.5.1 10.7.4.11
llb link route "isp2" 10.7.6.1 10.7.9.11
llb link enable "isp1"
llb link enable "isp2"
# Enable health check
llb link health on
# Enable statistic
llb statistics link on
# Method (rr or wrr)
#by default, method is rr .
# if llb method is rr, it won’t show in config.
# use “llb method inbound wrr” to change method to "wrr"
3. Configure Array to serve DNS queries:
“llb dns local” turns on DNS to listen on UDP port 53
“llb dns host” creates A records for DNS responses
#ISP1 Link
llb dns local 10.7.5.40
llb dns host "www.arraysupport.com" 10.7.5.42
#ISP2 Link
llb dns local 10.7.6.10
llb dns host "www.arraysupport.com" 10.7.6.42
#Change the ttl from 60 -> 5 seconds
llb dns ttl www.arraysupport.com 5
4. Test the setup
TTL = 5, methmod rr
Ping www.arraysupport.com every 6 seconds.
[ktan@o2:~]% ./tt
Tue Sep 30 14:06:18 PDT 2008 PING www.arraysupport.com (10.7.5.42): 56 data bytes 64 bytes from 10.7.5.42: icmp_seq=0 ttl=62 time=0.401 ms 64 bytes from 10.7.5.42: icmp_seq=1 ttl=62 time=0.414 ms --- www.arraysupport.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.401/0.407/0.414/0.007 ms Tue Sep 30 14:06:26 PDT 2008
PING www.arraysupport.com (10.7.6.42): 56 data bytes 64 bytes from 10.7.6.42: icmp_seq=0 ttl=62 time=0.419 ms 64 bytes from 10.7.6.42: icmp_seq=1 ttl=62 time=0.433 ms --- www.arraysupport.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.419/0.426/0.433/0.007 ms Tue Sep 30 14:06:34 PDT 2008
PING www.arraysupport.com (10.7.5.42): 56 data bytes 64 bytes from 10.7.5.42: icmp_seq=0 ttl=62 time=0.398 ms 64 bytes from 10.7.5.42: icmp_seq=1 ttl=62 time=0.512 ms --- www.arraysupport.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.398/0.455/0.512/0.057 ms Tue Sep 30 14:06:42 PDT 2008
PING www.arraysupport.com (10.7.6.42): 56 data bytes 64 bytes from 10.7.6.42: icmp_seq=0 ttl=62 time=0.440 ms 64 bytes from 10.7.6.42: icmp_seq=1 ttl=62 time=0.379 ms --- www.arraysupport.com ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.379/0.409/0.440/0.031 ms [ktan@o2:~]% |