Configuring TCP/IP on Solaris - Network Configuration Procedures
Return to Networking Basics Home Page.
Network software installation takes place along with the installation of the operating system software. At that time, certain IP configuration parameters must be stored in appropriate files so they can be read at boot time.
The procedure is simply a matter of creating or editing the network- configuration files. How configuration information is made available to a machine's kernel depends on whether these files are stored locally (local files mode) or acquired from the network configuration server (network client mode). Parameters supplied during network configuration are:
This section contains complete information on creating and editing local configuration files.
- IP address of each network interface on every machine
- Host names of each machine on the network. You can type the host name in a local file or a name service database.
- NIS, NIS+, or DNS domain name in which the machine resides, if applicable
- Default router addresses. You supply this only if you have a simple network topology with only one router attached to each network, or your routers don’t run routing protocols such as the Router Discovery Server Protocol (RDISC) or the Router Information Protocol (RIP). (See Chapter 5 for more information about these protocols.)
- Subnet mask (required only for networks with subnets)
How to Configure a Host for Local Files Mode
Use this procedure for configuring TCP/IP on a machine that run in local files mode.
- Become superuser and change to the /etc directory.
- Type the host name of the machine in the file /etc/nodename. For example, if the name of the host is tenere, type tenere in the file.
- Create a file named /etc/hostname.interface for each network interface. (The Solaris installation program automatically creates this file for the primary network interface.)
- Type either the interface IP address or the interface name in each /etc/hostname.interface file. For example, create a file named hostname.ie1, and type either the IP address of the host's interface or the host's name.
- Edit the /etc/inet/hosts file to add:
- IP addresses that you have assigned to any additional network interfaces in the local machine, along with the corresponding host name for each interface. The Solaris installation program will already have created entries for the primary network interface and loopback address.
- IP address or addresses of the file server, if the /usr file system is NFS mounted.
- Type the host's fully qualified domain name in the /etc/defaultdomain file. For example, suppose host tenere was part of the domain deserts.worldwide.com. Therefore, you would type: deserts.worldwide.com in /etc/defaultdomain.
- Type the router's name in /etc/defaultrouter.
- Type the name of the default router and its IP addresses in /etc/inet/hosts. Additional routing options are available. You can apply these options to a local files mode configuration.
- If your network is subnetted, type the network number and the netmask in the file /etc/inet/netmasks. If you have set up a NIS or NIS+ server, you can type netmask information in the appropriate database on the server as long as server and clients are on the same network.
- Reboot each machine on the network.
Setting Up a Network Configuration Server
If you plan to configure certain hosts as network clients, you must configure at least one machine on your network as a network configuration server. (Refer to “Network Configuration Servers” on page 45 for an introduction.) Setting up a network configuration server involves:
- Turning on the network configuration daemons:
- Editing and maintaining the network configuration files on the configuration server.
How to Set Up a Network Configuration Server
- Become superuser and change to the root directory of the prospective network configuration server.
- Turn on the in.tftpd daemon by creating the directory /tftpboot:
# mkdir /tftpboot
This configures the machine as a TFTP, bootparams, and RARP server.
- Create a symbolic link to the directory.
# ln -s /tftpboot/. /tftpboot/tftpboot
- Enable the tftp line in intetd.conf. Check that the /etc/inetd.conf entry reads:
tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot
This prevents inettftpd() from retrieving any file other than one located in /tftpboot.
- Edit the hosts database, and add the host names and IP addresses for every client on the network.
- Edit the ethers database, and create entries for every host on the network to run in network client mode.
- Edit the bootparams database. Use the wildcard entry or create an entry for every host that run in network client mode.
- Reboot the server.
Configuring Network Clients
Network clients receive their configuration information from network configuration servers. Therefore, before you configure a host as a network client you must ensure that at least one network configuration server is set up for the network.
How to Configure Hosts for Network Client Mode
Do the following on each host to be configured in network client mode:
- Become superuser.
- Check the directory for the existence of an /etc/nodename file. If one exists, delete it.
Eliminating /etc/nodename causes the system to use the hostconfig program to obtain the host name, domain name, and router addresses from the network configuration server.
- Create the file /etc/hostname.interface, if it does not exist. Make sure that the file is empty. An empty /etc/hostname.interface file causes the system to acquire the IP address from the network configuration server.
- Ensure that the /etc/inet/hosts file contains only the host name and IP address of the loopback network interface. The file should not contain the IP address and host name for the local machine (primary network interface). EXCEPTION: For a diskless client (a machine with an NFS-mounted root file system), type the name and IP address of the server that provides the client's root file system (usually, but not always, the network configuration server).
- Check for the existence of an /etc/defaultdomain file. If one exists, delete it.
The hostconfig program sets the domain name automatically. If you want to override the domain name set by hostconfig, type the substitute domain name in the file /etc/defaultdomain.
- Ensure that the search paths in the client's /etc/nsswitch.conf reflects the name service requirements for your network.
How to Specify a Router for the Network Client
- If you have only one router on the network and you want the network configuration server to specify its name automatically, ensure that the network client does not have a /etc/defaultrouter file.
- To override the name of the default router provided by the network configuration server:
- Create /etc/defaultrouter on the network client.
- Type the host name and IP address of the machine you have designated as the default router.
- Add the host name and IP address of the designated default router to the network client's /etc/inet/hosts.
- If you have multiple routers on the network, create /etc/defaultrouter on the network client, but leave it empty.
Creating /etc/defaultrouter and leaving it empty causes one of the two dynamic routing protocols to run: ICMP Router Discovery protocol (RDISC), or Routing Information Protocol (RIP). The system first runs the program in.rdisc, which looks for routers that are running the router discovery protocol. If it finds one such router, in.rdisc continues to run and keeps track of the routers that are running the RDISC protocol.
If the system discovers that routers are not responding to the RDISC protocol, it uses RIP and runs the daemon in.routed to keep track of them.
After Installing a Network Client
After you have finished editing the files on each network client machine, do the following on the network configuration server.
- Add entries for the hosts in the ethers and hosts databases.
- Add entries for the hosts to the bootparams database. To simplify matters, you can type a wild card in the bootparams database in place of individual entries for each host.
- Reboot the server.