cc/td/doc/product/webscale/css
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Configuring Firewall Load Balancing

Configuring Firewall Load Balancing

This chapter describes how to configure the Content Services Switch Firewall Load Balancing feature. Information in this chapter applies to all CSS models, except where noted.

This chapter includes the following sections:

Firewall Load Balancing Overview

Firewall load balancing enables you to configure a maximum of 15 firewalls per CSS. Configuring multiple firewalls can overcome performance limitations and remove the single point of failure when all traffic is forced through a single firewall. The firewall load balancing feature ensures that the CSS will forward all packets with the same source and destination IP addresses through the same firewall. The CSS accomplishes this task by performing an XOR on the source and destination IP address.

Because the CSS can exist on either side of a firewall, it can balance traffic over multiple firewalls simultaneously. Each firewall is active and available in the load balancing firewall algorithm. The CSS uses the source and destination IP addresses in the algorithm to calculate which firewall to use for each flow.

Firewall load balancing acts as a Layer 3 device. Each connection to the firewall is a separate IP subnet. All flows between a pair of IP addresses, in either direction, traverse the same firewall. Firewall load balancing performs routing functions; it does not apply content rules to firewall load balancing decisions.


Note   Firewalls cannot perform Network Address Translation (NAT). If your configuration requires NAT'ing, you must configure a content rule or source group on the CSS to provide this function.

To configure firewall load balancing, you must define the following parameters for each path through the firewalls on both local and remote CSSs:

Refer to the sections that follow for information on configuring firewall load balancing.

Firewall Synchronization

Firewall solutions providing Stateful Inspection, such as Check Point FireWall-1®, create and maintain virtual state for all connections through their devices, even for stateless protocols such as UDP and RPC. This state information, including details on Network Address Translation (NAT), is updated according to the data transferred. Different firewall modules running on different machines, such as those in a firewall load balancing environment, can then share this information by mutually updating each other on the different state information of their connections.

Firewall synchronization (as shown in Figure 9-1) provides a significant benefit whereby each firewall device is aware of all connections in a firewall load balanced environment, making recovery of a failed firewall immediate and transparent to its users.


Note   Customers should refer to their specific firewall documentation for details on configuring firewall synchronization. In the case of a FireWall-1 device, you can find detailed configuration information in the Check Point Software FireWall-1 Architecture and Administration guide, in the chapter Active Network Management.

Configuring Firewall Load Balancing

Use the ip firewall command to define firewall parameters. You must define these parameters for each path through the firewalls on both local and remote CSSs.

A CSS must exist on each side of the firewall to control which firewall is selected for each flow. Within the firewall configuration, you must configure both the local and remote CSSs with the same firewall index number.

To avoid dropping packets, the CSS directs all packets between a pair of IP addresses across the same firewall. This applies to packets flowing in either direction. If a failure occurs on one path, all traffic will use the remaining path or balance traffic on the remaining paths.


Note   You must define the firewall index before you define the firewall route or the CSS will return an error message. To configure the route, refer to the ip route command.

The syntax for this global configuration mode command is:

    ip firewall index local_firewall_address remote_firewall_address remote_switch_address
     
    

The variables are listed below. Enter all IP addresses in dotted-decimal notation
(for example, 192.168.11.1).

For example:

    (config)# ip firewall 1 192.168.27.1 192.168.28.1 192.168.28.3
     
    

To delete a firewall index, enter:

    (config)# no ip firewall 1
    

Caution When you delete a firewall index, all routes associated with that index are also deleted.

Configuring an IP Static Route for a Firewall

Use the ip route firewall command to configure a static route for firewalls. You can optionally set the administrative distance for the IP route.


Note   You must define the firewall index before you define the firewall static route or the CSS will return an error message. To configure the firewall index, refer to the ip firewall command.

The syntax for this command is:

    ip route ip_address subnet_mask firewall index distance
     
    

The variables are:

For example:

    (config)# ip route 192.168.2.0/24 firewall 1 2
     
    

To remove a firewall route, enter:

    (config)# no ip route 192.168.2.0/24 firewall 1
    

Configuring RIP Redistribute Firewall

Use the rip redistribute firewall command to advertise routes from other protocols through RIP.

