手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

netcfg(1M)

名称

netcfg - 创建和修改网络配置文件

用法概要

netcfg
netcfg subcommand [
options...]
netcfg [-d] -f 
command-file
netcfg help [subcommand]

描述

netcfg 实用程序处理系统网络配置文件。可以通过单个子命令或通过指定一个包含一系列子命令的命令文件,以交互方式调用 netcfg

netcfg 实用程序可对几种不同类型的配置文件进行操作:

  • 网络配置文件 (Network Configuration Profile, NCP)

  • 位置

  • 外部网络修饰器 (External Network Modifier, ENM)

  • 已知 WLAN

有关这些配置文件类型的更多详细信息,请参见“配置文件”部分。

netcfg 命令在作用域内执行。作用域有以下三种:全局、配置文件和 NCP。如果不带任何参数调用 netcfg,则会在全局作用域内开始编辑会话。在全局作用域内,NCP、位置和 ENM 配置文件以及已知的 WLAN 项均可用于操作。选择 NCP 将使编辑会话移到 NCP 作用域;在该作用域中,可以创建或选择要移到配置文件作用域的单个网络配置单元 (Network Configuration Unit, NCU)。此外,如果在全局作用域中选择或创建位置、ENM 或已知的 WLAN,将使编辑会话移到配置文件作用域。

在给定的配置文件作用域中,可查看和修改配置文件属性。

在交互模式下,调用提交之前不会将更改存储到持久性存储器。提交会在“结束”或“退出”时隐式调用,也可由用户显式调用。在调用提交时,将提交整个配置文件。为了维护持久性存储器的一致性,提交操作中加入了一个验证步骤;如果验证失败,则提交也会失败。如果隐式提交失败,则将为用户提供结束或退出的选项而不提交当前更改,或者保留在当前作用域内进行进一步更改。

配置文件

配置文件

NWAM 服务将所需的属性值存储在配置文件中,以此管理网络配置。接着,该服务根据当前网络条件确定应在给定时间激活哪个配置文件,然后激活该配置文件。除了上一节中所讨论的网络配置文件 (NCP) 之外,nwamd 还管理位置和 ENM 配置文件。

网络配置文件 (Network Configuration Profile, NCP)

NCP 指定本地网络组件(包括所有数据链路和接口)的配置。这些组件统称为网络配置单元 (Network Configuration Unit, NCU)。

NCP 要么是“反应性的”,要么是“固定的”。反应性 NCP 包括用于确定每个 NCU 应在何时启用的策略规则。可以设置策略,以便当网络条件发生更改时网络配置可以随之更改。固定 NCP 不包括这些策略规则;在启用 NCP 时将完全应用其配置,且系统不会对其进行更改,不管是否发生了故障或网络状态是否发生了变化。

系统将创建一个名为 DefaultFixed 的固定 NCP。在新安装的系统上,此 NCP 将包含安装期间创建的任何网络配置(不管是在交互式安装期间创建的还是通过在自动安装期间应用的配置文件创建的)。如果在系统安装期间未指定网络配置,则 DefaultFixed NCP 最初将为空。

系统还会创建一个反应性 NCP。自动 NCP 由 nwamd 创建和管理,不能由用户修改。此 NCP 由一个链路 NCU 和一个接口 NCU 组成,它们均表示系统中的每个物理链路。当在系统中添加或删除链路时,也将在自动 NCP 中添加或删除它们的相应 NCU。通过此 NCP 实现的策略将选择有线链路而不是无线链路,并检查所有已连接有线链路上的 IP;如果未连接有线链路,该策略将选择一个无线链路。

用户不应修改 Automatic NCP。它由系统进行管理,以匹配当前链路集和特定的配置策略;系统可能会随时做出更改,这些更改可能会覆盖或干扰用户所做的更改。如果需要修改,可以创建一个副本,然后修改该副本;请参阅 create 子命令及其 –t 选项。

最后,用户可以创建任意数量的附加反应性 NCP。这些 NCP 完全由用户管理;必须显式添加或删除 NCU,可以添加未映射到当前已安装到系统中的任何链路的 NCU,也可以删除映射到系统中的链路的 NCU。用户可以确定适用于这些 NCP 的策略。

