|
Routers - Configuring Routers
Return to Networking Basics Home Page.
Introduction
TCP/IP's first requirement for a router is that the machine must have at least two network interfaces installed. As long as one of the network interfaces is not disabled, the router automatically "talks" to the RDISC and RIP protocols. These protocols keep track of routers on the network and advertise the router to the hosts on the network.After the router is physically installed on the network, configure it to operate in local files mode, as described in "How to Configure a Host for Local Files Mode". This ensures that routers will boot in case the network configuration server is down. Remember that,unlike a host, a router has at least two interfaces to configure.
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 IP address associated with its primary network interface, plus at least one more unique name and 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 and do the following:
- Create an /etc/hostname.interface file or each network interface installed. For example, create hostname.ie0 and hostname.ie1.
- Type in each file the host name you have selected for that interface. For example, you could type the name alexprod in the file hostname.ie0, then type the name alexprod-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.168.100.20 alexprod #interface for network 192.168.100 192.168.200.1 alexprod-200 #interface for network 192.168.200 192.168.200.5 gobi 192.168.200.10 mojave 192.168.200.110 saltlake 192.168.200.12 chileanThe interfaces alexprod and alexprod-200 are on the same machine. Notice that the network address for alexprod-200 is different from that of alexprod. That is because the medium for network 192.168.100 is connected to the alexprod-200 network interface while the media for network 192.168.200 is connected to the alexprod interface.
How a Machine Determines if it is a Router
The /etc/rc2.d/S69inet startup script, which runs when the machine boots, determines whether a machine is a router or a host. This decision also determines whether the routing protocols (RIP and RDISC) should run in router mode or host mode.
Automatic Routing Protocol Selection
The startup script then must determine whether to start up a routing protocol (RIP or RDISC) on the machine or use static routing.
To Select Static Routing on a HostIf the host is a diskless client or network client, add an entry for a router on the network into /etc/defaultrouter. 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).
To Select Dynamic Routing on a HostTo force a diskless client or network client to select a dynamic routing protocol, its /etc/defaultrouter file should be empty. The type of dynamic routing used is selected according to 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.
Forcing 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. To do so, create a file named /etc/gateways and leave it empty.
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 don't 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 will not pass packets between the networks attached to it. On the other hand, it can still provide standard TCP/IP services, such as ftp or rlogin, to authorized users.
Since TCP/IP considers any machine with multiple network interfaces to be a router, you need to perform a few operations to turn it into a multihomed host.
How to Create a Multihomed Host
Become superuser on the prospective multihomed host and do the following:
- Create an /etc/hostname.interface file for each additional network interface installed in the machine.
- Type:
% touch /etc/notrouterThis creates an empty file called /etc/notrouter.
- Reboot the machine. When the machine reboots, the startup script looks 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, and does not turn on IP forwarding on all interfaces configured "up" by ifconfig. This happens regardless of whether an /etc/gateways file exists. Thus the machine is now a multihomed host.
Turning On Space-Saving Mode
Space-saving mode provides the host with a table that contains only the default routes. On a host, in.routed runs with space saving mode turned off by default.If you do not want the host to have a full routing table (which provides increased protection against misconfigured routers), turn space saving mode on. To do so, edit the /etc/rc2.d/S69inet startup script by changing the line:
/usr/sbin/in.routed -qto/usr/sbin/in.routed -q -S
Turning Off ICMP Router Discovery on the Host
For reasons involving router reliability, you might not want your hosts to use RDISC. To turn RDISC off, change the name of the host's /usr/sbin/in.rdisc to some other name, such as /usr/sbin/in.rdisc.saved, and then reboot the host.
Turning Off ICMP Router Discovery on the Router
If the automatic selection of RIP rather than RDISC by a host is to work reliably, the routers in the network (particularly those running RDISC) must also work reliably.If your routers are not running RDISC and you install a single Solaris router, by default all hosts connected to that router rely on it alone. To have the hosts on that network use the other routers as well, turn off RDISC on the new router. To do this, change the name of the router's /usr/bin/in.rdisc file to some other file name and reboot the router.