Configuring Systems on the Local Network
Network software installation occurs along with the installation of the operating system software.
At that time, certain IP configuration parameters must be stored in appropriate files
so that they can be read at boot time.
The network configuration process involves creating or editing the network configuration files. How
configuration information is made available to a system's kernel is conditional. The availability
depends on whether these files are stored locally (local files mode) or acquired
from the network configuration server (network client mode).
The parameters that are supplied during network configuration follow:
The IP address of each network interface on every system.
The host names of each system on the network. You can type the host name in a local file or a name service database.
The NIS, LDAP, or DNS domain name in which the system resides, if applicable.
The default router addresses. You supply this information if you have a simple network topology with only one router attached to each network. You also supply this information if your routers do not run routing protocols such as the Router Discovery Server Protocol (RDISC) or the Router Information Protocol (RIP). For more information on default routers, refer to Packet Forwarding and Routing on IPv4 Networks See Table 5-1 for a list of routing protocols supported in the Solaris OS.
Subnet mask (required only for networks with subnets).
If the Solaris installation program detects more one interface on the system, you
can optionally configure the additional interfaces during installation. For complete instructions, see Solaris Express Installation Guide: Basic Installations.
This chapter contains information on creating and editing local configuration files. See System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)
for information on working with name service databases.
How to Configure a Host for Local Files Mode
Use this procedure for configuring TCP/IP on a host that runs in
local files mode.
- Assume the Primary Administrator role, or become superuser
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Change to the /etc directory.
- Verify that the correct host name is set in the /etc/nodename file.
When you specify the host name of a system during Solaris installation, that
host name is entered into the /etc/nodename file. Make sure that the node name
entry is the correct host name for the system.
- Verify that an /etc/hostname.interface file exists for each network interface on the
system.
For file syntax and basic information about the /etc/hostname.interface file, refer to
Basics for Administering Physical Interfaces.
The Solaris installation program requires you to configure at least one interface during
installation. The first interface that you configure automatically becomes the primary network interface. The installation
program creates an /etc/hostname.interface file for the primary network interface and any other
interfaces that you optionally configure at installation time.
If you configured additional interfaces during installation, verify that each interface has a
corresponding /etc/hostname.interface file. You do not need to configure more than one
interface during Solaris installation. However, if you later want to add more interfaces to
the system, you must manually configure them.
For steps for manually configuring interfaces, refer to How to Configure a Physical Interface After System Installation, for releases starting
with Solaris 10 1/06.
- Verify that the entries in the /etc/inet/hosts file are current.
The Solaris installation program creates entries for the primary network interface, loopback address,
and, if applicable, any additional interfaces that were configured during installation.
- Make sure that the existing entries in /etc/inet/hosts are current.
- (Optional) Add the IP addresses and corresponding names for any network interfaces that
were added to the local host after installation.
- (Optional) Add the 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. See /etc/defaultdomain File for more information.
- Type the router's name in the /etc/defaultrouter file.
See /etc/defaultrouter File for information about this file.
- Type the name of the default router and its IP addresses in the
/etc/inet/hosts file.
Additional routing options are available, as discussed in How to Configure Hosts for Network Client Mode. You can apply these
options to a local files mode configuration.
- Add the network mask for your network, if applicable:
If the host gets its IP address from a DHCP server, you do not have to specify the network mask.
If you have set up a NIS server on the same network as this client, you can add netmask information into the appropriate database on the server.
For all other conditions, do the following:
- Type the network number and the netmask in the /etc/inet/netmasks file.
Use the following format:
network-number netmask
For example, for the Class C network number 192.168.83, you would type:
192.168.83.0 255.255.255.0
For CIDR addresses, convert the network prefix into the equivalent dotted decimal representation.
Network prefixes and their dotted decimal equivalents can be found in Table 2-3. For
example, use the following to express the CIDR network prefix 192.168.3.0/22.
192.168.3.0 255.255.252.0
- Change the lookup order for netmasks in /etc/nsswitch.conf, so that local files are
searched first:
netmasks: files nis
- Reboot the system.
How to Set Up a Network Configuration Server
Information for setting up installation servers and boot servers is found in Solaris Express Installation Guide: Basic Installations.
- Assume the Primary Administrator role, or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- 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 command configures the system as a TFTP, bootparams, and RARP server.
- Create a symbolic link to the directory.
# ln -s /tftpboot/. /tftpboot/tftpboot
- Enable the tftp line in the /etc/inetd.conf file.
Check that the entry reads as follows:
tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot
This line prevents in.tftpd from retrieving any file other than the files that
are located in /tftpboot.
- Edit the hosts database.
Add the host names and IP addresses for every client on the
network.
- Edit the ethers database.
Create entries for every host on the network that runs in network
client mode.
- Edit the bootparams database.
See bootparams Database. Use the wildcard entry or create an entry for every host
that runs in network client mode.
- Convert the /etc/inetd.conf entry into a Service Management Facility (SMF) service manifest,
and enable the resulting service:
# /usr/sbin/inetconv
- Verify that in.tftpd is working correctly.
# svcs network/tftp/udp6
You should receive output resembling the following:
STATE STIME FMRI
online 18:22:21 svc:/network/tftp/udp6:default
More Information
Administering the in.tftpdDaemon
The in.tftpd daemon is managed by the Service Management Facility. Administrative actions
on in.tftpd, such as enabling, disabling, or restarting, can be performed using the
svcadm command. Responsibility for initiating and restarting this service is delegated to
inetd. Use the inetadm command to make configuration changes and to view configuration
information for in.tftpd. You can query the service's status
by using the svcs command. For an overview of the Service Management
Facility, refer to Chapter 14, Managing Services (Overview), in System Administration Guide: Basic Administration.
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 procedure on each host to be configured in network client
mode.
- Assume the Primary Administrator role, or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Search the /etc directory for the nodename file.
If such a file 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. See
Configuring Systems on the Local Network .
- Create the /etc/hostname.interface file, if it does not exist.
Ensure that the file is empty. An empty /etc/hostname.interface file causes the system
to acquire the IPv4 address from the network configuration server.
- Ensure that the /etc/inet/hosts file contains only the localhost name and IP address
of the loopback network interface.
# cat /etc/inet/hosts
# Internet host table
#
127.0.0.1 localhost
The IPv4 loopback interface has the IP address 127.0.0.1.
For more information, see Loopback Address. The file should not contain the IP
address and host name for the local host (primary network interface).
- Check for the existence of an /etc/defaultdomain file.
If such a file exists, delete it.
The hostconfig program automatically sets the domain name. To override the domain name
that is set by hostconfig, type the substitute domain name in the /etc/defaultdomain
file.
- Ensure that the search paths in the client's /etc/nsswitch.conf file reflect the
name service requirements for your network.
How to Change the IPv4 Address and Other Network Configuration Parameters
This procedure explains how to modify the IPv4 address, host name, and other
network parameters on a previously installed system. Use the procedure for modifying the
IP address of a server or networked standalone system. The procedure does not
apply to network clients or appliances. The steps create a configuration that persists
across reboots.
Note - The instructions apply specifically to changing the IPv4 address of the primary network
interface. To add another interface to the system, refer to How to Configure a Physical Interface After System Installation.
In almost all cases, the following steps use traditional IPv4 dotted decimal notation
to specify the IPv4 address and subnet mask. Alternatively, you can use CIDR
notation to specify the IPv4 address in all the applicable files in this
procedure. For an introduction to CIDR notation, see IPv4 Addresses in CIDR Format.
- Assume the Primary Administrator role, or become superuser.
The Primary Administrator role includes the Primary Administrator profile. To create the role
and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- If the system's host name must change, modify the host name entry in
the /etc/nodename file.
- Modify the IP address and, if applicable, the host name in the
/etc/inet/hosts file or equivalent hosts database.
- Modify the IP address in the /etc/hostname.interface file for the primary network
interface.
You can use any of the following as the entry for the primary
network interface in the /etc/hostnameinterface file:
IPv4 address, expressed in traditional dotted decimal format
Use the following syntax:
IPv4 address
(Optional) subnet mask
Here is an example:
# vi hostname.eri0
10.0.2.5
netmask + 255.0.0.0
The netmask entry is optional. If you do not specify it, the default netmask is assumed.
IPv4 address, expressed in CIDR notation, if appropriate for your network configuration.
IPv4 address/network prefix
Here is an example:
# vi hostname.eri0
10.0.2.5/8
The CIDR prefix designates the appropriate netmask for the IPv4 address. For example, the /8 above indicates the netmask 255.0.0.0.
Host name.
To use the system's host name in the /etc/hostname.interface file, be sure that the host name and associated IPv4 address are also in the hosts database.
- If the subnet mask has changed, modify the subnet entries in the following
files:
- If the subnet address has changed, change the IP address of the default
router in /etc/defaultrouter to that of the new subnet's default router.
- Reboot the system.
# reboot -- -r
Example 5-1 Modifying the IPv4 Address and Other Network Parameters to Persist Across Reboots
This example shows how to change the following network parameters of a system
that is moved to another subnet:
IP address for the primary network interface eri0 changes from 10.0.0.14 to 192.168.55.14.
Host name changes from myhost to mynewhostname.
Netmask changes from 255.0.0.0 to 255.255.255.0.
Default router address changes to 192.168.55.200.
Check the system's current status:
# hostname
myhost
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.0.0.14 netmask ff000000 broadcast 10.255.255.255
ether 8:0:20:c1:8b:c3
Next, change the system's host name and the IP address of eri0
in the appropriate files:
# vi /etc/nodename mynewhostname
# vi /etc/inet/hosts # # Internet host table # 127.0.0.1 localhost 192.168.55.14 mynewhostname loghost
# vi /etc/hostname.eri0 192.168.55.14 netmask + 255.255.255.0
Finally, change the netmask and the IP address of the default router.
# vi /etc/netmasks.
.
.
192.168.55.0 255.255.255.0
# vi /etc/defaultrouter
192.168.55.200 #moved system to 192.168.55 net
#
After making these changes, reboot the system.
# reboot -- -r
Verify that the configuration you just set is maintained after the reboot:
# hostname
mynewhostname
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.55.14 netmask ffffff00 broadcast 10.255.255.255
ether 8:0:20:c1:8b:c3
Example 5-2 Changing the IP Address and Host Name For the Current Session
This example shows how to change a host's name, IP address of
the primary network interface, and subnet mask for the current session only. If
you reboot, the system reverts to its previous IP address and subnet mask.
The IP address for the primary network interface eri0 changes from 10.0.0.14 to
192.168.34.100.
# ifconfig -alo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.0.0.14 netmask ff000000 broadcast 10.255.255.255
ether 8:0:20:c1:8b:c3
# ifconfig eri0 192.168.34.100 netmask 255.255.255.0 broadcast + up
# vi /etc/nodename
mynewhostname
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.34.100 netmask ffffff00 broadcast 10.255.255.255
ether 8:0:20:c1:8b:c3
# hostname
mynewhostname
Example 5-3 Changing the IPv4 Address for the Current Session, Using CIDR Notation
This example shows how to change a host name and IP address
for the current session only, using CIDR notation. If you reboot, the system
reverts to its previous IP address and subnet mask. The IP address for
the primary network interface, eri0, changes from 10.0.0.14 to 192.168.6.25/27.
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.0.0.14 netmask ff000000 broadcast 10.255.255.255
ether 8:0:20:c1:8b:c3
# ifconfig eri0 192.168.6.25/27 broadcast + up
# vi /etc/nodename
mynewhostname
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
eri0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.06.25 netmask ffffffe0 broadcast 10.255.255.255
ether 8:0:20:c1:8b:c3
# hostname
mynewhostname
When you use CIDR notation for the IPv4 address, you do not
have to specify the netmask. ifconfig uses the network prefix designation to determine the
netmask. For example, for the 192.168.6.0/27 network, ifconfig sets the netmask ffffffe0. If
you had used the more common /24 prefix designation, the resulting netmask is
ffffff00. Using the /24 prefix designation is the equivalent of specifying the netmask
255.255.255.0 to ifconfig when configuring a new IP address.
See Also
To change the IP address of an interface other than the primary
network interface, refer to System Administration Guide: Basic Administration and How to Configure a Physical Interface After System Installation.