必须始终存在一个活动的 NCP。新安装的系统上的活动 NCP 是由安装方法确定的;活动 NCP 可能是 Automatic NCP(对于 LiveCD 安装或使用指定了活动 NCP 的定制配置文件的自动安装),也可能是 DefaultFixed(对于其他安装方法)。系统从不会更改活动 NCP。用户可以随时使用 GUI 或 netadm(1M) 命令执行此操作。

位置

位置指定系统范围的网络配置,包括名称服务、域、IP 过滤器和 IPsec 配置。

外部网络修饰器 (External Network Modifier, ENM)

顾名思义,外部网络修饰器是 NWAM 服务的外部应用程序,可用于修改和/或创建网络配置。nwamd 可根据 ENM 配置文件中指定的条件来激活或取消激活 ENM。或者,用户可根据需要选择手动激活/取消激活 ENM。

当位置配置文件允许根据当前网络条件自动配置一组特定的网络相关服务的同时,也限制了该组服务。ENM 提供附加的灵活性,允许用户指定对 SMF 服务属性和/或状态或要在特定条件下应用的任何其他系统设置的更改。

属性

属性

netcfg 支持以下类型的属性:

  • NCP 属性

  • NCU 属性

  • 接口 NCU 的属性 

  • 所有链路 NCU 的通用属性

  • 位置属性

  • ENM 属性

  • 已知的 WLAN 属性

以下小节中将介绍这些属性。

|NCP 属性

每个 NCP 都有一个只读属性。

management-type:枚举值:fixed | reactive

确定系统管理 NCP 的方式。固定 NCP 在 NCP 被激活时应用所有配置,没有后续的系统干预。反应性 NCP 是以更积极的方式予以管理的,借助用于确定何时应配置每个链路或接口的 nwamd 强制策略规则。

用户无法设置或更改此属性的值。使用 netcfg 创建的所有 NCP 都会将 management-type 设置为 reactive。只有一个固定 NCP,名为 DefaultFixed,是由系统创建的。

NCU 属性

以下属性是所有 NCU 的通用属性。

type:枚举值:link | interface

指定 NCU 类型(linkinterface)。根据指定的类隐式确定值。

class:枚举值:phys(适用于链路 NCU);ip(适用于接口 NCU)

指定 NCU 类。

parent:字符串:name of parent NCP

指定此 NCU 所属的 NCP。

typeclassparent 属性是在创建 NCU 时设置的,并且以后无法更改。

enabled:布尔值:true | false

如果 activation-mode 是 manual,则 enabled 属性将反映 NCU 的当前状态。此属性是只读属性;通过使用 netadm(1M) 启用或禁用 NCU,可间接更改此属性。

缺省值为 true

接口 NCU 的属性

ip-version:枚举值列表:ipv4 | ipv6

在此 NCU 上应使用的 IP 版本。

缺省值为 ipv4,ipv6

ipv4-addrsrc:枚举值列表:dhcp | static

标识分配给此 NCU 的 IPv4 地址的源;可分配多个值。如果分配的值之一是 static,则 ipv4-addr 属性必须包括至少一个要分配给 NCU 的 IPv4 地址。

缺省值为 dhcp

ipv4-addr:IPv4 地址列表

一个或多个要分配给此 NCU 的 IPv4 地址。

ipv4-default-route:IPv4 address

缺省路由器的 IPv4 地址;如果设置了此属性,则在启动此接口时,IPv4 通信的缺省路由将与此接口关联。

ipv6-addrsrc:枚举值列表:dhcp | autoconf | static

标识分配给此 NCU 的 IPv6 地址的源;可分配多个值。如果分配的值之一是 static,则 ipv6-addr 属性必须包括至少一个要分配给 NCU 的 IPv6 地址。

缺省值为 dhcp,autoconf

ipv6-addr:IPv6 地址列表

一个或多个要分配给此 NCU 的 IPv6 地址。

ipv6-default-route: IPv6 address

缺省路由器的 IPv6 地址;如果设置了此属性,则在启动此接口时,IPv6 通信的缺省路由将与此接口关联。

所有链路 NCU 的通用属性

activation-mode:枚举值:manual | prioritized

用于自动激活此 NCU 的触发器类型。

缺省值为 manual

priority-groupuint64group priority number

如果 activation-mode 设置为 prioritized,该属性将指定此 NCU 所属的优先级组。组由一个或多个 NCU 组成;数字越小,优先级越高。确定为可用的最高优先级组将通过 nwamd(1M) 激活,并且一直保持到不再可用为止,或保持到更高优先级组变为可用为止。

