JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:网络接口和网络虚拟化     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  网络栈概述

此 Oracle Solaris 发行版中的网络配置

Oracle Solaris 中的网络栈

网络设备和数据链路名称

其他链路类型的管理

第 1 部分网络自动配置

2.  NWAM 简介

3.  NWAM 配置和管理(概述)

4.  NWAM 配置文件配置(任务)

创建配置文件

在命令行模式下创建配置文件

以交互方式创建配置文件

创建 NCP

为 NCP 创建 NCU

如何以交互方式创建 NCP

创建位置配置文件

如何以交互方式创建位置配置文件

创建 ENM 配置文件

创建 WLAN

删除配置文件

设置和更改配置文件的属性值

查询系统获取配置文件信息

列出系统中的所有配置文件

列出特定配置文件的所有属性值

获取特定属性的值

如何以交互方式获取单个属性值

使用 walkprop 子命令以交互方式查看和更改属性值

导出和恢复配置文件配置

恢复用户定义的配置文件

管理网络配置

如何从自动网络配置模式切换到手动网络配置模式

如何从手动网络配置模式切换到自动网络配置模式

5.  NWAM 配置文件管理(任务)

6.  关于 NWAM 图形用户界面

第 2 部分数据链路和接口配置

7.  使用配置文件上的数据链路和接口配置命令

8.  数据链路配置和管理

9.  配置 IP 接口

10.  在 Oracle Solaris 上配置无线接口通信

11.  管理网桥

12.  管理链路聚合

13.  管理 VLAN

14.  IPMP 简介

15.  管理 IPMP

16.  使用 LLDP 交换网络连接信息

第 3 部分网络虚拟化和资源管理

17.  网络虚拟化和资源控制简介(概述)

18.  规划网络虚拟化和资源控制

19.  配置虚拟网络(任务)

20.  在虚拟化环境中使用链路保护

21.  管理网络资源

22.  监视网络通信流量和资源使用情况

词汇表

索引

创建配置文件

NWAM 命令行界面中的管理命令有两个,netcfg(1M) 手册页中介绍的 netcfg 命令是其中之一。

netcfg 命令可用于显示配置文件配置数据,任何具有控制台用户特权的人都可使用该命令显示、创建、修改已知 WLAN 对象。这些特权会自动指定给任何从 /dev/console 登录到系统的用户。具有网络自动配置管理配置文件的用户还可以创建和修改所有类型的 NWAM 配置文件和配置对象。有关更多信息,请参见NWAM 安全性概述

可以使用 netcfg 命令选择、创建、修改和销毁用户定义的配置文件。该命令在交互模式或命令行模式下都可使用。netcfg 命令还支持将配置文件配置信息导出到命令文件。

可以创建、修改和删除以下配置文件和配置对象:

在命令行模式下创建配置文件

从命令行创建配置文件使用的基本命令语法如下所示:

netcfg create [ -t template ] object-type [ class ] object-name
create

创建指定类型和名称的内存配置文件(或配置对象)。

-t template

指定新的配置文件与 template 完全相同,其中 template 是相同类型的现有配置文件的名称。如果未使用 -t 选项,将使用缺省值创建新的配置文件。

object-type

指定要创建的配置文件的类型。

可以为 object-type 选项指定以下值之一:

  • ncp

  • ncu

  • loc

  • enm

  • wlan

必须在全局范围内创建由除 ncu 以外的 object-type 选项指定的所有配置文件,才能使用 netcfg 命令选择特定对象。

class

指定由 object-type 所指定的配置文件的类。此参数仅用于 ncu 对象类型,有两个可能值,physip

object-name

指定用户定义的配置文件的名称。对于 NCU,object-name 是相应的链路或接口的名称。对于所有其他配置文件类型,object-name 是任何用户定义的名称。

例如,要创建一个名为 User 的 NCP,应键入以下命令:

$ netcfg create ncp User

其中,ncpobject-type Userobject-name


