安装 Oracle Solaris : 后,您可能会在系统上配置或管理接口以达到以下目的:
升级系统使其成为多宿主主机。有关更多信息,请参阅配置多宿主主机。
将主机更改为路由器。有关配置路由器的说明,请参阅配置 IPv4 路由器。
将接口配置为 VLAN 的一部分。有关更多信息,请参阅管理虚拟局域网。
将接口配置为聚合的成员。有关更多信息,请参阅链路聚合概述。
将接口添加到 IPMP 组。有关配置 IPMP 组的说明,请参阅配置 IPMP 组。
本节包含有关配置单个网络接口的信息(从 Solaris 10 1/06 发行版开始)。有关将接口配置到以下分组之一的信息,请参阅以下各节:
从 Solaris 10 1/06 开始,此过程说明如何确定系统上当前可用的接口及其状态。此过程还显示当前已检测哪些接口。如果使用的是早期的 Solaris 10 3/05,请参阅如何获取有关特定接口的信息。
在要配置接口的系统上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
确定当前在系统上安装了哪些接口。
# dladm show-link |
此步骤使用 dladm 命令(该命令在 dladm(1M) 手册页中详述)。此命令报告它找到的所有接口驱动程序,而不管接口当前是否已配置。
确定当前在系统上已检测哪些接口。
# ifconfig -a |
ifconfig 命令具有许多附加功能,其中包括检测接口。有关更多信息,请参阅 ifconfig(1M) 手册页。
以下示例说明 dladm 命令显示的状态。
# 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 |
dladm show-link 的输出指示本地主机可以使用四个接口驱动程序。可以针对 VLAN 配置 ce 和 bge 接口。但是,只有非 VLAN 类型的 GLDV3 接口才可以用于链路聚合。
以下示例说明 ifconfig -a 命令显示的状态。
# 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 |
ifconfig -a 命令的输出仅显示两个接口(ce0 和 bge0)的统计信息。此输出说明仅检测了 ce0 和 bge0,而且它们可以由网络通信流量使用。可以在 VLAN 中使用这些接口。由于已检测 bge0,无法在聚合中再使用此接口。
使用下一过程来配置接口。如果使用的是 Solaris 10 3/05 发行版,则应使用如何在安装后添加物理接口(仅适用于 Solaris 10 3/05)中的过程。
确保要配置的物理接口已安装在系统上。有关安装另行购买的 NIC 硬件的信息,请参阅 NIC 附带的制造商说明。
如果刚安装了接口,则在继续下一任务之前应执行重新配置引导。
在要配置接口的系统上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
确定当前在系统上安装了哪些接口。
# dladm show-link |
# ifconfig interface plumb up |
例如,对于 qfe0,请键入:
# ifconfig qfe0 plumb up |
使用 ifconfig 命令显式配置的接口在重新引导后不会继续存在。
将 IPv4 地址和网络掩码指定给接口。
# ifconfig interface IPv4-address netmask+netmask |
例如,对于 qfe0,请键入:
# ifconfig qfe0 192.168.84.3 netmask + 255.255.255.0 |
可以使用传统的 IPv4 表示法或 CIDR 表示法指定 IPv4 地址。
验证新配置的接口是否已检测并配置,或者是否带有 "UP" 标志。
# ifconfig -a |
检查所显示的每个接口的状态行。确保状态行上的输出包含 UP 标志,例如:
qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 |
(可选)要使接口配置在重新引导后继续存在,请执行以下步骤:
为要配置的每个接口创建 /etc/hostname.interface 文件。
例如,要添加 qfe0 接口,请创建以下文件:
# vi /etc/hostname.qfe0 |
如果为同一接口创建备用主机名文件,则备用文件也必须遵循命名格式 hostname.[0-9]*,如 hostname.qfe0.a123。诸如 hostname.qfe0.bak 或 hostname.qfe0.old 之类的名称无效,且会在系统引导期间被脚本忽略。
也请注意,一个给定的接口只能有一个相应的主机名文件。如果用有效的文件名为接口创建一个备用主机名文件,例如 /etc/hostname.qfe 和 /etc/hostname.qfe.a123,则引导脚本会尝试同时引用这两个主机名文件的内容来进行配置,因而会产生错误。要避免这些错误,请为给定配置中不使用的主机名文件使用无效的文件名。
编辑 /etc/hostname.interface 文件。
至少将接口的 IPv4 地址添加到该文件。可以使用传统的 IPv4 表示法或 CIDR 表示法指定接口的 IP 地址。还可以将网络掩码和其他配置信息添加到该文件。
有关如何将 IPv6 地址添加到接口,请参阅修改主机和服务器的 IPv6 接口配置。
对于 Solaris 10 11/06 和 Oracle Solaris 10 的早期发行版,将新接口的项添加到 /etc/inet/ipnodes 文件中。
将新接口的项添加到 /etc/inet/hosts 文件中。
执行重新配置引导。
# reboot -- -r |
验证是否已配置在 /etc/hostname. interface 文件中创建的接口。
# ifconfig -a |
有关示例,请参阅示例 6–2。
该示例说明如何将接口 qfe0 和 qfe1 配置为主机。这些接口在重新引导后仍继续存在。
# 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 |
此时,可以重新引导系统。
# reboot -- -r |
引导系统后,验证接口配置。
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 |
有关如何在接口上配置 IPv6 地址,请参阅如何启用当前会话的 IPv6 接口。
有关如何使用 IP 网络多路径 (IP Network Multipathing, IPMP) 为接口设置故障转移检测和故障恢复,请参阅第 31 章。
使用此过程可删除物理接口。如果使用的是早期的 Solaris 10 3/05,请参阅如何删除物理接口(仅适用于 Solaris 10 3/05)。
在要删除接口的系统上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
删除物理接口。
# ifconfig interface down unplumb |
例如,要删除接口 qfe1,可键入:
# ifconfig qfe1 down unplumb |
使用此过程配置 MAC 地址。
一些应用程序要求主机上的每个接口都具有唯一的 MAC 地址。但是,每个基于 SPARC 的系统都具有系统范围的 MAC 地址,缺省情况下所有接口都使用该地址。以下是在 SPARC 系统上可能希望为接口配置出厂安装的 MAC 地址的两种情况。
对于链路聚合,应该在聚合配置中使用接口的出厂设置 MAC 地址。
对于 IPMP 组,组中的每个接口都必须具有唯一的 MAC 地址。这些接口必须使用其出厂安装的 MAC 地址。
EEPROM 参数 local-mac-address? 确定 SPARC 系统上的所有接口使用系统范围的 MAC 地址还是其唯一 MAC 地址。以下过程说明如何使用 eeprom 命令检查 local-mac-address? 的当前值以及更改它的值(如有必要)。
在要配置接口的系统上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
确定系统上的所有接口当前是否都使用系统范围的 MAC 地址。
# eeprom local-mac-address? local-mac-address?=false |
在此示例中,对 eeprom 命令的响应 local-mac-address?=false 表示所有接口确实使用了系统范围的 MAC 地址。local-mac-address?=false 的值必须先更改为 local-mac-address?=true,然后接口才能成为 IPMP 组的成员。对于聚合,也应该将 local-mac-address?=false 更改为 local-mac-address?=true。
如有必要,请按如下所示更改 local-mac-address? 的值:
# eeprom local-mac-address?=true |
重新引导系统时,具有出厂安装的 MAC 地址的接口现在使用这些出厂设置,而不是系统范围的 MAC 地址。没有出厂设置的 MAC 地址的接口继续使用系统范围的 MAC 地址。
检查系统上所有接口的 MAC 地址。
查找多个接口具有相同 MAC 地址的情况。在此示例中,所有接口都使用系统范围的 MAC 地址 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 |
仅当多个网络接口仍具有相同 MAC 地址时,才继续执行下一步。否则,转到最后一步。
如有必要,请手动配置其余的接口,以便所有接口都具有唯一的 MAC 地址。
在 /etc/hostname.interface 文件中为特定接口指定唯一的 MAC 地址。
在步骤 4 的示例中,需要用本地管理的 MAC 地址配置 ce0 和 ce1。例如,要用本地管理的 MAC 地址 06:05:04:03:02 重新配置 ce1,可将以下行添加到 /etc/hostname.ce1 中:
ether 06:05:04:03:02 |
要防止手动配置的 MAC 地址与网络中的其他 MAC 地址冲突所带来的任何风险,必须始终配置本地管理的 MAC 地址,如 IEEE 802.3 标准定义的那样。
也可以使用 ifconfig ether 命令为当前会话配置接口的 MAC 地址。但是,使用 ifconfig 直接进行的任何更改在重新引导后都不会保留。有关详细信息,请参阅 ifconfig(1M) 手册页。
重新引导系统。