priority-mode:枚举值:exclusive | shared | all

如果 activation-mode 设置为 prioritized,此属性将指定用于确定优先级组的可用性和激活行为的模式。

exclusive

至少必须有一个 NCU 可用,才能使组可用,并且只会激活一个 NCU。如果有多个成员 NCU 可用,nwamd(1M) 将随机选择一个进行激活。

shared

至少必须有一个 NCU 可用,才能使组可用;将激活所有可用的 NCU。

all

所有组成员 NCU 均必须可用,才能使组可用;将激活所有成员 NCU。

mac-address:字符串:48 位 MAC 地址

分配给此链路的 MAC 地址。缺省情况下,NWAM 将要求链路的出厂分配 MAC 地址或缺省 MAC 地址;在此设置一个不同的值可覆盖该选项。

autopush:字符串:要在链路上推动的模块

标识链路打开时应在其上自动推动的一列模块。该字符串可以包含多个模块名称;使用单个字符 "."(句点)分隔各个模块名称。

mtu字符串:此链路的 MTU 大小

此属性将被自动设置为物理链路的缺省 MTU;将此属性设置为不同的值可覆盖该值。

请注意,允许的 MTU 值的范围取决于底层硬件。由于在提供附带有驱动程序的底层硬件之前可以创建 NCU,因此无法验证在编辑 NCU 时设置的值。如果由于 MTU 大小无效而未能激活 NCU,则会在系统日志中指明这种情况,并且 NCU 将被置于维护状态。

位置属性

activation-mode:枚举值:manual | system | conditional-all | conditional-any

用于自动激活此位置的触发器类型。

缺省值为 manual

enabled:布尔值:true | false

如果 activation-mode 是 manual,则 enabled 属性将反映位置的当前状态。此属性是只读属性;通过使用 netadm(1M) 启用或禁用位置,可间接更改此属性。

缺省值为 false

conditions:字符串列表:conditional expressions

如果 activation-mode 设置为 conditional-allconditional-any,则此属性会指定测试来确定是否应激活此位置。条件表达式由可赋予布尔值的一系列条件组成,例如 "advertised-domain is sun.com" 或 "ip:bge0 is-not active"。下面的“条件表达式”一节中定义了这些表达式的格式。如果指定了多个条件,则要满足激活要求,要么所有条件均为真(当 activation-modeconditional-all 时),要么任何一个条件为真(当 activation-modeconditional-any 时)。

注意 advertised-domainsystem-domain 之间的区别。声明域可通过外部通信方式了解,例如 DHCP 服务器声明的 DNSdmainNISdmain。此属性适用于位置的条件激活;例如,如果声明域是 mycompany.com,则激活“工作”位置。系统域是当前分配给系统的域,即由 domainname(1M) 命令返回的值。此属性适用于 ENM 的条件激活,因为只有在激活位置并且为该特定域配置系统后,条件才会变为真。

default-domain:字符串:system domain name

应适用于系统的域名;此域名将由 NIS 和 LDAP 使用。

nameservices:枚举值列表:files | dns | nis | ldap

指定应配置的名称服务,例如 DNS、NIS 和 LDAP。

nameservices-config-file:字符串:path to nsswitch.conf file

指定要使用的 nsswitch.conf 文件。此属性必须始终具有一个值。如果 nameservices 属性指定单个名称服务,则此属性缺省情况下将包含 nameservices 属性中指定的名称服务的 /etc/nsswitch.nameservice;用户可更改该值。如果 nameservices 属性标识多个名称服务,则用户必须为此属性另外指定一个值。

dns-nameservice-configsrc:枚举值列表:manual | dhcp

指定应该用来获取 DNS 名称服务的配置信息的源。如果带有 manual,则将使用其余的 dns-nameservice-* 属性。

dns-nameservice-domain:字符串:domain name
dns-nameservice-servers:字符串列表:name server address(es)
dns-nameservice-search:字符串列表:domain search string
dns-nameservice-sortlist:字符串列表:IP addressnetmask pair(s)
dns-nameservice-options:字符串列表:resolver variable(s) to be modified

如果 DNS 是已配置的名称服务之一,并且 manual 是其配置源之一,则这些属性可指定其配置参数。只有 servers 是必需属性;searchdomain 是互斥的,因此只能指定其中一项,如果同时使用了 dhcp,则会覆盖 DHCP 服务器提供的域。这些值的格式与 resolv.conf(4) 中的各个选项相同。