注 - 创建 NCP 时,class 不是必需选项。


也可以使用“自动”NCP 的副本作为模板,然后对该配置文件进行更改,如下所示:

$ netcfg create -t Automatic ncp

要创建一个名为 office 的位置配置文件,应键入以下命令:

$ netcfg create loc office

以交互方式创建配置文件

可以在交互模式下使用 netcfg 命令执行以下任务:

创建 NCP

在交互模式下创建配置文件,会在以下范围之一内显示命令提示符:

创建 NCP 或 NCU 会将焦点移到该对象范围中,带您遍历指定配置文件的缺省属性。

要以交互方式创建 NCP,可通过启动 netcfg 交互式会话开始。然后,使用 create 子命令创建该新的 NCP User,如下所示:

$ netcfg
netcfg> create ncp User
netcfg:ncp:User>

为 NCP 创建 NCU

NCP 本质上是一个容器,包含一组 NCU。所有 NCP 都包含链路 NCU 和接口 NCU。链路 NCU 指定链路配置策略和链路选择策略。接口 NCU 指定接口配置策略。如果要求 IP 连接,就需要提供链路 NCU 和接口 NCU 两者。必须使用 netcfg 命令或 GUI 显式添加或删除 NCU。


注 - 可以添加不与系统中当前安装的任何链路相关联的 NCU。此外,也可以删除映射到系统中当前安装的某个链路的 NCU。


可以使用 netcfg 命令在交互模式或命令行模式下创建 NCU。因为创建 NCU 包括数个操作,所以在交互模式下创建 NCU,比试图构建一个单行命令来创建 NCU 及其所有属性更为轻松高效。NCU 可以在最初创建 NCP 时创建,也可以在这之后创建。创建或修改 NCU 的过程包括设置常规的 NCU 属性,以及设置专门适用于每个 NCU 类型的属性。

根据您在创建 NCP 过程中所做的选择,在为该特定 NCP 创建 NCU 的过程中,系统将最为合理地向您显示相关属性。

当您以交互方式创建 NCU 时,netcfg 会遍历每个相关属性并显示其缺省值(如果有)和可能值。不指定值,按 Return(回车键),就会应用缺省值(如果没有缺省值,就会将该属性留空),您也可以指定一个其他值。在为 NCP 创建 NCU 的过程中显示的属性,与您之前所做的选择有关。例如,对于一个接口 NCU,如果您已为 ipv4-addrsrc 属性选择了 dhcp,系统就不会提示您为 ipv4-addr 属性指定值。

下表描述创建或修改 NCU 时可能指定的所有 NCU 属性。某些属性对 NCU 的两种类型都适用。有些属性或者只适用于链路 NCU,或者只适用于接口 NCU。有关所有 NCU 属性(包括指定这些属性时可能适用的规则和条件)的完整说明,请参见 netcfg(1M) 手册页。

表 4-1 创建或修改 NCU 时涉及的 NCU 属性

属性
说明
可能值
NCU 类型
type
指定 NCU 类型(链路或接口)。
link 或 interface
链路和接口
class
指定 NCU 类。
phys(对于链路 NCU)或 ip(对于接口 NCU)
链路和接口
parent
指定此 NCU 所属的 NCP。
parent-NCP
链路和接口
enabled
指定是启用还是禁用该 NCU。此属性为只读。只有使用 netadm 命令或 NWAM GUI 启用或禁用 NCU 时,才会间接更改此属性。
truefalse
链路和接口
activation-mode
指定自动激活 NCU 的触发类型。
manualprioritized

缺省值为 manual

链路
priority-group
指定组优先级号。
0(对于有线链路)或 1(对于无线链路)

对于用户定义的 NCP,可以指定与此不同的策略,例如,指定无线链路 1 的优先级是 1,有线链路 1 的优先级是 2,有线链路 2 的优先级是 3。


注 - 数字越小,指示优先级越高。