You may also include an optional metric that the CSS uses when advertising this route. Enter a number from 1 to 15. The default is 1.

The syntax for this global configuration mode command is:

    (config)# rip redistribute firewal1 3
    

Note   By default, RIP advertises RIP routes and local routes for interfaces running RIP. This command advertises other routes.

To stop advertising rip redistribute firewall routes, enter:

    (config)# no rip redistribute firewall
    

Configuring OSPF for Dynamic Firewall Routes

The CSS has the capability to dynamically learn all firewall routes from other routers within the same autonomous system or between autonomous systems. You enable this functionality by configuring the OSPF link-state routing protocol on the CSS (and the other devices in the network).

To configure a dynamic route for a firewall:

    1. Enable the global OSPF parameters for the CSSs located at the server and client sides of the network (as described in Configuring OSPF), by including the following configuration commands:

CSS Configuration - Server Side
CSS Configuration - Client Side

    2. Configure the OSPF parameters for the CSS IP interfaces located at the server and client sides of the network (as described in Configuring OSPF), by including the following configuration commands:


Note   Depending on the type of server in use and server time-out duration, you may need to set the ospf dead and ospf hello commands to an interval smaller than the default settings (40 seconds and 10 seconds, respectively).

Firewall Load Balancing, Static Route Configuration Example

This section describes how to configure firewall load balancing for two firewalls between two CSSs. To configure a static route for firewall load balancing, you must define the following parameters for each path through the firewalls on both the local (client) and a remote (server) CSSs:

To configure CSS-A (the client side of the network configuration) as shown in
Figure 9-1:

    1. Use the ip firewall command to define firewall 1. For example:

    (config)# ip firewall 1 192.168.28.1 192.168.27.1 192.168.27.3
     
    

    2. Use the ip route command to define the static route for firewall 1. For example:

    (config)# ip route 192.168.2.0/24 firewall 1
     
    

    3. Use the ip firewall command to define firewall 2. For example:

    (config)# ip firewall 2 192.168.28.2 192.168.27.2 192.168.27.3
     
    

    4. Use the ip route command to define the static route for firewall 2. For example:

    (config)# ip route 192.168.2.0/24 firewall 2
     
    

To configure CSS-B (the server side of the network configuration) as shown in
Figure 9-1:

    1. Use the ip firewall command to define firewall 1. For example:

    (config)# ip firewall 1 192.168.27.1 192.168.28.1 192.168.28.3
     
    

    2. Use the ip route command to define the static route for firewall 1. For example:

    (config)# ip route 0.0.0.0/0 firewall 1
     
    

    3. Use the ip firewall command to define firewall 2. For example:

    (config)# ip firewall 2 192.168.27.2 192.168.28.2 192.168.28.3
     
    

    4. Use the ip route command to define the static route for firewall 2. For example:

    (config)# ip route 0.0.0.0/0 firewall 2
     
    

Figure 9-1 illustrates the configuration defined in the firewall commands.


Figure 9-1: Firewall Load Balancing Example


Firewall configurations are displayed in the IP portion of the running-config. For example:

    (config)# show running-config
     
    

Firewall Load Balancing, Dynamic Route Configuration Example

This section describes how to configure firewall load balancing for two firewalls between two CSSs. To configure a dynamic route for the firewall load balancing, define the following parameters for each path through the firewalls on both local (client) and a remote (server) CSSs:

To configure CSS-A (the client side of the network configuration) as shown in
Figure 9-1:

    1. Use the ospf router-id command to configure the OSPF router ID for the CSS. For example:

    (config)# ospf router-id 192.168.28.3
     
    

    2. Use the ospf enable command to enable OSPF on the CSS. For example:

    (config)# ospf enable
     
    

    3. Use the ospf default command to force the CSS to generate a default ASE route and advertise it through the OSPF protocol. For example:

    (config)# ospf default
     
    

    4. Use the ospf redistribute local command to advertise the local route through the OSPF protocol. For example:

    (config)# ospf redistribute local
     
    

    5. (Optional) If you want the CSS to advertise external routes, use the ospf as-boundary command to define it as an AS border router. For example:

    (config)# ospf as-boundary
     
    

    6. Access circuit configuration mode for the preconfigured circuit on which you want to create the IP interface. For example, for VLAN1 enter:

    (config)# circuit VLAN1
    (config-circuit[VLAN1])# 
     
    

    7. Use the ip address command to create the IP interface to the circuit. For example:

    (config-circuit[VLAN1])# ip address 192.168.28.3/24
    Create ip interface <192.168.28.3>, [y/n]:y
     
    

    8. Use the ospf command to configure the IP interface as an OSPF interface. For example:

    (config-circuit[VLAN1-192.168.28.3])# ospf
     
    

    9. Use the ospf enable command to enable OSPF on the CSS. For example:

    (config-circuit[VLAN1-192.168.28.3])# ospf enable
    