nis-nameservice-configsrc:枚举值列表:manual | dhcp

指定应该用来获取 NIS 名称服务的配置信息的源。如果带有 manual,则将使用其余的 nis-nameservice-* 属性。

nis-nameservice-servers:字符串列表:name server address(es)

如果 NIS 是已配置的名称服务之一,并且 manual 是其配置源之一,则此属性可指定其服务器地址。如果未指定此属性,则会以广播模式启动 NIS 客户机。

ldap-nameservice-configsrc:枚举值列表:manual

指定应该用来获取 LDAP 名称服务的配置信息的源。manual 当前是 LDAP 的唯一选项;因此必须提供 ldap-nameservice-* 属性才能完成 LDAP 配置。

ldap-nameservice-servers:字符串列表:name server address(es)

如果 LDAP 是已配置的名称服务之一,则此属性可指定其服务器地址。此属性为必需属性,并且预计指定的服务器将具有用于完成客户机配置的客户机配置文件。

nfsv4-domain:字符串:domain name to be used for NVSv4

指定要使用的 NVSv4 域。如果不指定此值,则将使用名称服务域。

ipfilter-config-file:字符串:path to ipfilter IPv4 configuration file
ipfilter-v6-config-file:字符串:path to ipfilter IPv6
ipnat-config-file:字符串:path to ipnat configuration file
ippool-config-file:字符串:path to ippool configuration file

这些属性分别为 ipfilter(5) 配置的组件指定规则文件的路径。如果设置了给定的 config-file 属性,则将启用对应的 IP 过滤器组件,并从指定的文件读取配置。

ike-config-file:字符串:path to IKEv1 configuration file

指定 IKEv1 配置文件。如果指定了一个值,则将启用 svc:/network/ipsec/ike:default 服务,并从指定的文件读取配置。

ikev2-config-file:字符串:path to IKEv2 configuration file

指定 IKEv2 配置文件。如果指定了一个值,则将启用 svc:/network/ipsec/ike:ikev2 服务,并从指定的文件读取配置。

ipsecpolicy-config-file:字符串:path to IPsec policy configuration file

指定 IPsec 策略配置文件。如果指定了一个值,则将启用 svc:/network/ipsec/policy 服务,并从指定的文件读取配置。

ENM 属性

activation-mode:枚举值:manual | conditional-all | conditional-any

用于自动激活此 ENM 的触发器类型。

缺省值为 manual

enabled:布尔值:true | false

如果 activation-mode 是 manual,则 enabled 属性将反映 ENM 的当前状态。此属性是只读属性;通过使用 netadm(1M) 启用或禁用 ENM,可间接更改此属性。

缺省值为 false

conditions:字符串列表:conditional expressions

如果 activation-mode 设置为 conditional-allconditional-any,则此属性会指定测试来确定是否应激活此 ENM。条件表达式由可赋予布尔值的一系列条件组成,例如 "system-domain is sun.com" 或 "ip:bge0 is-not active"。下面的“条件表达式”一节中定义了这些表达式的格式。如果指定了多个条件,则要满足激活要求,要么所有条件均为真(当 activation-modeconditional-all 时),要么任何一个条件为真(当 activation-modeconditional-any 时)。

注意 advertised-domainsystem-domain 之间的区别。声明域可通过外部通信方式了解,例如 DHCP 服务器声明的 DNSdmainNISdmain。此属性适用于位置的条件激活;例如,如果声明域是 mycompany.com,则激活“工作”位置。系统域是当前分配给系统的域,即由 |domainname|(1M) 命令返回的值。此属性适用于 ENM 的条件激活,因为只有在激活位置并且为该特定域配置系统后,条件才会变为真。

fmri:字符串:service FMRI

如果此 ENM 已作为 SMF 服务执行,则此属性会标识该服务。如果指定了此属性,则将通过启用服务来激活 ENM,通过禁用服务来取消激活 ENM。

start:字符串:start command

如果此 ENM 未作为 SMF 服务执行,则此属性会标识应执行以启动或激活 ENM 的命令。如果已设置 FMRI 属性,则将忽略此属性。

stop:字符串:stop command

