Configuring Routers
TCP/IP's first requirement for a router is that the machine must have at least two network interfaces installed. If one of the network interfaces is not disabled, the router automatically "talks" to the RDISC and RIP protocols. These protocols monitor routers on the network and advertise the router to the hosts on the network.
After the router is physically installed on the network, configure the router to operate in local files mode, as described in "How to Configure a Host for Local Files Mode". This configuration ensures that routers boot if the network configuration server is down. Remember that, unlike a host, a router has a minimum of two interfaces to configure.
Configuring Routers Task Map
Table 4-4 Configuring Routers Task Map
Task | Description | For Instructions, Go To ... |
---|---|---|
Configure a machine as a router | Involves creating hostname and hosts file and adding addresses | |
Select static routing on a host that is a network client | Involves adding an entry into the defaultrouter file | "How to Select Static Routing on a Host That Is a Network Client" |
Select dynamic routing on a host that is a network client | Involves editing entries in the defaultrouter file | "How to Select Dynamic Routing on a Host That Is a Network Client" |
Force a machine to be a router | Involves creating a gateways file |
Configuring Both Router Network Interfaces
Because a router provides the interface between two or more networks, you must assign a unique name and IP address to each of the router's network interface cards. Thus, each router has a host name and an IP address that are associated with its primary network interface, plus a minimum of one more unique name and an IP address for each additional network interface.
How to Configure a Machine as a Router
Become superuser on the machine to be configured as a router.
Create an /etc/hostname.interface file for each network interface that is installed.
For example, create hostname.ie0 and hostname.ie1. See "/etc/hostname.interfaceFile" for more information. If you are using IPv6, see "IPv6 Network Interface Configuration File".
In each file, type the host name you have selected for that interface.
For example, you could type the name timbuktu in the file hostname.ie0, then type the name timbuktu-201 in the file hostname.ie1. Both interfaces would be located on the same machine.
Type the host name and IP address of each interface into /etc/inet/hosts.
For example:
192.9.200.20 timbuktu #interface for network 192.9.200 192.9.201.20 timbuktu-201 #interface for network 192.9.201 192.9.200.9 gobi 192.9.200.10 mojave 192.9.200.110 saltlake 192.9.200.12 chilean
The interfaces timbuktu and timbuktu-201 are on the same machine. Notice that the network address for timbuktu-201 is different from that of timbuktu. The difference exists because the medium for network 192.9.201 is connected to the timbuktu-201 network interface while the media for network 192.9.200 is connected to the timbuktu interface. If you are using IPv6, see "/etc/inet/ipnodes File".
If the router is connected to any subnetted network, edit /etc/inet/netmasks and type the local network number (129.9.0.0, for example) and associated netmask number (255.255.255.0, for example).
The startup script determines whether to start up a routing protocol (RIP or RDISC) on the machine or use static routing.
How to Select Static Routing on a Host That Is a Network Client
Become superuser on the host.
Add an entry for a router on the network into the /etc/defaultrouter file.
See "/etc/defaultrouter File". A single static default route is then installed in the routing table. Under this condition, the host does not run any dynamic routing protocol (such as RIP and RDISC).
How to Select Dynamic Routing on a Host That Is a Network Client
Become superuser on the host.
Ensure that the /etc/defaultrouter file is empty.
If this file is empty, a network client is forced to select a dynamic routing protocol.
The type of dynamic routing used is selected by using the following criteria:
If the /usr/sbin/in.rdisc program exists, the startup script starts in.rdisc. Any router on the network that is running RDISC then responds to any RDISC queries from the host. If at least one router responds, the host selects RDISC as its routing protocol.
If the network router is not running RDISC or fails to respond to the RDISC queries, then in.rdisc on the host exits. The host then starts in.routed, which runs RIP.
How to Force a Machine to Be a Router
You can force a machine that has only one /etc/hostname.interface file (by default a host) to be a router.
Become superuser on the machine.
Create a file that is named /etc/gateways and leave this file empty.
This procedure is important if you decide to configure PPP links, as explained in System Administration Guide: Resource Management and Network Services.
Creating a Multihomed Host
By default, TCP/IP considers any machine with multiple network interfaces to be a router. However, you can change a router into a multihomed host--a machine with more than one network interface that does not run routing protocols or forward IP packets. You typically configure the following types of machines as multihomed hosts:
NFS servers, particularly large data centers, can be attached to more than one network in order to share files among a large pool of users. These servers do not need to maintain routing tables.
Database servers can have multiple network interfaces for the same reason as NFS servers--to provide resources to a large pool of users.
Firewall gateways are machines that provide the connection between a company's network and public networks such as the Internet. Administrators set up firewalls as a security measure. When configured as a firewall, the host does not pass packets between the networks that are attached to the host. However, the host can still provide standard TCP/IP services, such as ftp or rlogin, to authorized users.
Because TCP/IP considers any machine with multiple network interfaces to be a router, you need to perform a few operations to turn the machine into a multihomed host.
How to Create a Multihomed Host
Become superuser on the prospective multihomed host.
Create an /etc/hostname.interface file for each additional network interface that is installed in the machine.
Type the following:
% touch /etc/notrouter
This command creates an empty file that is called /etc/notrouter.
Reboot the machine.
When the machine reboots, the startup script checks for the presence of the /etc/notrouter file. If the file exists, the startup script does not run in.routed -s or in.rdisc -r. The file also does not turn on IP forwarding on all interfaces that are configured "up" by ifconfig. This process happens regardless of whether an /etc/gateways file exists. Thus the machine is now a multihomed host.