Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

netcfg(8)

名前

netcfg - 外部ネットワーク修飾子 (ENM) の作成および変更

形式

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

説明

netcfg ユーティリティーは、外部ネットワーク修飾子 (ENM) を操作します。netcfg は対話形式で個々のサブコマンドを使って呼び出すことも、一連のサブコマンドが含まれているコマンドファイルを指定して呼び出すこともできます。

外部ネットワーク修飾子 (ENM) は、その名前が示すとおり、ネットワーク構成の変更や作成を行うことのできる NWAM サービス外部のアプリケーションです。nwamd は、ENM の一部として指定されている条件に応じて、ENM をアクティブ化または非アクティブ化します。または、必要に応じてユーザーが手動で ENM をアクティブ化または非アクティブ化することもできます。

ENM にはさらなる柔軟性が備わっているため、ユーザーは SMF サービスのプロパティーまたは状態 (あるいはその両方) やほかのシステム設定に対する変更が特定の条件下で適用されるように指定することができます。

NWAM サービスは、必要なプロパティー値をプロファイルに保存することにより、構成を管理します。次に、どの時点でどの ENM をアクティブにするべきかを現在のネットワーク条件に応じて判定します。

netcfg コマンドは、スコープ内で実行されます。大域と enm の 2 つのスコープがあります。netcfg が引数なしで呼び出されると、編集セッションがグローバルスコープ内で開始します。大域スコープでは、ENM を操作できます。ENM を選択すると、編集セッションが enm スコープに移動されます。

enm スコープ内で、そのプロパティーを表示して変更できます。

対話型モードでは、確定処理が呼び出されるまで、変更は永続ストレージに保存されません。確定処理は「最後」または「終了」時に暗黙的に呼び出されますが、ユーザーが明示的に呼び出すこともできます。確定処理が呼び出されると、ENM 全体が確定します。永続ストレージの整合性を維持するために、確定処理には検証手順が含まれています。検証が失敗すると、確定処理も失敗します。暗黙の確定処理が失敗した場合、ユーザーは、現在の変更を確定せずに終了するか、または現在のスコープのままさらに変更を続けるオプションが与えられます。

プロパティー

netcfg では、次の ENM プロパティーがサポートされます。

ENM のプロパティー

activation-mode: 列挙値: manual | conditional-all | conditional-any

この ENM の自動アクティブ化のトリガーのタイプ。

デフォルト値は manual です。

enabled: ブール型: true | false

activation-mode が manual の場合、enabled プロパティーは ENM の現在の状態を反映します。このプロパティーは読み取り専用です。netadm(8) を使って ENM を有効または無効にすることで間接的に変更されます。

デフォルト値は false です。

conditions: 文字列のリスト: 条件式

activation-mode が conditional-all または conditional-any に設定されている場合、このプロパティーは、この ENM をアクティブ化すべきかどうかを判断するテストを指定します。条件式は、「system-domain is oracle.com」や「interface net0 is-not active」などのブール値を割り当てることができる一連の条件から構成されます。これらの式の形式は、下記の「条件式」セクションで定義されています。複数の条件が指定された場合、アクティブ化要件を満たすにはすべての条件が true である必要があるか (activation-modeconditional-all)、いずれか 1 つの条件が true であればよいか (activation-modeconditional-any) のどちらかです。

advertised-domainsystem-domain の間には相違点があります。通知されたドメインは、DHCP サーバーによって通知された、DNSdmainNISdmain などの外部通信を使用して学習されます。システムドメインとは、システムに現在割り当てられているドメインです。つまり、|domainname| コマンドで返される値です。

fmri: 文字列: サービス FMRI

この ENM が SMF サービスとして実装された場合、このプロパティーはそのサービスを識別します。このプロパティーが指定されている場合、ENM がアクティブ化されると、対応する SMF サービスが有効になります。ENM が非アクティブ化されると、SMF サービスは無効になります。

start: 文字列: 起動コマンド

この ENM が SMF サービスとして実装されない場合、このプロパティーは、ENM を起動またはアクティブ化するために実行すべきコマンドを識別します。FMRI プロパティーが設定されている場合、このプロパティーは無視されます。

stop: 文字列: 停止コマンド

この ENM が SMF サービスとして実装されない場合、このプロパティーは、ENM を停止または非アクティブ化するために実行すべきコマンドを識別します。FMRI プロパティーが設定されている場合、このプロパティーは無視されます。

条件式

ENM は、ユーザー指定の条件セットに基づいてアクティブ化できます。これらの条件式の構文を次の表にまとめます。

オブジェクトタイプ
オブジェクト
条件
link|interface|enm
名前
is/is-not active
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

永続ストレージに対する現在の変更を確定することなく、現在の ENM 指定を終了し、次の上位のスコープに移ります。

このサブコマンドは enm スコープで有効です。

clear prop-name

指定したプロパティーの値を消去します。

このサブコマンドは enm スコープで有効です。

commit

永続ストレージに現在の ENM を確定します。構成が正しく設定されていないと確定できないので、この操作では、ENM での検証も自動的に行われます。確定操作は、現在のスコープから外れるときに自動的に試行されます (end サブコマンドまたは exit サブコマンドの使用時)。

このサブコマンドは enm スコープで有効です。

非対話型モードでは、値を変更するすべてのサブコマンドで暗黙に確定が行われるので、確定操作は必要ありません。

create [ –t template ] enm-name

指定した名前のインメモリー ENM を作成します。–t template オプションは、新しい ENM を template と同じにするべきであることを指定します。ここで、template は既存の ENM の名前です。–t オプションを使用しない場合、新しい ENM はデフォルト値で作成されます。

このサブコマンドは大域スコープで有効です。

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

