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 の自動アクティブ化のトリガーのタイプ。
デフォルト値は manual です。
activation-mode が manual の場合、enabled プロパティーは ENM の現在の状態を反映します。このプロパティーは読み取り専用です。netadm(8) を使って ENM を有効または無効にすることで間接的に変更されます。
デフォルト値は false です。
activation-mode が conditional-all または conditional-any に設定されている場合、このプロパティーは、この ENM をアクティブ化すべきかどうかを判断するテストを指定します。条件式は、「system-domain is oracle.com」や「interface net0 is-not active」などのブール値を割り当てることができる一連の条件から構成されます。これらの式の形式は、下記の「条件式」セクションで定義されています。複数の条件が指定された場合、アクティブ化要件を満たすにはすべての条件が true である必要があるか (activation-mode が conditional-all)、いずれか 1 つの条件が true であればよいか (activation-mode が conditional-any) のどちらかです。
advertised-domain と system-domain の間には相違点があります。通知されたドメインは、DHCP サーバーによって通知された、DNSdmain や NISdmain などの外部通信を使用して学習されます。システムドメインとは、システムに現在割り当てられているドメインです。つまり、|domainname| コマンドで返される値です。
この ENM が SMF サービスとして実装された場合、このプロパティーはそのサービスを識別します。このプロパティーが指定されている場合、ENM がアクティブ化されると、対応する SMF サービスが有効になります。ENM が非アクティブ化されると、SMF サービスは無効になります。
この ENM が SMF サービスとして実装されない場合、このプロパティーは、ENM を起動またはアクティブ化するために実行すべきコマンドを識別します。FMRI プロパティーが設定されている場合、このプロパティーは無視されます。
この ENM が SMF サービスとして実装されない場合、このプロパティーは、ENM を停止または非アクティブ化するために実行すべきコマンドを識別します。FMRI プロパティーが設定されている場合、このプロパティーは無視されます。
ENM は、ユーザー指定の条件セットに基づいてアクティブ化できます。これらの条件式の構文を次の表にまとめます。
|
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 サブコマンドに関連付けられていません。
コマンドファイルからサブコマンドを読み取る前に、すべての構成を削除します (次のオプションを参照)。
command_file から netcfg サブコマンドを読み取り、実行します。
次のサブコマンドがサポートされています。
永続ストレージに対する現在の変更を確定することなく、現在の ENM 指定を終了し、次の上位のスコープに移ります。
このサブコマンドは enm スコープで有効です。
指定したプロパティーの値を消去します。
このサブコマンドは enm スコープで有効です。
永続ストレージに現在の ENM を確定します。構成が正しく設定されていないと確定できないので、この操作では、ENM での検証も自動的に行われます。確定操作は、現在のスコープから外れるときに自動的に試行されます (end サブコマンドまたは exit サブコマンドの使用時)。
このサブコマンドは enm スコープで有効です。
非対話型モードでは、値を変更するすべてのサブコマンドで暗黙に確定が行われるので、確定操作は必要ありません。
指定した名前のインメモリー ENM を作成します。–t template オプションは、新しい ENM を template と同じにするべきであることを指定します。ここで、template は既存の ENM の名前です。–t オプションを使用しない場合、新しい ENM はデフォルト値で作成されます。
このサブコマンドは大域スコープで有効です。
メモリーおよび永続ストレージから、–a オプションを含むすべての ENM または指定された ENM を削除します。このアクションは即座に実行されます。確定する必要はありません。破棄した ENM を元に戻すことはできません。
このサブコマンドは大域スコープで有効です。
現在の ENM 指定を終了し、次の上位のスコープに移ります。終了する前に、現在の ENM が検証され確定されます。検証操作または確定処理のどちらかが失敗した場合、該当するエラーメッセージが発行され、ユーザーには、現在の変更を確定せずに終了するか、現在のスコープのまま編集を続行するかを選択する機会が与えられます。
このサブコマンドはどのスコープでも有効です。
netcfg セッションを終了します。編集前に、現在のプロファイルが検証され確定されます。どちらかの処理が失敗した場合、該当するエラーメッセージが発行され、ユーザーには、現在の変更を確定せずに終了するか、現在のスコープのまま編集を続行するかを選択する機会が与えられます。
このサブコマンドはどのスコープでも有効です。
現在または指定した ENM を、標準出力または –f オプションで指定したファイルに出力します。–d オプションは、出力の最初の行として「destroy –a」を生成します。このサブコマンドを使用すると、コマンドファイルに適した形式で出力が生成されます。
このサブコマンドはどのスコープでも有効です。
指定したプロパティーの現在 (メモリー内) の値を取得します。デフォルトで、プロパティー名と値の両方が出力されます。–V オプションを指定した場合は、プロパティー値のみが表示されます。
このサブコマンドは enm スコープで有効です。
一般ヘルプまたは特定のサブコマンドに関するヘルプを表示します。
このサブコマンドはどのスコープでも有効です。
現在または指定したスコープに存在するすべての ENM、プロパティーと値のペア、およびリソースを一覧表示します。ENM のプロパティーを一覧表示するときには、デフォルトの動作で、値が設定されたプロパティーのみを一覧表示します。–a オプションを含めると、値が設定されているかどうかにかかわらず、すべてのプロパティーが一覧表示されます。
このサブコマンドはどのスコープでも有効です。
現在の ENM に対する現在の変更を削除し、永続ストレージから値を元に戻します。
このサブコマンドは enm スコープで有効です。
指定した ENM を選択して、ENM スコープに移動します。選択した ENM は、永続ストレージからメモリーにロードされます。
このサブコマンドは大域スコープで有効です。
指定したプロパティーの現在 (メモリー内) の値を設定します。非対話型モードで実行した場合、永続ストレージにも変更が確定されます。
複数の値を持つプロパティーの値の区切り文字は「,」(コンマ) です。このようなプロパティー内の個々の値にコンマが含まれる場合、コンマをエスケープする必要があります (つまり、\, と記述)。単一の値のみを持つプロパティー内のコンマは、区切り文字として解釈されず、エスケープする必要はありません。
このサブコマンドは enm スコープで有効です。
現在のインメモリー ENM に有効な構成があることを確認します。
このサブコマンドは enm スコープで有効です。
現在の ENM に関連付けられた各プロパティーを調査します。プロパティーごとに、名前と現在値が表示され、ユーザーが現在の値を変更するためのプロンプトが表示されます。
複数の値を持つプロパティーの値の区切り文字は「,」(コンマ) です。このようなプロパティー内の個々の値にコンマが含まれる場合、コンマをエスケープする必要があります (つまり、\, と記述)。単一の値のみを持つプロパティー内のコンマは、区切り文字として解釈されず、エスケープする必要はありません。
デフォルトでは、すでに設定されているプロパティーに基づいて、必要なプロパティーのみが調査されます。つまり、activation-mode が manual に設定されている場合、conditions は調査されません。–a オプションを含めると、使用可能なすべてのプロパティーが調査されます。
このサブコマンドは 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) を参照してください。
|