如果此 ENM 未作为 SMF 服务执行,则此属性会标识应执行以停止/取消激活 ENM 的命令。如果已设置 FMRI 属性,则将忽略此属性。

已知的 WLAN 属性

bssids:字符串列表:WLAN BSSID(AP MAC 地址)

如果一个特定访问点的优先级高于具有相同名称/ESSID 的其他访问点,则此属性允许指定 AP 的 BSSID。

priority: uint64:一个数字优先级值

此 WLAN 的相对优先级;数字越小表示优先级越高。

请注意,可以更改该数字,前提是对已知 WLAN 对象的设置的后续更改需要进行此类更改。以配置有两个已知的 WLAN 对象 wlanAwlanB 的系统为例。wlanA 优先级为 1,wlanB 优先级为 2。创建一个新的已知 WLAN wlanC,并且分配的优先级为 2。在此情况下,整个列表将被更新,使 wlanA 的优先级为 1,wlanC 的优先级为 2,而 wlanB 的优先级为 3。任何两个 WLAN 都不得具有相同的优先级值,因此增加优先级为 2 的 wlanC 会强制 wlanB 的优先级下降。如果存在优先级低于 wlanB 的任何其他 WLAN,则它们的优先级也会相应地改变。

keyslot: uint64:要用于此 WLAN 的密钥插槽

如果 WLAN 使用支持多个密钥插槽的加密模式,则可在此属性中指定放置密钥的插槽。如果未指定,缺省情况下将使用插槽 1。

keyname:字符串列表:安全对象名称

允许用户将使用 dladm(1M) 创建的安全对象与已知的 WLAN 进行关联。

条件表达式

可根据用户指定的一组条件激活位置和 ENM。下表概述了这些条件表达式的语法。

对象类型
对象
条件
ncp|ncu|enm|loc
名称
活动/不活动
Object Type       Condition                           Object
------------------------------------------------------------
essid             is/is-not/contains/does-not-contain name string
bssid             is/is-not                           bssid string
ip-address        is/is-not                           IPv4 or IPv6 
                                                      address
ip-address        is-in-range/is-not-in-range         IPv4 or IPv6 
                                                      address plus
                                                      netmask/prefixlen
advertised-domain is/is-not/contains/does-not-contain name string
system-domain     is/is-not/contains/does-not-contain name string

选项

以下选项与任何特定的 netcfg 子命令无关联:

–d

在从命令文件(请参见以下选项)读取子命令之前删除所有配置。

–f command_file

command_file 读取并执行 netcfg 子命令。

子命令

所支持的子命令如下。

cancel

结束当前配置文件指定,而不向持久性存储器提交当前所做的更改,然后进入下一更高级别的作用域。

此子命令在 NCP 和配置文件作用域中有效。

clear prop-name

清除指定属性的值。

此子命令在配置文件作用域中有效。

commit

将当前配置文件提交至持久性存储器。由于待提交的配置必须正确,因此该操作还会在对象上自动执行验证。在离开当前作用域(使用 endexit 子命令)时,会自动尝试执行提交操作。

此子命令在配置文件作用域中有效。

请注意,在非交互模式中不需要进行提交,这是由于更改值的任何子命令均采用隐式提交。

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

创建指定类型和名称的内存中配置文件。–t template 选项指定新对象应与 template 完全相同,其中 template 是相同类型的现有对象的名称。如果不使用 –t 选项,则用缺省值创建新对象。对于 NCP,只能创建一个“用户”NCP。

此子命令在全局和 NCP 作用域中有效。

destroy { –a | object-type [ class ] object-name }

从内存和持久性存储器中删除所有配置文件或指定的配置文件。此操作是即时操作,不需要提交。已销毁的对象无法进行恢复。

如果指定了特定对象,此子命令将在全局和 NCP 作用域中有效;–a 选项仅在全局作用域中有效。

end

结束当前配置文件指定,然后进入下一更高级别的作用域。在结束前将验证并提交当前对象;如果验证或提交失败,则会发出一条相应的错误消息,并为用户提供结束机会,而不提交当前所做的更改,或者保留在当前作用域中继续进行编辑。

此子命令在任何作用域中均有效。

exit

退出 netcfg 会话。在结束前将验证并提交当前配置文件;如果验证或提交失败,则会发出一条相应的错误消息,并为用户提供退出机会,而不提交当前所做的更改,或者保留在当前作用域中继续进行编辑。

