JavaScript is required to for searching.
跳过导航链接
退出打印视图
在 Oracle Solaris 11.1 中使用固定网络配置连接系统     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

1.  固定网络配置概述

2.  配置系统网络

3.  使用数据链路

基本 dladm 命令

显示有关数据链路的常规信息 (dladm)

显示系统的数据链路 (dladm show-link)

显示数据链路的物理属性 (dladm show-phys)

删除数据链路 (dladm delete-phys)

重命名数据链路 (dladm rename-link)

定制数据链路属性

数据链路属性概述

启用巨型帧支持

修改链路速度参数

设置数据链路上的 STREAMS 模块

e1000g 驱动程序设置为使用直接内存访问绑定

手动设置中断率

获取有关数据链路属性的状态信息

显示数据链路属性 (dladm show-linkprop)

显示以太网属性值 (dladm show-ether)

使用 dladm 命令的其他配置任务

如何在系统中切换主接口

如何使用动态重新配置更换网络接口卡

4.  使用 IP 接口

5.  在运行 Oracle Solaris 的手提电脑上配置无线联网

A.  对应关系比较:ifconfigipadm 命令

B.  对应关系比较:nddipadm 命令

索引

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

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

定制数据链路属性

除了执行基本的数据链路配置,您还可以使用 dladm 命令设置数据链路属性并根据您的网络要求对其进行定制。

有以下三个用于数据链路属性的 dladm 子命令:

数据链路属性概述

可定制的数据链路属性取决于特定 NIC 驱动程序支持的属性。可通过使用 dladm 命令配置的数据链路属性分为两个类别:

链路属性通常具有缺省值。但是,在某些网络情况下,可能需要您更改特定属性值。例如,NIC 可能与不能正确执行自动协商的旧交换机进行通信。或者,一个交换机可能已配置为支持巨型帧。或者,可能需要针对特定驱动程序修改用于控制数据包传输或数据包接收的驱动程序特定属性。以下各节有选择地介绍了部分属性并解释了如何更改它们的值以便在网络环境中起作用。

启用巨型帧支持

MTU 定义协议可从系统中传输的最大包的大小。缺省情况下,大部分 NIC 驱动程序将 MTU 大小定义为 1500。但是,如果巨型帧要遍历网络,缺省值将不够用。要支持巨型帧,MTU 大小至少需要为 9000。

要更改 MTU 大小的缺省值,请键入以下命令:

# dladm set-linkprop -p mtu=new-size datalink

更改 MTU 大小后,您可以在数据链路上重新配置一个 IP 接口

以下示例显示了启用对巨型帧的支持的步骤。此示例假定您已删除了数据链路上现有的所有 IP 接口配置。

# dladm show-linkprop -p mtu net1
LINK     PROPERTY     VALUE     DEFAULT     POSSIBLE
net1     mtu          1500      1500        --
# dladm set-linkprop -p mtu=9000 net1
# dladm show-link web1
LINK     CLASS     MTU      STATE     BRIDGE     OVER
web1     phys      9000     up        --         --

修改链路速度参数

大多数网络设置包含多个具有不同速度能力的系统。每个系统均会将速度能力通告给网络中的其他系统,网络通知每个系统如何传输和接收网络通信。以下成对的数据链路属性控制系统通告的速度能力:

每个链路速度能力均涉及一对属性:通告速度 (adv_*_cap) 和支持通告速度 (en_*_cap)。此外,还将为全双工和半双工能力提供数据链路速度信息,如属性名称中的 *fdx**hdx* 所指定。通告速度属性为只读属性,指示特定数据链路速度是否已通告。您可以通过设置相应的 en_*_cap 属性来确定特定数据链路速度是否已通告。

缺省情况下,通告数据链路的所有速度和双工能力。但是,可能会存在以下情况:新系统正在与旧系统通信且自动协商已禁用或不受支持。要启用这两个系统间的通信,较旧系统与较新系统之间的通告速度可能需要更改为较低的值。系统的 GB 能力可能需要关闭,并且只通告较低的速度能力。在这种情况下,您可以为全双工能力和半双工能力键入以下内容。

# dladm set-linkprop -p en_1000fdx_cap=0 datalink
# dladm set-linkprop -p en_1000hdx_cap=0 datalink

该命令为全双工能力和半双工能力关闭对系统的 GB 能力的通告。

要显示这些属性的新值,请使用 dladm show-linkprop 命令。

# dladm show-linkprop -p adv_10gfdx_cap datalink
# dladm show-linkprop -p adv_1000hdx_cap datalink

通常情况下,给定的支持速度属性和相应的通告属性的值是相同的。不过,如果 NIC 支持一些高级功能(如电源管理),这些功能可能对主机和其链路伙伴之间实际通告的位设置限制。例如,使用电源管理时,adv_*_cap 属性的设置可能只是 en_*_cap 属性的设置的子集。

设置数据链路上的 STREAMS 模块

当数据链路处于打开状态时,可以设置将最多 8 个 STREAMS 模块推送到流。这些模块通常由第三方网络软件(如虚拟专用网络 (virtual private networks, VPN) 和防火墙)使用。软件供应商会提供有关此类网络软件的文档。

要在特定数据链路上推送的模块的列表是由 autopush 属性控制的。而 autopush 属性的值是通过使用 dladm set-linkprop 子命令设置的。

也可以使用单独的 autopush 命令基于每个驱动程序将模块推送到数据链路的流。该命令使用为每个驱动程序设置的配置文件,且此配置文件会就要推送的模块通知命令。然而,驱动程序始终绑定到 NIC。如果移除了数据链路的底层 NIC,则链路的 autopush 属性信息也会丢失。