链路
priority-mode
指定确定优先组的激活行为所使用的模式(如果 activation-mode 属性已设置为 prioritized)。
exclusivesharedall

如需了解指定这些值时适用的规则,请参见netcfg(1M) 手册页。

链路
link-mac-addr
指定分配给此链路的 MAC 地址缺省情况下,NWAM 使用工厂指定的 MAC 地址或其他缺省 MAC 地址。可设置为其他值,覆盖此选择。
一个包含 48 位 MAC 地址的字符串
link-autopush
标识链路打开时在链路上自动推送的模块。
一个字符串列表(要在链路上推送的模块)

请参见 autopush(1M)

链路
link-mtu
自动设置为物理链路的缺省 MTU。可通过将该属性设置为一个其他值来覆盖此值。
链路的 MTU 大小
链路
ip-version
指定要使用的 IP 的版本。可以指定多个值。
ipv4ipv6

缺省值是 ipv4ipv6

接口
ipv4-addrsrc
标识指定给此 NCU 的 IPv4 地址的源。可以指定多个值。
dhcpstatic

缺省值为 dhcp

接口
ipv6-addrsrc
标识指定给此 NCU 的 IPv6 地址的源。可以指定多个值。
dhcpautoconfstatic

缺省值是dhcpautoconf

接口
ipv4-addr
指定要分配给此 NCU 的一个或多个 IPv4 地址。
要指定的一个或多个 IPv4 地址
接口
ipv6-addr
指定要分配给此 NCU 的一个或多个 IPv6 地址。
要指定的一个或多个 IPv6 地址
接口
ipv4-default-route
指定 IPv4 地址的缺省路由。
一个 IPv4 地址
接口
ipv6-default-route
指定 IPv6 地址的缺省路由。
一个 IPv6 地址
接口

如何以交互方式创建 NCP

以下过程描述如何在交互模式下创建 NCP。


提示 - NWAM 在初始配置文件创建过程中执行的遍历过程可以确保系统根据您先前做出的选择,只向您提示那些有意义的属性。此过程中描述的 verify 子命令也会验证您的配置。如果缺少任何必需的值,系统会通知您。您可以在创建或修改配置文件时显式使用 verify 子命令进行验证,或隐式使用 commit 子命令保存所做的更改。


  1. 启动 netcfg 交互式会话。
    $ netcfg
    netcfg>
  2. 创建 NCP。
    netcfg> create ncp User
    netcfg:ncp:User>

    其中 ncp 是配置文件类型,User 是配置文件名称。

    创建 NCP 会自动使您进入 NCP 范围。如果您创建的是位置、ENM 或 WLAN 对象,则命令提示符会使您进入配置文件范围。

  3. 为 NCP 创建链路 NCU 和接口 NCU。
    1. 要创建链路 NCU,请键入以下命令:
      netcfg:ncp:User> create ncu phys net0
      Created ncu `net0', Walking properties ...

      其中 ncu 是对象类型,phys 是类,net0只是为了举例)是对象名称。

      创建 NCU 会使您进入该对象的范围,并使您遍历该对象的缺省属性。

    2. 要创建接口 NCU,请键入以下命令:
      netcfg:ncp:User> create ncu ip net0
      Created ncu `net0'. walking properties ...

      其中 ncu 是对象类型,ip 是类,net0只是为了举例)是对象名称。

      创建 NCU 会使您进入该对象的范围,并使您遍历该对象的缺省属性。

      在创建 NCU 的过程中,class 选项用于区分 NCU 的两种类型。在不同 NCU 类型共享同一名称的情况下,此选项特别有用。如果省略 class 选项,区分共享同一名称的 NCU 就要困难得多。

  4. 为创建的 NCU 添加适当的属性。

    注 - 重复步骤 3 和 4,直到为该 NCP 创建了所有必需的 NCU。


  5. 在创建 NCU 期间,或为指定的 NCU 设置属性值时,使用 verify 子命令确保您所做的更改是正确的。
    netcfg:ncp:User:ncu:net0> verify
    All properties verified
  6. 提交为 NCU 设置的属性。
    netcfg:ncp:User:ncu:net0> commit
    committed changes.

    您也可以使用 end 子命令执行隐式提交,这会将交互式会话上移一级,移到紧邻的较高范围。在这种情况下,如果您已经创建完 NCP 并向其中添加了 NCU,则可以直接从 NCP 范围退出交互式会话。


    注 -

    • 在交互模式下,更改不会保存到持久性存储,直到您提交这些更改。使用 commit 子命令时,会提交整个配置文件。为了保持持久性存储的一致性,提交操作还包括验证步骤。如果验证失败,提交也将失败。如果隐式提交失败,则会向您提供选项以结束或退出交互式会话,而不提交当前更改。也可以保持在当前范围内并继续对配置文件进行更改。

    • 要取消所做的更改,可使用 cancelrevert 子命令。

      cancel 子命令结束当前的配置文件配置而不将当前更改提交到持久性存储,然后将交互式会话级别上移到紧邻的较高范围。revert 子命令撤消您进行的更改,并重新读取以前的配置。使用 revert 子命令时,交互式会话将保持在相同的范围内。


  7. 使用 list 子命令显示 NCP 配置。
  8. 配置完 NCP 后,退出交互式会话。
    netcfg:ncp:User> exit

    任何时间使用 exit 子命令结束 netcfg 交互式会话,都会验证和提交当前配置文件。如果验证或提交操作失败,系统会发出相应的错误消息,您可以选择退出而不提交当前更改,也可以保持在当前范围内并继续对配置文件进行更改。


    注 - 要退出范围而不退出 netcfg 交互式会话,请键入 end 命令:

    netcfg:ncp:User> end
    netcfg>

