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 は、generalnetworkingradioconnectiondeviceagentmonitor のいずれかのオプションになります。コマンドには、このいずれかのプレフィックスを使用できます。たとえば、nmcli con helpnmcli c helpnmcli 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 ページを参照してください。