After Oracle Solaris installation, you might configure or administer interfaces on a system for the following purposes:
To upgrade the system to become a multihomed host. For more information, refer to Configuring Multihomed Hosts.
To change a host to a router. For instructions on configuring routers, refer to Configuring an IPv4 Router.
To configure interfaces as part of a VLAN. For more information, refer to Administering Virtual Local Area Networks.
To configure interfaces as members of an aggregation. For more information, refer to Overview of Link Aggregations.
To add an interface to an IPMP group. For instructions on configuring an IPMP group, refer to Configuring IPMP Groups
This section contains information about configuring individual network interfaces , starting with the Solaris 10 1/06 release. Refer to the following sections for information about configuring interfaces into one of the following groupings:
For configuring interfaces into a VLAN, refer to Administering Virtual Local Area Networks.
For configuring interfaces into an aggregation, refer to Overview of Link Aggregations.
For configuring interfaces as members of IPMP groups, refer to Configuring IPMP Groups.
Starting with Solaris 10 1/06, this procedure explains how to determine which interfaces are currently available on a system and their status. This procedure also shows which interfaces are currently plumbed. If you are using the earlier Solaris 10 3/05, refer to How to Get Information About a Specific Interface.
On the system with the interfaces to be configured, 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.
Determine which interfaces are currently installed on your system.
# dladm show-link |
This step uses the dladm command, which is explained in detail in the dladm(1M) man page. This command reports on all the interface drivers that it finds, regardless of whether the interfaces are currently configured.
Determine which interfaces on the system are currently plumbed.
# ifconfig -a |
The ifconfig command has many additional functions, including plumbing an interface. For more information, refer to the ifconfig(1M) man page.
The next example shows the status display of the dladm command.
# dladm show-link ce0 type: legacy mtu: 1500 device: ce0 ce1 type: legacy mtu: 1500 device: ce1 bge0 type: non-vlan mtu: 1500 device: bge0 bge1 type: non-vlan mtu: 1500 device: bge1 bge2 type: non-vlan mtu: 1500 device: bge2 |
The output of dladm show-link indicates that four interface drivers are available for the local host. Both the ce and the bge interfaces can be configured for VLANs. However, only the GLDV3 interfaces with a type of non-VLAN can be used for link aggregations.
The next example shows the status display of the ifconfig -a command.
# ifconfig -a lo0: flags=2001000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 ce0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4>mtu 1500 index 3 inet 192.168.84.253 netmask ffffff00 broadcast 192.168.84.255 ether 0:3:ba:7:84:5e bge0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4>mtu 1500 index 2 inet 10.8.57.39 netmask ffffff00 broadcast 10.8.57.255 ether 0:3:ba:29:fc:cc |
The output of the ifconfig -a command displays statistics for only two interfaces, ce0 and bge0. This output shows that only ce0 and bge0 have been plumbed and are ready for use by network traffic. These interfaces can be used in a VLAN. Because bge0 has been plumbed, you can no longer use this interface in an aggregation.
Use the next procedure for configuring interfaces. If you are using the Solaris 10 3/05 release, use the procedure How to Add a Physical Interface After Installation in Solaris 10 3/05 ONLY.
Determine the IPv4 addresses that you want to use for the additional interfaces.
Ensure that the physical interface to be configured has been physically installed onto the system. For information about installing separately purchased NIC hardware, refer to the manufacturer's instructions that accompany the NIC.
If you have just installed the interface, perform a reconfiguration boot before proceeding with the next task.
On the system with the interfaces to be configured, 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.
Determine which interfaces are currently installed on the system.
# dladm show-link |
Configure and plumb each interface.
# ifconfig interface plumb up |
For example, for qfe0 you would type:
# ifconfig qfe0 plumb up |
Interfaces that are explicitly configured with the ifconfig command do not persist across a reboot.
Assign an IPv4 address and netmask to the interface.
# ifconfig interface IPv4-address netmask+netmask |
For example, for qfe0 you would type:
# ifconfig qfe0 192.168.84.3 netmask + 255.255.255.0 |
You can specify an IPv4 address in either traditional IPv4 notation or CIDR notation.
Verify that the newly configured interfaces are plumbed and configured, or “UP.”
# ifconfig -a |
Check the status line for each interface that is displayed. Ensure that the output contains an UP flag on the status line, for example:
qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 |
(Optional) To make the interface configuration persist across reboots, perform the following steps:
Create an /etc/hostname.interface file for each interface to be configured.
For example, to add a qfe0 interface, you would create the following file:
# vi /etc/hostname.qfe0 |
If you create alternate hostname files for the same interface, the alternate files must also follow the naming format hostname.[0–9]*, such as hostname.qfe0.a123. Names such as hostname.qfe0.bak or hostname.qfe0.old are invalid and will be ignored by scripts during system boot.
Note, too, that a given interface must have only one corresponding hostname file. If you create an alternate hostname file for an interface with a valid filename, such as /etc/hostname.qfe and /etc/hostname.qfe.a123, the boot scripts will attempt to configure by referencing the contents of both hostname files and would therefore generate errors. To prevent these errors, provide an invalid file name to the hostname file that you do not want to use in a given configuration.
Edit the /etc/hostname.interface file.
At a minimum, add the IPv4 address of the interface to the file. You can use traditional IPv4 notation or CIDR notation to specify the IP address of the interface. You can also add a netmask and other configuration information to the file.
To add an IPv6 address to an interface, refer to Modifying an IPv6 Interface Configuration for Hosts and Servers
For Solaris 10 11/06 and earlier releases of Oracle Solaris 10, add entries for the new interfaces into the /etc/inet/ipnodes file.
Add entries for the new interfaces into the /etc/inet/hosts file.
Perform a reconfiguration boot.
# reboot -- -r |
Verify that the interface you created in the /etc/hostname.interface file has been configured.
# ifconfig -a |
For examples, refer to Example 6–2.
The example shows how to configure the interfaces qfe0 and qfe1 to a host. These interfaces remain persistent across reboots.
# dladm show-link eri0 type: legacy mtu: 1500 device: eri0 qfe0 type: legacy mtu: 1500 device: qfe0 qfe1 type: legacy mtu: 1500 device: qfe1 qfe2 type: legacy mtu: 1500 device: qfe2 qfe3 type: legacy mtu: 1500 device: qfe3 bge0 type: non-vlan mtu: 1500 device: bge0 # vi /etc/hostname.qfe0 192.168.84.3 netmask 255.255.255.0 # vi /etc/hostname.qfe1 192.168.84.72 netmask 255.255.255.0 # vi /etc/inet/hosts # Internet host table # 127.0.0.1 localhost 10.0.0.14 myhost 192.168.84.3 interface-2 192.168.84.72 interface-3 For Solaris 10 11/06 and earlier releases:# vi /etc/inet/ipnodes 10.0.0.14 myhost 192.168.84.3 interface-2 192.168.84.72 interface-3 |
At this point, you would reboot the system.
# reboot -- -r |
After the system boots, you would then verify the interface configuration.
ifconfig -a # 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.14netmask ff000000 broadcast 10.255.255.255 ether 8:0:20:c1:8b:c3 qfe0:flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.84.3 netmask ffffff00 broadcast 192.255.255.255 ether 8:0:20:c8:f4:1d qfe1: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4>mtu 1500 index 4 inet 192.168.84.72 netmask ffffff00 broadcast 10.255.255.255 ether 8:0:20:c8:f4:1e |
To configure an IPv6 address onto an interface, refer to How to Enable an IPv6 Interface for the Current Session.
To set up failover detection and failback for interfaces by using IP Network Multipathing (IPMP), refer to Chapter 31, Administering IPMP (Tasks).
Use this procedure for removing a physical interface. If you are using the earlier Solaris 10 3/05, refer to How to Remove a Physical Interface in Solaris 10 3/05 ONLY.
On the system with the interface to be removed, 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.
Remove the physical interface.
# ifconfig interface down unplumb |
For example, to remove the interface qfe1, you would type:
# ifconfig qfe1 down unplumb |
Use this procedure for configuring MAC addresses.
Some applications require every interface on a host to have a unique MAC addresses. However, every SPARC based system has a system-wide MAC address, which by default is used by all interfaces. Here are two situations where you might want to configure the factory-installed MAC addresses for the interfaces on a SPARC system.
For link aggregations, you should use the factory-set MAC addresses of the interfaces in the aggregation configuration.
For IPMP groups, each interface in the group must have a unique MAC address. These interfaces must use their factory-installed MAC addresses.
The EEPROM parameter local-mac-address? determines whether all interfaces on a SPARC system use the system-wide MAC address or their unique MAC address. The next procedure shows how to use the eeprom command to check the current value of local-mac-address? and change it, if necessary.
On the system with the interfaces to be configured, 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.
Determine whether all interfaces on the system currently use the system-wide MAC address.
# eeprom local-mac-address? local-mac-address?=false |
In the example, the response to the eeprom command, local-mac-address?=false, indicates that all interfaces do use the system-wide MAC address. The value of local-mac-address?=false must be changed to local-mac-address?=true before the interfaces can become members of an IPMP group. You should also change local-mac-address?=false to local-mac-address?=true for aggregations.
If necessary, change the value of local-mac-address? as follows:
# eeprom local-mac-address?=true |
When you reboot the system, the interfaces with factory-installed MAC addresses now use these factory settings, rather than the system-wide MAC address. Interfaces without factory-set MAC addresses continue to use the system-wide MAC address.
Check the MAC addresses of all the interfaces on the system.
Look for cases where multiple interfaces have the same MAC address. In this example, all interfaces use the system-wide MAC address 8:0:20:0:0:1.
ifconfig -a lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:0:0:1 ce0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.0.114 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:0:0:1 ce1: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.0.118 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:0:0:1 |
Continue to the next step only if more than one network interface still has the same MAC address. Otherwise, go on to the final step.
If necessary, manually configure the remaining interfaces so that all interfaces have unique MAC address.
Specify a unique MAC address in the /etc/hostname.interface file for the particular interface.
In the example in Step 4, you would need to configure ce0 and ce1 with locally administered MAC addresses. For example, to reconfigure ce1 with the locally administered MAC address 06:05:04:03:02, you would add the following line to /etc/hostname.ce1:
ether 06:05:04:03:02 |
To prevent any risk of manually configured MAC addresses conflicting with other MAC addresses on your network, you must always configure locally administered MAC addresses, as defined by the IEEE 802.3 standard.
You also can use the ifconfig ether command to configure an interface's MAC address for the current session. However, any changes made directly with ifconfig are not preserved across reboots. Refer to the ifconfig(1M) man page for details.
Reboot the system.