示例 4-1 以交互方式创建 NCP

在以下示例中,创建了一个 NCP 和两个 NCU(一个链路 NCU,一个接口 NCU)。

$ netcfg
netcfg> create ncp User
netcfg:ncp:User> create ncu phys net0
Created ncu `net0', Walking properties ...
activation-mode (manual) [manual|prioritized]>
link-mac-addr>
link-autopush>
link-mtu>
netcfg:ncp:User:ncu:net0> end
Committed changes
netcfg:ncp:User> create ncu ip net0
Created ncu `net0'. Walking properties ...
ip-version (ipv4,ipv6) [ipv4|ipv6]> ipv4
ipv4-addrsrc (dhcp) [dhcp|static]>
ipv4-default-route>
netcfg:ncp:User:ncu:net0> verify
All properties verified
netcfg:ncp:User:ncu:net0> end
Committed changes
netcfg:ncp:User> list
NCUs:
        phys    net0
        ip      net0
netcfg:ncp:User> list ncu phys net0
ncu:net0
        type                    link
        class                   phys
        parent                  "User"
        activation-mode         manual
        enabled                 true
netcfg:ncp:User> list ncu ip net0
ncu:net0
        type                    interface
        class                   ip
        parent                  "User"
        enabled                 true
        ip-version              ipv4
        ipv4-addrsrc            dhcp
        ipv6-addrsrc            dhcp,autoconf
netcfg:ncp:User> exit
$

在此示例中,因为选择的值是 ipv4,未使用 ipv6-addrsrc 属性,所以没有显示对此属性的提示。同样,对于 phys NCU,由于采用了 priority-group 属性的缺省值(手动激活),所以没有应用条件相关的其他属性。

示例 4-2 为现有 NCP 创建 NCU

要为现有 NCP 创建 NCU 或修改任何现有配置文件的属性,请将 netcfg 命令与 select 子命令一起使用。

在以下示例中,为现有 NCP 创建了一个 IP NCU。在交互模式下修改现有配置文件的过程类似于创建配置文件。以下示例和示例 4-1 的区别是,在本示例中,使用 select 子命令代替了 create 子命令,因为该 NCP 已经存在。