Note   Configuring the ospf dead and ospf hello commands in steps 12 and 13, respectively, is optional. However, depending on the type of server in use and server time-out duration, you may need to set the ospf dead and ospf hello commands to an interval smaller than the default settings (which are 40 seconds and 10 seconds, respectively).

    10. Use the ospf dead command to specify a dead router interval for the interface. For example:

    (config-circuit[VLAN1-192.168.28.3])# ospf dead 20
     
    

    11. Use the ospf hello command to specify how often the router interface periodically transmits hello packets. For example:

    (config-circuit[VLAN1-192.168.28.3])# ospf hello 5
    

To configure CSS-B (the server side of the network configuration) as shown in
Figure 9-1:

    1. Use the ospf router-id command to configure the OSPF router ID for the CSS. For example:

    (config)# ospf router-id 192.168.27.3
     
    

    2. Use the ospf enable command to enable OSPF on the CSS. For example:

    (config)# ospf enable
     
    

    3. Use the ospf redistribute local command to advertise the local route through the OSPF protocol. For example:

    (config)# ospf redistribute local
     
    

    4. (Optional) If you want the CSS to advertise external routes, use the ospf as-boundary command to define it as an AS border router. For example:

    (config)# ospf as-boundary
     
    

    5. Access circuit configuration mode for the preconfigured circuit on which you want to create the IP interface. For example, for VLAN1 enter:

    (config)# circuit VLAN1
    (config-circuit[VLAN1])# 
     
    

    6. Use the ip address command to create the IP interface to the circuit. For example:

    (config-circuit[VLAN1])# ip address 192.168.27.3/24
    Create ip interface <192.168.27.3>, [y/n]:y
     
    

    7. Use the ospf command to configure the IP interface as an OSPF interface. For example:

    (config-circuit[VLAN1-192.168.27.3])# ospf
     
    

    8. Use the ospf enable command to enable OSPF on the CSS. For example:

    (config-circuit[VLAN1-192.168.27.3])# ospf enable
    

Note   Configuring the ospf dead and ospf hello commands in steps 11 and 12, respectively, is optional. However, depending on the type of server in use and server time-out duration, you may need to set the ospf dead and ospf hello commands to an interval smaller than the default settings (which are 40 seconds and 10 seconds, respectively).

    9. Use the ospf dead command to specify a dead router interval for the interface. For example:

    (config-circuit[VLAN1-192.168.28.3])# ospf dead 20
     
    

    10. Use the ospf hello command to specify how often the router interface periodically transmits hello packets. For example:

    (config-circuit[VLAN1-192.168.28.3])# ospf hello 5
    

Showing Firewall Flow Summaries

Use the show flows command to display the flow summary for a source IP address, or for a specific source address and its destination IP address on a Switch Fabric Processor (SFP). You can display up to 200 flows per SFP. You can display up to 800 flows on a CSS 11800 containing four SFPs.

This information allows you to:

The syntax is:

    (config)# show flows source_address destination_address
     
    

The variables are:

For example:

    (config)# show flows 192.165.22.1 192.163.2.3
    

To display the flows for a specific source IP address, enter:

    (config)# show flows 192.165.22.1
     
    

To display the flows for specific source and destination IP addresses, enter:

    (config)# show flows 192.165.22.1 192.163.2.3
     
    

Showing Firewall IP Routes

Use the ip routes firewall command to display all static firewall routes. For example:

    (config)# show ip routes firewall
     
    

hometocprevnextglossaryfeedbacksearchhelp
Posted: Tue Dec 12 05:32:53 PST 2000
Copyright 1989-2000©Cisco Systems Inc.