Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
3.3. nmcli を使用する IP ネットワークの設定
nmcli (NetworkManager コマンドラインインターフェイス) コマンドラインユーティリティーは、NetworkManager を制御しネットワークの状態を把握するのに使用されます。このユーティリティーは、nm-applet またはその他のグラフィカルクライアントの代替として使用できます。「NetworkManager のツール」を参照してください。nmcli は、ネットワーク接続の作成、表示、編集、削除、有効化、および非アクティブ化に使用され、ネットワークデバイスのステータスの制御や表示に使用します。
ユーザーおよびスクリプトの両方が、nmcli ユーティリティーを使用して NetworkManager を制御することができます。
- サーバー、ヘッドレスのマシン、およびターミナルについては、GUI を介さずに直接 nmcli を使って NetworkManager を制御し、ネットワーク接続を作成、編集、開始、および停止したり、ネットワークの状態を把握したりすることができます。
- スクリプトに関しては、nmcli はスクリプト処理に適した簡素出力フォーマットをサポートします。この場合、ネットワーク接続を手動で管理するのではなく、ネットワーク設定の整合性を維持するために用いられます。
nmcli コマンドの基本形式は、
nmcli [OPTIONS] OBJECT { COMMAND | help }です。ここでの OBJECT は、
general
、networking
、radio
、connection
、device
、agent
、monitor
のいずれかのオプションになります。コマンドには、このいずれかの接頭辞を使用できます。たとえば、nmcli con help、nmcli c help、nmcli connection help はいずれも同じ出力を生成します。
OPTIONS で便利なオプションは以下のとおりです。
- -t (terse)
- このモードは、コンピューターのスクリプト処理に使用される場合があり、値だけを表示する簡潔な出力を確認できます。
例3.1 簡潔な出力の表示
nmcli -t device ens3:ethernet:connected:Profile 1 lo:loopback:unmanaged:
- -f (field)
- このオプションでは、どのフィールドを出力に表示できるかを指定します。たとえば、NAME、UUID、TYPE、AUTOCONNECT、ACTIVE、DEVICE、STATE です。フィールドは、1 つまたは複数使用できます。複数のフィールドを使用する場合は、フィールドを区切るコンマの後に空白を入力しないでください。
例3.2 出力内のフィールドの指定
~]$ nmcli -f DEVICE,TYPE device DEVICE TYPE ens3 ethernet lo loopback
また、次のようなスクリプトの記述に適しています。~]$ nmcli -t -f DEVICE,TYPE device ens3:ethernet lo:loopback
- -p (pretty)
- このオプションでは、nmcli により、人間が理解可能な出力を生成します。たとえば、値を揃え、ヘッダーを表示します。
例3.3 pretty モードで出力の表示
nmcli -p device ===================== Status of devices ===================== DEVICE TYPE STATE CONNECTION -------------------------------------------------------------- ens3 ethernet connected Profile 1 lo loopback unmanaged --
- -h (help)
- ヘルプ情報を表示します。
nmcli ツールには、コンテキスト感知ヘルプが組み込まれています。
- nmcli help
- このコマンドでは、その後のコマンドで使用される利用可能なオプションおよびオブジェクト名のリストが表示されます。
- nmcli object help
- このコマンドでは、指定したオブジェクトに関する利用可能なアクションのリストが表示されます。以下に例を示します。
nmcli c help
3.3.1. nmcli の簡単な選択例
例3.4 NetworkManager の全体ステータスの確認
~]$ nmcli general status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
簡潔モードの場合は、以下のようになります。
~]$ nmcli -t -f STATE general
connected
例3.5 NetworkManager のロギングの状態の表示
~]$ nmcli general logging
LEVEL DOMAINS
INFO PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,WIFI_SCAN,IP4,IP6,A
UTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC,
WIMAX,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,DBUS_PROPS,TEAM,CONCHECK,DC
B,DISPATCH
例3.6 すべての接続を表示
~]$ nmcli connection show
NAME UUID TYPE DEVICE
Profile 1 db1060e9-c164-476f-b2b5-caec62dc1b05 ethernet ens3
ens3 aaf6eb56-73e5-4746-9037-eed42caa8a65 ethernet --
例3.7 現在アクティブな接続のみを表示
~]$ nmcli connection show --active
NAME UUID TYPE DEVICE
Profile 1 db1060e9-c164-476f-b2b5-caec62dc1b05 ethernet ens3
例3.8 NetworkManager が認識するデバイスおよびそのステータスの表示
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
ens3 ethernet connected Profile 1
lo loopback unmanaged --
nmcli コマンドの次の省略形も使用できます。
表3.1 nmcli コマンドの省略形の例
nmcli コマンド | 省略形 | |
---|---|---|
nmcli general status | nmcli g | |
nmcli general logging | nmcli g log | |
nmcli connection show | nmcli con show | |
nmcli connection show --active | nmcli con show -a | |
nmcli device status | nmcli dev |
その他の例は、『nmcli-examples(5)』 の man ページを参照してください。