因此,基于此目的,dladm 命令比 autopush 命令更可取。如果特定数据链路的 autoputsh 配置的每驱动程序类型和每链路类型都存在,则使用通过 dladm set-linkprop 设置的每链路信息,而忽略每驱动程序信息。

要在数据链路处于打开状态时将模块推送到 STREAMS,您可以使用相同的 dladm set-linkprop 命令为 autopush 属性指定模块。例如,要将 vpnmodbufmod 模块推送到 net0 链路上,应键入:

# dladm set-linkprop -p autopush=vpnmod.bufmod net0

e1000g 驱动程序设置为使用直接内存访问绑定

本节和下一节显示如何配置专用属性。这两节适用于特定于 e1000g 驱动程序的属性。不过,这两节中的常规信息也适用于配置其他 NIC 驱动程序的专用属性。

大容量通信,例如文件传输,通常涉及通过网络的大数据包的协商。在此类情况下,您可以通过将 e1000g 驱动程序配置为自动使用直接内存访问 (Direct Memory Access, DMA) 绑定(其中为数据包段大小定义阈值),从该驱动程序获得更好的性能。如果一个段大小超过阈值,则使用 DMA 绑定传输包。如果一个段大小在阈值内,则使用 bcopy 模式,其中段数据被复制到预分配的传输缓冲区。

# dladm set-linkprop -p _tx_bcopy_threshold=value datalink

对于此属性,阈值的有效值范围为 60 到 2048。


注 - 所有数据链路均自动命名为通用名称。必须确保该专用属性是在底层 NIC 为 e1000g 的数据链路上配置的。设置该属性前使用 dladm show-phys 验证。

与配置公共属性一样,也必须先删除所有 IP 接口,然后才能修改专用属性值。


您可能会执行类似于以下内容的步骤:

# dladm show-phys
LINK   MEDIA      STATE   SPEED   DUPLEX   DEVICE
net0   Ethernet   up      100Mb    full     nge0
net1   Ethernet   up      100Mb    full     e1000g0

# dladm set-linkprop -p _tx_bcopy_threshold=1024 net1

手动设置中断率

控制由 e1000g 驱动程序提供中断的速率的属性也会影响网络和系统性能。通常,通过为每个数据包生成一个中断来将网络数据包传送到栈的上层。进而,缺省情况下,中断率由内核中的 GLD 层自动调整。但是,这种模式可能并非对所有的网络通信流量情况都是适宜的。有关此问题的讨论,请参阅 1996 年 USENIX 技术会议上发表的文档 (http://www.stanford.edu/class/cs240/readings/mogul.pdf)。因此,在某些情况下,必须手动设置中断率以获得更好的性能。

要定义中断率,需要设置以下属性:

首先关闭中断限制率的自动调优。然后,手动设置中断限制率属性。

假设您拥有一个基于 x86 的系统,且该系统的 e1000g NIC 的中断限制率需要修改。进一步假设 e1000g0 的数据链路名称为 net1。应键入以下命令。

# dladm set-linkprop -p _intr_adaptive=0 net1
# dladm set-linkprop -p _intr-throttling_rate=1024 net1

获取有关数据链路属性的状态信息

要获取有关数据链路属性的信息,可以使用以下任一命令:

显示数据链路属性 (dladm show-linkprop)

此方法在定制数据链路属性中有所介绍。要显示数据链路属性的完整列表,请键入该命令,而不指定属性。例如:

# dladm show-linkprop net1
LINK     PROPERTY             VALUE       DEFAULT     POSSIBLE
net1     speed                1000        --          -- 
net1     autopush             --          --          -- 
net1     zone                 --          --          -- 
net1     duplex               half        --          half,full 
net1     state                unknown     up          up,down 
net1     adv_autoneg_cap      1           1           1,0 
net1     mtu                  1500        1500        -- 
net1     flowctrl             no          bi          no,tx,rx,bi 
net1     adv_1000fdx_cap      1           1           1,0 
net1     en_1000fdx_cap       1           1           1,0 
net1     adv_1000hdx_cap      1           1           1,0 
net1     en_1000hdx_cap       1           1           1,0 
net1     adv_100fdx_cap       0           0           1,0 
net1     en_100fdx_cap        0           0           1,0 
net1     adv_100hdx_cap       0           0           1,0 
net1     en_100hdx_cap        0           0           1,0 
net1     adv_10fdx_cap        0           0           1,0 
net1     en_10fdx_cap         0           0           1,0 
net1     adv_10hdx_cap        0           0           1,0 
net1     en_10hdx_cap         0           0           1,0

显示以太网属性值 (dladm show-ether)

如果没有随 dladm show-ether 命令使用任何选项,则只显示数据链路的当前以太网属性值。要获取缺省情况下提供的信息以外的更多信息,请使用 -x 选项。以下是如何使用该命令的示例:

# dladm show-ether -x net1
LINK     PTYPE       STATE    AUTO  SPEED-DUPLEX             PAUSE
net1     current     up       yes   1G-f                     both
--       capable     --       yes   1G-fh,100M-fh,10M-fh     both
--       adv         --       yes   100M-fh,10M-fh           both
--       peeradv     --       yes   100M-f,10M-f             both

如果使用 -x 选项,该命令还显示指定链路的内置能力,以及主机和链路伙伴之间当前通告的能力。以下介绍上一示例中显示的信息: