This chapter contains details about additional setup options you may want to configure for the Link Controller. The options described in this chapter include:
Once you complete the Setup utility, you may want to insert additional host names and IP addresses for network devices into the /etc/hosts file to allow for more user-friendly system administration. In particular, you may want to create host names for the IP addresses that you will assign to virtual servers. You may also want to define host names for standard devices such as your routers, network interface cards, and the servers or other equipment that you are load balancing.
The /etc/hosts file, as created by the Setup utility, is similar to the example shown in Figure 7.1 .
# BIG-IP(R) Hosts Table Generated by Setup utility on Thu May 16 11:03:03 PDT 2002
# localhost entry
# default gateway entry
# Local name
# Peer name (state mirror)
# VIPS and NODES ( add below - do not delete this line )
This sample hosts file lists the IP addresses for the default router, the internal VLAN, and the external VLAN, and it contains placeholders for both the virtual servers and the content servers that the Link Controller will manage.
Warning: If you have modified the /etc/hosts file with something other than the Setup utility, such as vi or pico, be aware that your changes may be lost when you run the Setup utility (config). The Setup utility overwrites the /etc/hosts file and openssl.conf, but it does not warn you before doing so.
With the MindTerm SSH Console, you can open an SSH session for the Link Controller from the Configuration utility. Use the MindTerm SSH client to enable secure command line administration. You can perform any of the command line tasks in a popup console screen.
Warning: The MindTerm SSH client requires a Java virtual machine to operate. If you are unable to run the MindTerm SSH client, make sure that you have a Java virtual machine installed and that your browser has Java enabled in the Preferences, or Options, section. For more information on Java virtual machines and download options, visit your web browser manufacturer's web site.
Note: When you use the MindTerm SSH Console, you can only administer the local Link Controller. If you wish to administer remote systems, you do so using an SSH or Telnet session from the command line. For information about installing an SSH client on the administrative workstation, see the following section.
From Link Controller units that support encrypted communications, you can download the SSH client to your administrative workstation in preparation for remote command line access. In addition to running Link Controller command line utilities, you can also use the SSH suite for file transfer to and from the Link Controller, as well as for remote backups.
The SSH client is available for both Windows and UNIX platforms, and you can download your preferred client either from the web server or using an FTP connection. You can find detailed information about the SSH client in the documentation provided on the web server or on the Documentation and Software CD-ROM.
Connect to the Link Controller using https:// rather than http:// in the URL. In the Additional Software Downloads section, click the SSH Clients link. From the SSH Clients page, you can choose the SSH Client appropriate to your operating system.
The SSH client installation file for Windows platforms is compressed in ZIP format. You can use standard ZIP tools, such as PKZip or WinZip to extract the file.
The installation file for UNIX platforms is compressed in tar/gzip format.
ssh -l root [Link Controller IP address]
You must address several network issues when you place a Link Controller in your network. These networking issues include routing, DNS configuration, and special e-mail considerations. You need to address these issues based on the type of hardware and software in your network. This section describes the following networking issues:
The Link Controller must communicate properly with network routers, as well as with the servers, firewalls, and other routers that it manages. Because there are a variety of router configurations, and varying levels of direct control an administrator has over each router, you need to carefully review the router configurations in your own network. You may need to change some routing configurations before you put the Link Controller into production.
The Link Controller supports static route configurations, dynamic routing (by way of BGP4, RIP1, RIP2, and OSPF), and subnetting. However, the Link Controller is also designed to eliminate the need for you to modify routing tables on a router that routes to a Link Controller. Instead, the Link Controller uses Address Resolution Protocol (ARP) to notify routers of the IP addresses that it uses on each interface, as well as on its virtual servers.
The following sections address these common routing issues:
The Link Controller needs a route to the external network. For most configurations, this should be configured as the default gateway pool on the Link Controller.
During installation, you were prompted to configure a default route for the Link Controller. If you need to change the default route at this time, you can set a new default route by editing the default gateway pool.
The content servers being load balanced by the Link Controller need to have a default route set to the internal shared floating IP alias of the Link Controller. For most configurations, this should be configured as the default route on the content server.
For information about setting the default route for your content servers, refer to the product documentation for your server.
If you need to configure the Link Controller to use one or more nodes that actually sit on a different logical network from the Link Controller, you need to assign one or more additional routes to get to those nodes. Set each node's default route so that traffic goes back through the Link Controller internal interface.
In the following examples, the nodes are on 192.168.6.0/24 and the Link Controller internal interface is on 192.168.5.0/24. There are two possible situations which you may have to address:
If the nodes are on the same LAN as the Link Controller, you simply need to add an interface route for 192.168.6.0/24 to an interface on the internal network. You can add this route to the bottom of the /etc/rc.local file using the following syntax, where <ip addr> is the IP address on the internal interface:
route add -net 192.168.6 -interface <ip addr>
If you have nodes on different LANs from the Link Controller, you need to add a static gateway route on the Link Controller itself. If, for example, the router that connects the 192.168.5 network and the 192.168.6 network has IP addresses 192.168.5.254 and 192.168.6.254, then you could use the following command to create the necessary static route on the Link Controller:
route add -net 192.168.6.0 -gateway 192.168.5.254
You should add this command to the end of the file /etc/netstart so that it runs each time the Link Controller boots.
You may also need to set the default route on the nodes to point to the router between the LANs. For example:
route add default -gateway 192.168.6.254
Finally, you need to set the default route on the router between the LANs to the shared alias on the Link Controller. For example, type the command:
route add default -gateway 192.168.5.200
It is not necessary to set the default route for nodes directly to the Link Controller, as long as the default path eventually routes through the Link Controller.
The GateD daemon allows the Link Controller to exchange dynamic routing updates with your routers. Setting up the GateD daemon is a three-part task:
GateD relies on a configuration file, typically named /config/gated.conf, which can be relatively simple, or can be very complex, depending on the routing needs of your network. The Link Controller web server includes the GateD online documentation (in the Configuration utility home screen, under the Online Documentation section, click GateD). Note that the GateD configuration guide details the process of creating the GateD configuration file, and also provides samples of common protocol configurations.
Once you create the GateD configuration file, you need to start the GateD daemon on the command line using the following command:
You can create the file /config/routes on the Link Controller for configuring static route information. The information you add to /config/routes is synchronized between units in a Link Controller redundant pair. When you upgrade, the route information is saved and reinstalled when the upgrade is complete.
You can add routes to /config/routes using the format in Figure 7.2 .
route add -net 10.1.10.0 -netmask 255.255.255.0 -gateway 10.1.30.254
route add -net 10.1.20.0 -netmask 255.255.255.0 -gateway 10.1.30.254
If you plan to use DNS in your network, you can configure DNS on the Link Controller. There are three different DNS issues that you may need to address when setting up the Link Controller:
When entering virtual addresses, node addresses, or any other addresses on the Link Controller, you can use the address, host name, or fully qualified domain name (FQDN).
The Link Controller looks up host names and FQDNs in the /etc/hosts file. If it does not find an entry in that file, then it uses DNS to look up the address. In order for this to work, you need to create an /etc/resolv.conf file. The file should have the following format:
search <DOMAIN_NAME_1> <DOMAIN_NAME_2>
In place of the <DNS_SERVER_1> parameter, use the IP address of a properly configured name server that has access to the Internet. You can specify additional name servers as backups by inserting an additional nameserver line for each backup name server.
If you configure the Link Controller itself as a DNS proxy server, then we suggest that you choose its loopback address (127.0.0.1) as the first name server in the /etc/resolv.conf file.
Replace the <DOMAIN_NAME_1> and <DOMAIN_NAME_2> parameters with a list of domain names to use as defaults. The DNS uses this list to resolve hosts when the connection uses only a host name, and not an FQDN. When you enter domain names in this file, separate each domain name with a space, as shown in Figure 7.3 .
; example /etc/resolv.conf
nameserver 127.16.112.2 ;ip address of main DNS server
search mysite.com store.mysite.com
You can also configure the order in which name resolution checks are made by configuring the /etc/irs.conf file. You should set this file so that it checks the /etc/hosts file first, and then checks for DNS entries. See Figure 7.4 , for an example of how to make the entry in the /etc/irs.conf file.
hosts local continue
The Link Controller is automatically configured as a DNS proxy or forwarder. This is useful for providing DNS resolution for servers and other equipment load balanced by the Link Controller. This can be set in the Setup utility.
To re-configure DNS proxy, you simply edit the /etc/named.boot file that contains these two lines:
In place of the <DNS_SERVERS> parameter, use the IP addresses of one or more properly configured name servers that have access to the Internet.
You can also configure the Link Controller to be an authoritative name server for one or more domains. This is useful when DNS is needed in conjunction with internal domain names and network addresses for the servers and other equipment behind the Link Controller. Refer to the BIND documentation for more details.
If your network is currently configured to use rotary DNS, your node configuration may not need modification. However, you need to modify your DNS zone tables to map to a single IP address instead of to multiple IP addresses.
For example, if you had two Web sites with domain names of www.SiteOne.com and www.SiteTwo.com, and used rotary DNS to cycle between two servers for each Web site, your zone table might look like the one in Figure 7.5 .
www.SiteOne.com IN A 192.168.1.1
IN A 192.168.1.2
www.SiteTwo.com IN A 192.168.1.3
IN A 192.168.1.4
In the Link Controller configuration, the IP address of each individual node used in the original zone table becomes hidden from the Internet. We recommend that you use the Internet reserved address range as specified by RFC 1918 for your nodes. In place of multiple addresses, simply use a single virtual server associated with your site's domain name.
Using the above example, the DNS zone table might look like the zone table shown in Figure 7.6 .
www.SiteOne.com IN A 192.168.100.231
www.SiteTwo.com IN A 192.168.100.232
Another optional feature you can set up when you configure the Link Controller is email. You can configure the Link Controller to send email notifications to you, or to other administrators. The Link Controller uses Sendmail as its mail transfer agent. The Link Controller includes a sample Sendmail configuration file that you can use to start with, but you will have to customize the Sendmail setup for your network environment before you can use it.
Before you begin setting up Sendmail, you may need to look up the name of the mail exchanger for your domain. If you already know the name of the mail exchanger, continue with the following section, Setting up Sendmail .
When you actually set up Sendmail, you need to open and edit a couple of configuration files. Note that the Link Controller does not accept email messages, and that you can use the crontab utility to purge unsent or returned messages, and that you can send those messages to yourself or another administrator.
0,15,30,45 * * * * root /usr/sbin/sendmail -q > /dev/null 2>&1
/usr/sbin/sendmail -bd -q30m
There are a couple of different ways to add a serial terminal to the Link Controller. You can add a serial terminal in addition to the console, or you can add a serial terminal as the console. The difference between the two is:
Connect a serial line cable between the terminal device and the Link Controller. On the back of Link Controller is a male, 9-Pin RS232C connector labeled Terminal. (Be sure not to confuse this with the fail-over connection which is also a male, 9-pin connector.)
The connector is wired as a DTE device, and uses the signals described in Table 7.1 .
|4||Internal||Data terminal ready|
|7||Internal||Request to send|
|8||External||Clear to send|
The connector is wired for direct connection to a modem, with receipt of a Carrier Detect signal generating transmission of a login prompt by the Link Controller. If you are planning to connect to a terminal or to connect a PC and utilize a terminal emulation program such as HyperTerminalTM, you need a null modem cable with the wiring to generate the signals shown in Table 7.1 .
You can configure a serial terminal for the Link Controller in addition to the standard console.
# PC COM ports (tty00 is DOS COM1)
tty00 "/usr/libexec/getty default" vt100 in secure
You can configure the serial terminal as the console.
In the case where you have not yet connected the serial terminal or it is not active when the Link Controller is booted, as it might be if you are using a terminal server or dial-up modem, you can force the controller to use the serial terminal as a console. Note that you do not need to disconnect the keyboard if you use this procedure to force the serial line to be the console.
Warning: Once you configure a serial terminal as the console for the Link Controller, the following conditions apply:
Keyboard/monitor access is disabled, and logging in is only possible through Secure Telnet (SSH), if configured, or the serial line.
If the boot.default file is corrupted, the system does not boot at all. Save a backup copy of the original file and keep a bootable CD-ROM on hand.
The boot.default file must contain either the line: -console com or the line: -console auto. Do not configure both settings. This could cause problems when you attempt to boot the system.
You can configure the Link Controller to use a RADIUS or LDAP server on your network to authenticate users attempting to access the controller with SSH. In this configuration, the RADIUS or LDAP server can function as a central repository of users that are allowed access to the Link Controller for administrative purposes.
Follow these steps to enable RADIUS authentication on Link Controller.
# this is the /etc/raddb/server file
# format is <radius server> <secret>
:path=/bin /usr/bin /usr/contrib/bin:\
To configure the Link Controller for LDAP authentication, you need to modify the /etc/login.conf file. You can configure LDAP authentication on the Link Controller with LDAP servers that store passwords in encrypted or hashed format, or you can configure the Link Controller to handle LDAP servers that use plain text passwords.
In some LDAP servers, passwords are stored encrypted with DES, or stored as MD5 hashes. On these systems, it is best to bind to the server directly in order to let the LDAP server match the passwords. The login_ldap utility can be configured to bind directly to the server with the following settings in the /etc/login.conf file.
:path=/bin /usr/bin /usr/contrib/bin:\
Other LDAP servers store user passwords in plain text. Because of this, these servers require the root LDAP user to log in to see these users. Use these instructions to configure Link Controller to authenticate to the server with the root user identity before each user authentication.
:path=/bin /usr/bin /usr/contrib/bin:\
# this is the /etc/ldapdb/server file
# format is <ldap server> <secret>
We recommend that you allow multiple authentication styles. This allows you to log in even if the LDAP or RADIUS server is not working properly. You can specify multiple authentication styles in the auth field such as radius,passwd. With the example radius,passwd, RADIUS is the default authentication style, but you still have the ability to override the style and force a login using the password file by appending :passwd after the login name. This is useful because you need to be able to log in even if the authentication server is down (or if its name gets changed and the /etc/login.conf file needs to be updated).
# login root:passwd
# ssh bigip -l "root:passwd"
Only the styles that you specify are accepted. For example, root:ldap would fail, since that style was not specified.
You can configure the Link Controller authentication system to require different authentication styles for different applications. The following example (see Figure 7.7 ) would use password authentication by default (at the console), but would require RADIUS for FTP and LDAP for SSH, and would accept RADIUS, LDAP, or network password logins (such as Telnet).
:path=/bin /usr/bin /usr/contrib/bin:\