此子命令在任何作用域中均有效。

export [ –d ] [ –f output-file ] [ object-type [ class ] object-name ]

将当前作用域或指定作用域中的当前配置输出到标准输出,或输出到使用 –f 选项指定的文件。–d 选项生成 destroy –a 作为首行输出。此子命令以适用于命令文件的格式生成输出。无法导出系统创建的对象(包括 Automatic NCP 和 Automatic、NoNet 以及 User 位置)。

此子命令受限,仅可导出可使用 netcfg 命令创建的配置;NCP 可能会包含只能通过 ipadm(1M)dladm(1M) 设置的 NCU 或 NCU 属性。在 export 子命令的输出中将忽略此类配置。

此子命令在任何作用域中均有效。

get [ –V ] prop-name

获取指定属性的当前(内存中)值。缺省情况下,将会同时输出属性名称和属性值;如果指定了 –V 选项,则只会显示属性值。

此子命令在配置文件作用域中有效。

help [ subcommand ]

显示一般帮助或有关特定子命令的帮助。

此子命令在任何作用域中均有效。

list [ –a ] [ object-type [ class ] object-name ]

列出当前作用域或指定作用域中的所有配置文件、属性值对和资源。在列出对象的属性时,缺省行为是仅列出适用于所指定配置的属性。也就是说,如果列出 ipv4-addrsrcdhcp 的 IP NCU,则不会列出 ipv4-addr 属性。包含 –a 选项将导致列出所有属性,无论这些属性是否适用于当前设置。

此子命令在任何作用域中均有效。

revert

删除对当前配置文件所做的任何当前更改,并从持久性存储器中恢复值。

此子命令在配置文件作用域中有效。

select object-type [ class ] object-name

选择当前作用域级别中可用的配置文件之一,向下跳转到该对象的作用域中。所选对象将从持久性存储器装入到内存中。

此子命令在全局和 NCP 作用域中有效。

set prop-name= value1[,value2...]

设置指定属性的当前(内存中)值。如果在非交互模式下执行,则会同时将所做的更改提交到持久性存储器。

用于分隔多值属性的值的分隔符是 ","(逗号)。如果此类属性中的任何单个值包含逗号,则必须对其进行转义(即写为 \,)。如果属性只有一个值,其中的逗号不会被解释为分隔符,因此无需进行转义。

此子命令在配置文件作用域中有效。

verify

验证当前的内存中对象的配置是否有效。

此子命令在配置文件作用域中有效。

walkprop [ –a ]

遍历与当前配置文件关联的每个属性。对于每个属性,均会显示名称和当前值,并给出提示以便用户更改当前值。

用于分隔多值属性的值的分隔符是 ","(逗号)。如果此类属性中的任何单个值包含逗号,则必须对其进行转义(即写为 \,)。如果属性只有一个值,其中的逗号不会被解释为分隔符,因此无需进行转义。

缺省情况下,只会遍历对于已设置的属性而言所需要的属性;也就是说,如果将 ipv4-addrsrc 设置为 dhcp,则不会遍历 ipv4-addr。包含 –a 选项将导致遍历所有可用的属性。

此子命令在配置文件作用域中有效。

此子命令仅在交互模式下有意义。

示例

示例 1 设置 NCU 属性

以下命令从命令行(即在非交互模式下)设置 NCU 属性。

# netcfg "select ncp User; select ncu phys net1; set mtu=1492"
示例 2 列出顶层配置文件

以下命令从命令行列出所有顶层配置文件。

# netcfg list
NCPs:
        Automatic
        User
Locations:
        Automatic
        home
        NoNet
        office
ENMs:
        enmtest
        myenm
WLANs:
        sunwifi
        coffeeshop
        linksys
示例 3 销毁位置配置文件

以下命令从命令行销毁位置配置文件。

# netcfg destroy loc home
Destroyed loc 'home'
示例 4 创建 NCU 配置文件

以下命令序列以交互方式创建 NCU 配置文件。

# netcfg
netcfg> select ncp user
netcfg:ncp:User> create ncu ip net1
Created ncu 'net1'.  Walking properties ...
ip-version (ipv4,ipv6) [ipv4|ipv6]> ipv4
ipv4-addrsrc (dhcp) [dhcp|static]> static
ipv4-addr> 168.1.2.3
netcfg:ncp:User:ncu:net1> list
ncu:net1
        type:             interface
        class:            ip
        parent:           "User"
        enabled           true
        ip version:       ipv4
        ipv4-addrsrc:     static
        ipv4-addr:        "168.1.2.3"
        ipv6-addrsrc      dhcp,autoconf
