JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11 联网介绍     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris 11 系统中的联网

网络配置文件

反应性网络配置

固定网络配置

系统生成的配置文件

Oracle Solaris 中的网络栈

先前的 Oracle Solaris 发行版

Oracle Solaris 11 的实现

网络设备和数据链路名称

缺省通用链路名称

为数据链路指定通用名称

定制操作系统指定通用链路名称的方式

升级系统上的链路名称

替换基于硬件的链路名称

更改链路名称的注意事项

有效链路名称的规则

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

网络设备和数据链路名称

从管理角度看,管理员在数据链路上创建 IP 接口。数据链路代表开放系统互连 (Open Systems Interconnection, OSI) 模型的第二层中的一个链路对象。物理链路与设备直接关联,并拥有一个设备名称。设备名称实质上是设备实例名称,其中包含驱动程序名称和设备实例编号。实例编号的值可以是从 0 到 n-1,具体取决于系统上有多少 NIC 使用该驱动程序。

以千兆以太网卡为例,它经常用作主机系统和服务器系统上的主 NIC。此 NIC 的一些典型驱动程序名称是 bgee1000g。用作主 NIC 时,千兆以太网接口有一个设备名称,如 bge0e1000g0。其他驱动程序名称包括 ngenxge 等。

在此 Oracle Solaris 发行版中,设备实例名称继续依赖于底层硬件。但是,因为硬件层和软件层分离,这些设备之上的数据链路并没有同样地与硬件绑定。因此,为这些数据链路赋予的名称可以不同于其底层设备名称。

缺省通用链路名称

在 Oracle Solaris 11 中,缺省情况下会自动为数据链路提供通用名称。指定此名称时使用 net# 命名约定,其中 # 是实例编号。此实例编号随每个设备递增,例如 net0net1net2 等。

通用或灵活的链路名称为网络配置带来了诸多优势,如以下示例所示:

要显示采用通用名称的数据链路与对应的设备实例之间的映射关系,可使用 dladm show-phys 子命令。例如:

# dladm show-phys
LINK     MEDIA        STATE     SPEED     DUPLEX     DEVICE
net2     Ethernet     up        1000      full       bge2
net0     Ethernet     up        1000      full       e1000g0
net3     Ethernet     up        1000      full       nge3
net1     Ethernet     up        1000      full       e1000g1

为数据链路指定通用名称

在 Oracle Solaris 中,OS 基于特定标准为所有数据链路提供通用名称。所有设备都具有相同的前缀 net。但是,实例编号是基于以下标准指定的:

根据这种标准,采用较低的主板、IO 板、主桥、PCIe 根联合体、总线、设备和功能的以太网设备将排在其他设备前面。

要显示链路名称、设备和位置之间的对应关系,可使用 dladm show-phys 命令,如下所示:

# dladm show-phys -L
LINK         DEVICE        LOCATION
net0         e1000g0       MB
net1         e1000g1       MB
net2         e1000g2       MB
net3         e1000g3       MB
net4         ibp0          MB/RISER0/PCIE0/PORT1
net5         ibp1          MB/RISER0/PCIE0/PORT2
net6         eoib2         MB/RISER0/PCIE0/PORT1/cloud-nm2gw-2/1A-ETH-2
net7         eoib4         MB/RISER0/PCIE0/PORT2/cloud-nm2gw-2/1A-ETH-2

定制操作系统指定通用链路名称的方式

Oracle Solaris 使用前缀 net 来指定链路名称。但是,可以改用任何定制前缀,如 eth。如果您愿意,还可以禁用自动指定通用链路名称。


注意

注意 - 对自动指定通用链路名称的方式进行定制必须在安装 Oracle Solaris 之前进行。安装完成后,将无法在不删除现有配置的情况下定制缺省链路名称。


要禁用链路自动命名,或要定制链路名称前缀,请在系统配置 (System Configuration, SC) 清单中设置以下属性。SC 清单由 Oracle Solaris 的自动化安装程序 (Automated Installer, AI) 使用。

<service name="network/datalink-management"
   version="1" type="service">
      <instance name="default enabled="true">
         <property_group name='linkname-policy'
            type='application'>
               <propval name='phys-prefix' type='astring'
                  value='net'/>
         </property_group>
      </instance>
</service

缺省情况下,phys-prefix 的值设置为 net,如粗体内容所示。

如果为 phys-prefix 提供的值无效,将忽略该值。数据链路将根据与其关联的硬件驱动程序来命名,如 bge0e1000g0 等。有关有效链路名称的规则,请参见有效链路名称的规则

升级系统上的链路名称

在全新安装 Oracle Solaris 11 发行版的系统上,数据链路将自动命名为 net0netN-1,其中 N 代表网络设备总数。

与此相反,如果是由 Oracle Solaris 11 Express 升级而来,则数据链路将保留在升级之前为其设置的名称。这些名称要么是缺省的基于硬件的名称,要么是在升级前由管理员指定给数据链路的定制名称。而且,在这些升级的系统上,随后添加的新网络设备也保留缺省的基于硬件的名称,而不是获得通用名称。升级后系统的这种行为确保不会有 OS 指定的通用名称与其他基于硬件的名称或管理员在升级前指定的定制名称混合使用。

在装有 Oracle Solaris 11 的任何系统中,基于硬件的名称和 OS 提供的链路名称都可以替换为您喜欢使用的其他名称。通常情况下,由 OS 指定的缺省链路名称足够用于创建系统的网络配置。但是,要更改链路名称,请注意以下各节中讨论的一些重要注意事项。

替换基于硬件的链路名称

如果您系统的链路具有基于硬件的名称,至少要将这些链路重命名为通用名称。如果保留基于硬件的名称,以后在移除或更换这些物理设备时可能会出现混乱。

例如,您保留与设备 bge0 相关联的链路名称 bge0。并且在执行所有链路配置时都引用了该链路名称。之后,您可能将 NIC bge 更换为 NIC e1000g。要将以前设备的链路配置重新应用于新的 NIC e1000g0,您需要将链路名称 bge0 重新指定给 e1000g0。由于基于硬件的链路名称 bge0 与关联的 NIC e1000g0 不同,这种组合可能导致混乱。通过使用不基于硬件的名称,您可以更好地将链路与相关联的设备进行区分。

更改链路名称的注意事项

尽管替换基于硬件的链路名称是最佳做法,但在重命名链路之前,仍然必须进行周密的规划。更改设备的链路名称不会将新名称自动传播到所有现有的相关联配置。以下示例说明了更改链路名称时的风险:

因此,作为一般规则,不要随机地重命名数据链路。当重命名数据链路时,确保在更改链路名称后链路的所有关联配置继续适用。一些可能会受链路重命名影响的配置如下:

有效链路名称的规则

指定链路名称时,请遵守以下规则:


注 - 作为附加限制,不能使用 lo0 作为灵活的链路名称。此名称保留用于标识 IP 回送接口。


指定链路名称时,链路在网络设置中的作用可能是很有用的参考信息。例如,可以将 netmgt0 指定给专用于网络管理的链路。将 Upstream2 用于连接到 ISP 的链路。作为一般规则,为了避免混淆,不要将已知设备的名称指定给您的链路。