LinuCレベル2 201試験の例題と解説
2.03.1基本的なネットワーク構成
今回は201試験の試験範囲から「2.03.1 基本的なネットワーク構成」についての例題を解いてみます。
今回は比較的新しいネットワークデバイスの制御ユーティリティであるnmcliを取り上げます。nmcliで使用される各種オプションや項目を覚えましょう。
例題
以下の空欄に当てはまる、nmcliツールを対話的な接続エディタとして使用するための正しい内容を選択してください。
# nmcli con < > ens192
- modify
- edit
- set
- monitor
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2. edit」です。
nmcliはネットワーク管理ツールであるNetworkManagerの制御や情報を表示させるためのコマンドラインユーティリティです。NetworkManagerは、例えばRed Hat Enterprise LinuxやCentOSの7系や8系で採用されています。
nmcliコマンドの基本的な形式は以下の通りです。
nmcli [OPTIONS] OBJECT { COMMAND | help }
OBJECTには以下のいずれかを指定します。
general: | NetworkManager自体の状態やパーミッションの確認を行えます。また、ホスト名やログレベルの設定も行えます。 |
networking: | ネットワークの状態やネットワークの有効・無効の設定を行えます。 |
radio: | ラジオボタン形式のように設定できる項目の確認と設定を行えます。 |
connection: | 静的IPアドレスの設定やDHCPの有効化設定などのネットワーク設定を行えます。 |
device: | 物理的なネットワークインターフェースの設定を行えます。 |
agent: | NetworkManagerをsecret agentかpolkit agentとして動作させるかの設定を行えます。 |
monitor: | NetworkManagerのアクティビティや接続状態の変更などを監視します。 |
OBJECTの中でも今回はconnectionについて詳説します。
connectionに続くCOMMANDは以下の通りです。
show: | コネクション設定の確認を行えます。 |
up: | コネクションを有効化します。 |
down: | コネクションを無効化します。 |
modify: | コネクション設定の特定の項目の追加・削除・修正を行えます。 |
add: | 新規コネクションを作成します。 |
edit: | コネクション設定の修正や追加を対話的に行えるエディタを起動します。 |
clone: | コネクションをコピーします。 |
delete: | コネクションを削除します。 |
monitor: | コネクションのアクティビティを監視します。 |
reload: | 全てのコネクション設定をファイルから読み込み直します。 |
load: | コネクション設定をファイルから新規に読み込み、もしくは、読み込み直します。 |
import: | 部システムでのコネクション設定をファイルから読み込みます。 |
export: | コネクション設定をエクスポートします。 |
以下にnmcli con editの使用例を記載します。
nmcli con edit ens192
上記を実行すると、以下のようなプロンプトが表示され、詳細な操作を行えるようになります。
nmcli>
この状態で、"print"と入力すると、選択したコネクション設定をすべて表示させることができます。
nmcli> print
===============================================================================
接続プロファイルの詳細 (ens192)
===============================================================================
connection.id: ens192
connection.uuid: d3aa3fde-0df8-4079-83fc-8bd044ef14c8
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: ens192
connection.autoconnect: はい
・・・以下省略・・・
出力させる項目を絞る場合は、"print 設定"のように入力します。
なお、設定の書式は"setting.prop"となっていて、("大項目.小項目"のようなイメージです。)"setting"のみ指定すると、その項目の全ての設定を表示させ、"prop"まで指定すると、指定した特定の項目のみ表示させることができます。
nmcli> print ipv4
['ipv4' 設定値]
ipv4.method: auto
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: ""
ipv4.dns-priority: 0
ipv4.addresses: 192.168.2.70/24, 192.168.2.71/24, 192.168.2.72/24
ipv4.gateway: --
ipv4.routes: --
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.routing-rules: --
ipv4.ignore-auto-routes: いいえ
ipv4.ignore-auto-dns: いいえ
ipv4.dhcp-client-id: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: はい
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.never-default: いいえ
ipv4.may-fail: はい
ipv4.dad-timeout: -1 (default)
nmcli> print ipv4.addresses
ipv4.addresses: 192.168.2.70/24, 192.168.2.71/24, 192.168.2.72/24
実際に設定を行うには、"set 設定 値"と入力します。
以下に前後に設定の確認を入れた例を示します。
nmcli> print ipv4.dns
ipv4.dns:
nmcli> set ipv4.dns 8.8.8.8
nmcli> print ipv4.dns
ipv4.dns: 8.8.8.8
この状態では設定は保存されていません。
設定を保存するには、"save"と入力する必要があります。
nmcli> save
接続 'ens192' (d3aa3fde-0df8-4079-83fc-8bd044ef14c8) が正常に更新されました。
対話的なエディタを終了させるには、"quit"と入力する必要があります。
nmcli> quit
最後に、エディタ上で使えるコマンドは"help"で確認することができます。
nmcli> help
------------------------------------------------------------------------------
---[ メインメニュー ]---
goto [<setting> | <prop>] :: 設定またはプロパティーに移動する
remove <setting>[.<prop>] | <prop> :: 設定を削除する、またはプロパティー値をリセットする
set [<setting>.<prop> <value>] :: プロパティー値を設定する
describe [<setting>.<prop>] :: プロパティーの説明を表示する
print [all | <setting>[.<prop>]] :: 接続を出力する
verify [all | fix] :: 接続を検証する
save [persistent|temporary] :: 接続を保存する
activate [<ifname>] [/<ap>|<nsp>] :: 接続をアクティベートする
back :: ひとつ上のレベルに移動する (戻る)
help/? [<command>] :: このヘルプを表示する
nmcli <conf-option> <value> :: nmcli 設定
quit :: nmcli を終了する
------------------------------------------------------------------------------
例題の選択肢について解説します。
- modifyはコネクション設定を修正できるものの、対話的には行えないので誤りです。
- 正しい選択肢です。
- setはdeviceに続くCOMMANDで、デバイスの設定をするCOMMANDなので誤りです。
- monitorはコネクションを監視するCOMMANDなので誤りです。
nmcliの基本的な操作を覚えて、NetworkManagerでの管理を効率よく行いましょう。
例題作成者
株式会社デージーネット ソリューション開発部 徳武 竜太