netcfg:ncp:User:ncu:net1> commit
Committed changes
netcfg:ncp:User:ncu:net1> end
netcfg:ncp:User> exit
示例 5 处理 ENM

以下命令序列选择现有的 ENM、显示其内容并更改属性值。

# netcfg
netcfg>select enm myenm
netcfg:enm:myenm>list
ENM:myenm
        activation-mode manual
        enabled         true
        start           "/usr/local/bin/myenm start"
        stop            "/usr/local/bin/myenm stop"
netcfg:enm:myenm>set stop="/bin/alt_stop"
netcfg:enm:myenm>list
ENM:myenm
        activation-mode manual
        enabled         true
        start           "/usr/local/bin/myenm start"
        stop            "/bin/alt_stop"
netcfg:enm:myenm>exit
Committed changes

示例 6 配置静态地址

以下命令序列使用 Home NCP 在接口 bge0 上配置静态地址 192.168.2.12/24。在激活 Home NCP 时,缺省情况下会启用此接口。

# netcfg
netcfg> create ncp Home

首先配置 phys NCU:

netcfg:ncp:Home> create ncu phys bge0
Created ncu 'bge0'.  Walking properties ...
activation-mode (manual) [manual|prioritized]>
mac-address>
autopush>
mtu>
netcfg:ncp:Home:ncu:bge0> end
Committed changes
netcfg:ncp:Home>

然后配置 IP NCU:

netcfg:ncp:Home> create ncu ip bge0
Created ncu 'bge0'.  Walking properties ...
ip-version (ipv4,ipv6) [ipv4|ipv6]>
ipv4-addrsrc (dhcp) [dhcp|static]> static
ipv4-addr> 192.168.2.10/24
ipv4-default-route>
ipv6-addrsrc (dhcp,autoconf) [dhcp|autoconf|static]>
ipv6-default-route>
netcfg:ncp:Home:ncu:bge0> list
ncu:bge0
    type                interface
    class               ip
    parent              "Home"
    enabled             true
    ip-version          ipv4,ipv6
    ipv4-addrsrc        static
    ipv4-addr           "192.168.2.10/24"
    ipv6-addrsrc        dhcp,autoconf
netcfg:ncp:Home:ncu:bge0> exit
Committed changes
#

使用 netadm(1M) 切换到 Home NCP。

示例 7 根据条件配置位置

以下命令序列根据条件配置位置。只要 IP 地址位于 10.0.8.0/24 子网中,就会激活此位置。此外,在此位置也会配置 NIS。

netcfg> select loc office
netcfg:loc:office> list
loc:office
       activation-mode                 conditional-any
       conditions                      "ip-address is 10.0.8.0/24"
       enabled                         false
       nameservices                    dns,nis
       nameservices-config-file        "/etc/nsswitch.nis"
       dns-nameservice-configsrc       dhcp
       nis-nameservice-configsrc       manual
       nis-nameservice-servers         "10.2.18.24"
       default-domain                  "labs.east.sun.com"
netcfg:loc:office>
示例 8 创建已知的 WLAN

以下命令序列使用 WEP 密钥建立一个名为 coffeeshop 的已知 WLAN。

netcfg> select wlan coffeeshop
netcfg:wlan:coffeeshop> list
known wlan:coffeeshop
       priority                2
       keyname                 "foo"
       security-mode           wep
netcfg:wlan:coffeeshop> set priority=1
netcfg:wlan:coffeeshop> end
Committed changes
示例 9 将当前配置导出到文件

以下命令将当前配置导出到文件。

netcfg> export -f /tmp/nwam.config

或者,从 Unix 命令行执行同样的任务:

# netcfg export -f /tmp/nwam.config
示例 10 从文件中导入当前配置

以下命令从文件中导入当前配置。

# netcfg -f /tmp/nwam.config

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)

另请参见

dladm(1M)domainname(1M)ipadm(1M)netadm(1M)netcfgd(1M)nwamd(1M)resolv.conf(4)attributes(5)ipfilter(5)

另请参见 JDS/GNOME 手册页集合中的 nwam-manager(1M)