管理数据链路属性
使用 dladm 命令定制通用数据链路属性可以提供以下优点:
dladm 命令是在配置网络驱动程序属性时唯一需要的命令接口。此命令取代了以前通过使用 ndd 命令并修改 driver.conf 文件来设置驱动程序属性的做法。
不论设置什么属性,都请使用以下统一语法:
dladm subcommand properties datalink
dladm 命令对驱动程序的公共属性和专用属性均适用。
对特定驱动程序使用 dladm 命令不会中断相似类型的其他 NIC 的网络连接。因此,您可以动态地配置数据链路属性。
数据链路配置值存储在 dladm 系统信息库中,在系统重新引导后仍会保留。
显示有关数据链路的常规信息
不带任何选项使用时,dladm 命令将显示有关系统的数据链路的常规信息,包括种类、状态和底层物理链路。
# dladm
LINK CLASS MTU STATE OVER
net0 phys 1500 unknown --
net1 phys 1500 up --
net2 phys 1500 unknown --
net3 phys 1500 unknown --
net4 phys 1500 up --
aggr0 aggr 1500 up net1,net4
数据链路可以是物理链路以外的其他种类,例如链路聚合、虚拟 LAN (virtual LAN, VLAN) 和虚拟 NIC (virtual NIC, VNIC)。这些其他数据链路也包含在 dladm 命令显示的缺省信息中。例如,在以上输出中,物理链路 net1 和 net4 上配置了链路聚合 (aggr0)。
显示系统的数据链路
可以使用 dladm show-link 命令同时显示系统上的物理数据链路和虚拟数据链路。系统包含的数据链路与已安装的 NIC 一样多。您可以将各个选项与此命令一起使用来定制所显示的信息。
不带其他选项或参数使用时,dladm show-link 命令显示以下信息:
# dladm show-link
LINK CLASS MTU STATE OVER
net1 phys 1500 down --
net3 phys 1500 unknown --
net0 phys 1500 up --
net2 phys 1500 unknown --
net11 phys 1500 up --
net5 phys 1500 up --
net6 phys 1500 up --
在以上输出中,STATE 列显示了虚拟数据链路的当前状态。此状态可能为 up、down 或 unknown。对于虚拟数据链路,当一个 NIC 拆分为多个 VNIC 时,将在内部隐式创建虚拟交换机。创建的此虚拟交换机使得 VNIC 和主数据链路只要位于相同的 VLAN 上就能够彼此通信,即使物理数据链路没有连接到外部网络也是如此。这种关系形成了数据链路的虚拟状态。
使用 –P 选项可以显示有关数据链路的持久性配置信息。基于该命令提供的信息,您可以进一步配置网络。例如,您可以确定系统上 NIC 的数量,然后可以选择要使用的数据链路,在该数据链路上,您可以配置 IP 接口。键入命令时,显示的信息类似于以下示例:
# dladm show-link -P
LINK CLASS OVER
net0 phys --
net1 phys --
net2 phys --
以上示例显示了系统具有三个与对应的物理 NIC 直接相关联的数据链路。不存在任何特殊数据链路,如在 phys 类下的数据链路上配置的聚合或虚拟 NIC。
显示数据链路的物理属性
使用 dladm show-phys 命令可获取与物理 NIC(与系统数据链路相关联)相关的系统数据链路的信息。不带任何选项使用时,该命令将显示类似于以下示例的信息:
# dladm show-phys
LINK MEDIA STATE SPEED DUPLEX DEVICE
net0 Ethernet up 100Mb full e1000g0
net1 Ethernet down 0Mb -- nge0
net2 Ethernet up 100Mb full bge0
net3 InfiniBand -- 0Mb -- ibd0
除了其他详细信息,以上输出还显示了与具有通用链路名称的数据链路相关联的物理 NIC。例如,net0 是 NIC e1000g0 的数据链路名称。要显示有关已为数据链路设置的标志的信息,请使用 –P 选项。例如,标记有 r 的数据链路意味着其底层 NIC 已被移除。
在以上输出中,STATE 列显示了物理数据链路的当前状态。此状态可能为 up、down 或 unknown。物理链路状态表示物理设备是否连接到外部网络(如果插入了电缆,并且电缆另一端的端口的状态为 up,则表明已连接到外部网络)。
–L 选项是您可以使用的另一个很有用的选项。此选项显示每个数据链路的物理位置。位置确定数据链路的实例编号,例如 net0、net1 等。
# dladm show-phys -L
LINK DEVICE LOCATION
net0 bge0 MB
net2 ibp0 MB/RISER0/PCIE0/PORT1
net3 ibp1 MB/RISER0/PCIE0/PORT2
net4 eoib2 MB/RISER0/PCIE0/PORT1/cloud-nm2gw-2/1A-ETH-2
使用 –m 选项可显示系统中物理链路的 MAC 地址:
# dladm show-phys -m
LINK SLOT ADDRESS INUSE CLIENT
net0 primary 0:11:22:a9:ee:66 yes net0
此命令类似于使用 ifconfig 命令。
显示系统中所有链路(包括物理的和非物理的)的 MAC 地址,如下所示:
# dladm show-linkprop -p mac-address
LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE
net0 mac-address rw 0:11:22:a9:ee:66 0:11:22:a9:ee:66 0:11:22:a9:ee:66
--
删除数据链路
可以使用 dladm delete-phys 命令从系统中删除数据链路。
删除数据链路与移除物理 NIC 没有紧密联系。例如,如果从系统中移除了物理 NIC,则与该 NIC 关联的数据链路配置仍保留,因为软件层不再绑定到硬件层,如从 Oracle Solaris 10 转换至 Oracle Solaris 11.2 中的 将 Oracle Solaris 10 网络协议栈与 Oracle Solaris 11 网络协议栈进行比较中所述。因此,您仍然可以通过将该数据链路的名称指定给其他 NIC 的关联链路来在其他底层物理 NIC 中使用该数据链路配置。
如果您要分离 NIC 而不更换它,且不再需要其数据链路配置,则可以如下所示删除该数据链路:
# dladm delete-phys datalink
提示 -
要确认数据链路的 NIC 是否已移除,请使用 dladm show-phys –P 命令。此输出提供了一个 FLAGS 列,在此列中,r 标志指明与物理链路相关联的物理设备是否已移除。
重命名数据链路
可以使用 dladm rename-link 命令重命名数据链路。在 Oracle Solaris 系统上,OS 会自动向所有数据链路提供通用名称。有关通用数据链路名称的更多信息,请参见关于数据链路配置。
缺省情况下,这些通用名称使用命名格式 netn,例如 net0、net1、net2 等。由于 OS 管理着这些名称,因此您无法通过执行常规的管理任务来重命名数据链路。有关更改链路名称所需的过程,请参见如何将 IP 配置从一个网络设备移动到另一个设备。
获取数据链路的运行时统计信息
可以使用 dlstat 命令获取所有类型的数据链路的运行时数据链路统计信息。仅使用命令本身不使用其他选项时,dlstat 显示系统上所有数据链路的相关统计信息,如以下输出中所示:
% dlstat
LINK IPKTS RBYTES OPKTS OBYTES
net0 58.00K 9.52M 5.61K 1.91M