メモリーおよび永続ストレージから、–a オプションを含むすべての ENM または指定された ENM を削除します。このアクションは即座に実行されます。確定する必要はありません。破棄した ENM を元に戻すことはできません。

このサブコマンドは大域スコープで有効です。

end

現在の ENM 指定を終了し、次の上位のスコープに移ります。終了する前に、現在の ENM が検証され確定されます。検証操作または確定処理のどちらかが失敗した場合、該当するエラーメッセージが発行され、ユーザーには、現在の変更を確定せずに終了するか、現在のスコープのまま編集を続行するかを選択する機会が与えられます。

このサブコマンドはどのスコープでも有効です。

exit

netcfg セッションを終了します。編集前に、現在のプロファイルが検証され確定されます。どちらかの処理が失敗した場合、該当するエラーメッセージが発行され、ユーザーには、現在の変更を確定せずに終了するか、現在のスコープのまま編集を続行するかを選択する機会が与えられます。

このサブコマンドはどのスコープでも有効です。

export [ –d ] [ –f output-file ] [ enm-name ]

現在または指定した ENM を、標準出力または –f オプションで指定したファイルに出力します。–d オプションは、出力の最初の行として「destroy –a」を生成します。このサブコマンドを使用すると、コマンドファイルに適した形式で出力が生成されます。

このサブコマンドはどのスコープでも有効です。

get [ –V ] prop-name

指定したプロパティーの現在 (メモリー内) の値を取得します。デフォルトで、プロパティー名と値の両方が出力されます。–V オプションを指定した場合は、プロパティー値のみが表示されます。

このサブコマンドは enm スコープで有効です。

help [ subcommand ]

一般ヘルプまたは特定のサブコマンドに関するヘルプを表示します。

このサブコマンドはどのスコープでも有効です。

list [ –a ] [ enm-name ]

現在または指定したスコープに存在するすべての ENM、プロパティーと値のペア、およびリソースを一覧表示します。ENM のプロパティーを一覧表示するときには、デフォルトの動作で、値が設定されたプロパティーのみを一覧表示します。–a オプションを含めると、値が設定されているかどうかにかかわらず、すべてのプロパティーが一覧表示されます。

このサブコマンドはどのスコープでも有効です。

revert

現在の ENM に対する現在の変更を削除し、永続ストレージから値を元に戻します。

このサブコマンドは enm スコープで有効です。

select enm-name

指定した ENM を選択して、ENM スコープに移動します。選択した ENM は、永続ストレージからメモリーにロードされます。

このサブコマンドは大域スコープで有効です。

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

指定したプロパティーの現在 (メモリー内) の値を設定します。非対話型モードで実行した場合、永続ストレージにも変更が確定されます。

複数の値を持つプロパティーの値の区切り文字は「,」(コンマ) です。このようなプロパティー内の個々の値にコンマが含まれる場合、コンマをエスケープする必要があります (つまり、\, と記述)。単一の値のみを持つプロパティー内のコンマは、区切り文字として解釈されず、エスケープする必要はありません。

このサブコマンドは enm スコープで有効です。

verify

現在のインメモリー ENM に有効な構成があることを確認します。

このサブコマンドは enm スコープで有効です。

walkprop [ –a ]

現在の ENM に関連付けられた各プロパティーを調査します。プロパティーごとに、名前と現在値が表示され、ユーザーが現在の値を変更するためのプロンプトが表示されます。

複数の値を持つプロパティーの値の区切り文字は「,」(コンマ) です。このようなプロパティー内の個々の値にコンマが含まれる場合、コンマをエスケープする必要があります (つまり、\, と記述)。単一の値のみを持つプロパティー内のコンマは、区切り文字として解釈されず、エスケープする必要はありません。

デフォルトでは、すでに設定されているプロパティーに基づいて、必要なプロパティーのみが調査されます。つまり、activation-mode が manual に設定されている場合、conditions は調査されません。–a オプションを含めると、使用可能なすべてのプロパティーが調査されます。

このサブコマンドは enm スコープで有効です。

このサブコマンドは、対話型モードでのみ意味があります。

使用例 1 すべての ENM の一覧表示

次のコマンドは、コマンド行からすべての使用可能な ENM を一覧表示します。

# netcfg list
ENMs:
        enmtest
        myenm
使用例 2 条件付き ENM の作成

次のコマンドシーケンスは、インタフェース net0 の状態に基づく条件を使用して ENM を対話形式で作成します。

# netcfg
netcfg> create enm1
Created enm 'enm1'.  Walking properties ...
activation-mode (manual) [manual|conditional-any|conditional-all]> conditional-all
conditions> interface net0 is active
fmri>      
start> /usr/bin/start
stop> 
netcfg:enm:enm1> list
enm:enm1
        activation-mode         conditional-all
        conditions              "interface net0 is active"
        enabled                 false
        start                   "/usr/local/bin/enm1"
netcfg:enm:enm1> commit
Committed changes
netcfg:enm:enm1> end
netcfg:> exit
使用例 3 ENM の破棄

次のコマンドは、コマンド行から ENM を破棄します。

# # netcfg destroy myenm
使用例 4 ENM を操作する

次のコマンドシーケンスは、既存の ENM を選択し、その内容を表示して、プロパティー値を変更します。

# netcfg
netcfg>select 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

使用例 5 現在の構成をファイルにエクスポートする

次のコマンドは現在の構成をファイルにエクスポートします。

netcfg> export -f /tmp/nwam.config

または、UNIX コマンド行から同じタスクを実行します。

# netcfg export -f /tmp/nwam.config
使用例 6 現在の構成をファイルからインポートする

次のコマンドは現在の構成をファイルからインポートします。

# netcfg -f /tmp/nwam.config

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/network
インタフェースの安定性
確実

関連項目

attributes(7), netadm(8), netcfgd(8), nwamd(8)