$ netcfg
netcfg> select ncp User
netcfg:ncp:User> list
NCUs:
        phys   net0
netcfg:ncp:User> create ncu ip net0
Created ncu `net0'. Walking properties ...
ip-version (ipv4,ipv6) [ipv4|ipv6]> ipv4
ipv4-addrsrc (dhcp) [dhcp|static]>
ipv4-default-route>
netcfg:ncp:User:ncu:net0> end
Committed changes
netcfg:ncp:User> list
NCUs:
        phys    net0
        ip      net0
netcfg:ncp:User> list ncu phys net0
ncu:net0
        type                    link
        class                   phys
        parent                  "User"
        activation-mode         manual
        enabled                 true
netcfg:ncp:User> list ncu ip net0
NCU:net0
        type                    interface
        class                   ip
        parent                  "User"
        enabled                 true
        ip-version              ipv4
        ipv4-addrsrc            dhcp
        ipv6-addrsrc            dhcp,autoconf
netcfg:ncp:User> exit
$

创建位置配置文件

位置配置文件包含的属性用于定义与基本链路和 IP 连接不直接相关的网络配置设置。例如,在需要时一起应用的命名服务和 IP 过滤器设置。在任何给定时间,系统中都必须有一个位置配置文件和一个 NCP 处于活动状态。存在系统定义的位置和用户定义的位置。系统位置是 NWAM 在某些情况下的缺省选择,例如,如果您未指定位置,或者如果手动激活的位置未启用,或者根据条件激活的位置的条件一个都不满足。系统定义的位置具有 system 激活模式。用户定义的位置是那些配置为根据网络状况手动或根据条件激活的位置,例如,通过网络连接获取的 IP 地址。

有关手动激活(启用)位置配置文件的信息,请参见激活或取消激活配置文件

可以使用 netcfg 命令在交互模式或命令行模式下创建位置。创建位置配置文件时,必须通过指定那些定义该位置的特定配置参数的值来设置位置的属性。位置属性按组进行分类,这里的组表示配置首选项的某个特定类。

位置属性也由 NWAM 存储在系统信息库中。激活某个特定位置配置文件时,NWAM 会根据为该位置设置的属性自动配置网络。创建或修改位置包括设置用于定义该配置文件的配置方式的各种属性,而配置文件的配置方式又决定着 NWAM 自动配置您的网络的方式。在配置过程中为您提供的属性,是那些根据您先前做出的选择最有意义的属性。

下表描述了可以指定的所有位置属性。请注意位置属性是按组分类的。有关所有位置属性(包括指定这些属性时可能适用的任何规则、条件和相关项)的完整说明,请参见 netcfg(1M) 手册页。

表 4-2 位置属性及其说明

属性组和说明
属性值和说明
选择条件

指定确定如何以及何时激活或取消激活某个位置的条件。

  • activation-mode

    activation-mode 属性的可能值是 manualconditional-anyconditional-all

  • conditions

系统域

确定由 NIS 命名服务直接使用的主机域名。

system-domain 属性包括 default-domain 属性。此属性指定用于远程过程调用 (Remote Procedure Call, RPC) 交换的系统范围的域。
名称服务信息

指定要使用的命名服务和命名服务转换器配置。

以下是指定的命名服务的属性的列表:
  • domain-name

  • nameservices

  • nameservices-config-file

  • dns-nameservice-configsrc

  • dns-nameservice-domain

  • dns-namservice-servers

  • dns-nameservice-search

  • dns-nameservice-sortlist

  • dns-nameservice-options

  • nis-nameservice-configsrc

  • nis-namservice-servers

  • ldap-nameservice-configsrc

  • ldap-namservice-servers

有关这些属性的更多信息,请参见 netcfg(1M) 手册页中的“位置属性”一节。

NFSv4 域

指定 NFSv4 域。

用于系统的 nfsmapid_domain 属性的值。如 nfsmapid 手册页中所述,此值用于在位置处于活动状态时设置 nfsmapid_domain SMF 属性。如果未设置此属性,位置处于活动状态时,会清除系统的 nfsmapid_property。有关更多信息,请参见 nfsmapid(1M) 手册页。
IP 过滤器配置

指定用于 IP 过滤器配置的参数。对于这些属性,指定了指向包含 IP 过滤器和 NAT 规则的适当 ipf ipnat 文件的路径。

  • ipfilter-config-file
  • ipfilter-v6-config-file

  • ipnat-config-file

  • ippool-config-file

    如果指定了配置文件,则标识出的文件中包含的规则将应用到相应的 ipfilter 子系统。

用于 IPsec 的配置文件

指定哪些文件要用于 IPsec 配置。

  • ike-config-file
  • ipsecpolicy-config-file

如何以交互方式创建位置配置文件

以下过程描述如何创建位置配置文件。


提示 - 在创建初始配置文件过程中,NWAM 执行的遍历过程会根据您先前输入的值,只向您提示那些有意义的属性。同时,verify 子命令进行检查,以确保您的配置是正确的。如果缺少任何必需的值,系统会通知您。请注意,您可以在创建或修改配置文件配置时显式使用 verify 子命令,也可以使用 commit 子命令保存您的更改来隐式使用前一子命令。


  1. 启动 netcfg 交互式会话。
    $ netcfg
    netcfg>
  2. 创建或选择位置。
    netcfg> create loc office
    netcfg:loc:office>

    在此示例中,创建了位置 office

    创建位置会自动将您移到此位置的配置文件范围内。

  3. 为该位置设置适当的属性。
  4. 显示配置文件配置。

    例如,以下输出显示位置 office 的属性:

    netcfg:loc:office> list
    LOC:office
        activation-mode              conditional-any
        conditions                   "ncu ip:wpi0 is active"
        enabled                      false
        nameservices                 dns
        nameservices-config-file     "/etc/nsswitch.dns"
        dns-nameservice-configsrc    dhcp
        ipfilter-config-file         "/export/home/test/wifi.ipf.conf"
  5. 验证配置文件配置是正确的。

    以下示例中,验证了位置 office 的配置:

    netcfg:loc:office> verify
    All properties verified
  6. 当您完成验证后,将位置配置文件提交到持久性存储。
    netcfg:loc:office> commit
    Committed changes

    也可以使用 end 子命令结束会话,这样也会保存配置文件配置。

    netcfg:loc:office> end
    Committed changes

    注 -

    • 在交互模式下,更改不会保存到持久性存储,直到您提交这些更改。使用 commit 子命令时,会提交整个配置文件。为了保持持久性存储的一致性,提交操作还包括验证步骤。如果验证失败,提交也将失败。如果隐式提交失败,则会向您提供选项以结束或退出交互式会话,而不提交当前更改。也可以保持在当前范围内并继续对配置文件进行更改。

    • 要取消所做的更改,请使用 cancel 子命令。

      cancel 子命令结束当前的配置文件配置而不将当前更改提交到持久性存储,然后将交互式会话上移一级,移到紧邻的较高范围内。


  7. 退出交互式会话。
    netcfg> exit
    Nothing to commit
    $

示例 4-3 以交互方式创建位置配置文件

在以下示例中,创建了名为 office 的位置。

$ netcfg
netcfg> create loc office
Created loc 'office'.  Walking properties ...
activation-mode (manual) [manual|conditional-any|conditional-all]> conditional-any
conditions> ncu ip:wpi0 is active
nameservices (dns) [dns|files|nis|ldap]> 
nameservices-config-file ("/etc/nsswitch.dns")> 
dns-nameservice-configsrc (dhcp) [manual|dhcp]> 
nfsv4-domain> 
ipfilter-config-file> /export/home/test/wifi.ipf.conf
ipfilter-v6-config-file> 
ipnat-config-file> 
ippool-config-file> 
ike-config-file> 
ipsecpolicy-config-file> 
netcfg:loc:office> list
LOC:office
    activation-mode              conditional-any
    conditions                   "ncu ip:wpi0 is active"
    enabled                      false
    nameservices                 dns
    nameservices-config-file     "/etc/nsswitch.dns"
    dns-nameservice-configsrc    dhcp
    ipfilter-config-file         "/export/home/test/wifi.ipf.conf"
netcfg:loc:office> verify
All properties verified
netcfg:loc:office> commit
Committed changes
netcfg> list
NCPs:
    User
    Automatic
Locations:
    Automatic
    NoNet
    test-loc
WLANs:
    sunwifi
    ibahn
    gogoinflight
    admiralsclub
    hhonors
    sjcfreewifi
netcfg> exit
Nothing to commit
$

在此示例中,为 office 位置指定了以下属性:

有关可以为这些属性指定哪些值的说明,请参见 netcfg(1M) 手册页。

创建 ENM 配置文件

ENM 与 NWAM 外部应用程序(例如 VPN 应用程序)的配置有关。这些应用程序可以创建和修改网络配置。ENM 也可以定义为在激活或取消激活 ENM 时直接修改网络配置的服务或应用程序。您可以将 NWAM 配置为在您指定的条件下激活和取消激活 ENM。对于 NCP 或位置配置文件,在任何给定时间系统中只能有一个配置文件类型处于活动状态。与 NCP 或位置配置文件不同,多个 ENM 可以在同一时间在系统中处于活动状态。在任何给定时间,系统中处于活动状态的 ENM 不一定依赖于在同时在系统中也处于活动状态的 NCP 或位置配置文件。


注 - NWAM 不会自动识别您可能要为其创建 ENM 的应用程序。只有先在系统中安装并配置这些应用程序后,才能使用 netcfg 命令为这些应用程序创建 ENM。


要创建 ENM,请键入以下命令:

$ netcfg
netcfg> create enm my_enm
Created enm 'my_enm'.  Walking properties ...

其中 enm 是ENM配置文件,my_enm 是对象名称。

创建 ENM 的过程会将您带到新创建的 ENM 的配置文件范围内,并自动开始遍历新创建的 ENM 中的属性。您可以从这里为 ENM 设置属性,指示何时激活 ENM、如何激活 ENM 以及其他条件(包括 ENM 的启动和停止方法)。

有关指定 ENM 属性的详细说明,请参见 netcfg(1M) 手册页。

下表描述了创建或修改 ENM 时可能指定的属性。

属性名
说明
可能值
activation-mode
用于确定 ENM 的激活的模式
conditional-anyconditional-allmanual
conditions
如果激活模式是 conditional-anyconditional-all ,请指定测试以确定是否必须激活 ENM。
如果使用该属性,此值为一个字符串,格式采用 netcfg(1M) 手册页中的“条件表达式”一节中指定的格式。
start
(可选的)要在激活时执行的脚本的绝对路径
脚本的路径(如果使用此属性)
stop
(可选的)要在取消激活时执行的脚本的绝对路径
脚本的路径(如果使用此属性)
fmri
(可选的)要在 ENM 激活时启用的故障管理资源标识符 (fault managed resource identifier, FMRI)

注 - 必须指定 FMRI 或启动脚本。如果指定了 FMRI,startstop 属性将被忽略。


脚本的路径

示例 4-4 以交互方式创建 ENM 配置文件

在以下示例中,在交互模式下创建了名为 test-enm 的 ENM。

$ netcfg
netcfg> create enm test-enm
Created enm 'testenm'.  Walking properties ...
activation-mode (manual) [manual|conditional-any|conditional-all]> 
fmri> svc:/application/test-app:default
start> 
stop> 
netcfg:enm:test-enm> list
ENM:test-enm
    activation-mode     manual
    enabled             false
    fmri                "svc:/application/test-enm:default"
netcfg:enm:test-enm> verify
All properties verified
netcfg:enm:test-enm> end
Committed changes
netcfg> list
NCPs:
    User
    Automatic
Locations:
    Automatic
    NoNet
    test-loc
ENMs:
    test-enm
WLANs:
    sunwifi
    ibahn
    gogoinflight
    admiralsclub
    hhonors
    sjcfreewifi
netcfg> end
$

在此示例中,使用以下属性值创建了名为 test-enm 的 ENM:

创建 WLAN

NWAM 维护已知 WLAN 的系统范围内的列表。WLAN 是配置对象,其中包含您从自己的系统连接到的无线网络的历史记录和配置信息。此列表用于确定 NWAM 尝试连接到可用无线网络时采取的顺序。如果已知 WLAN 列表中有一个无线网络可用,NWAM 会自动连接到该网络。如果有两个或更多个已知网络可用,NWAM 将连接到优先级最高(数字最小)的无线网络。NWAM 连接到的任何新的无线网络将被添加到已知 WLAN 列表的顶部,成为新的优先级最高的无线网络。

要创建 WLAN 对象,请键入以下命令:

$ netcfg
netcfg> create wlan mywifi
Created wlan 'mywifi'.  Walking properties ...

其中 wlan 是 WLAN 对象,mywifi 是对象名称。

创建 WLAN 对象的过程会将您带到新创建的 WLAN 的配置文件范围内,并自动开始遍历新创建的 WLAN 中的属性。您可以从这里为 WLAN 设置那些定义其配置的属性。

下表描述了创建或修改 WLAN 时可能指定的属性。

已知 WLAN 属性
属性的数据类型
name
ESSID(无线网络名称)
bssids
连接到指定 WLAN 时您的系统已连接到的 WLAN 的基站 ID
priority
WLAN 连接首选项(优先选用与较低值对应的连接)
keyslot
包含 WEP 密钥的插槽号 (1–4)
keyname
使用 dladm create-secobj 命令创建的 WLAN 密钥的名称。
security-mode
正在使用的加密密钥的类型。类型必须为 nonewepwpa

示例 4-5 创建 WLAN

在以下示例中,创建了名为 mywifi 的 WLAN 对象。

此示例假定在添加 WLAN mywifi 之前,创建了一个名为 mywifi-key 的安全对象,其中包含由该 WLAN 的 keyname 属性指定的密钥。

添加或删除其他 WLAN 时优先级数字可以随之更改。请注意不能对不同的两个 WLAN 指定相同的优先级数字。数字越小,指示优先级越高,对应的 WLAN 就会优先选用。在此示例中,为该 WLAN 指定优先级数字 100 以确保它的优先级低于其他任何已知 WLAN。

在过程结尾使用 list 子命令时,该新 WLAN 将添加到列表底部,指示它在所有现有的已知 WLAN 中优先级最低。如果为该 WLAN 指定了优先级数字零(0,这是缺省值),它就会显示在列表顶部,指示其优先级最高。随后,所有其他现有 WLAN 的优先级相应下调,在列表中显示在新添加的 WLAN 之后。

$ netcfg
netcfg> create wlan mywifi
Created wlan 'mywifi'.  Walking properties ...
priority (0)> 100
bssids> 
keyname> mywifi-key
keyslot> 
security-mode [none|wep|wpa]> wpa
netcfg:wlan:mywifi> list
WLAN:mywifi
    priority            100
    keyname             "mywifi-key"
    security-mode       wpa
netcfg:wlan:mywifi> verify
All properties verified
netcfg:wlan:mywifi> end
Committed changes
netcfg> list
NCPs:
    User
    Automatic
Locations:
    Automatic
    NoNet
    test-loc
ENMs:
    test-enm
WLANs:
    sunwifi
    ibahn
    gogoinflight
    admiralsclub
    hhonors
    sjcfreewifi
    mywifi
netcfg> exit
Nothing to commit
$