このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

ネットワークの設定:nmcliコマンド

nmcliコマンドの概要

 nmcliコマンドは、NetworkManagerをコマンドラインから操作するためのツールです。nmcliでは、オブジェクトと呼ばれる操作対象を指定し、そのオブジェクトに対してコマンドを実行します。オブジェクトには、NetworkManagerが管理するさまざまなネットワーク設定や状態を操作するためのカテゴリーが含まれており、全部で8つのオブジェクトがあります。

nmcliコマンドのオブジェクト

以下に、nmcliコマンドのオブジェクトとそのコマンド例、および簡単な説明を表にまとめます。

オブジェクトコマンド例説明
helpnmcli helpnmcliの使い方やオプションについてのヘルプを表示します。
generalnmcli general statusNetworkManagerの全般的な状態を確認します。
nmcli general hostname現在設定されているホスト名を表示します。
networkingnmcli networking [on|off]ネットワークを有効/無効にします。
radionmcli radioWi-FiおよびBluetoothのラジオ状態を表示します。
nmcli radio wifiWi-Fiの状態を表示します(有効/無効)。
nmcli radio wifi [on|off]Wi-Fiを有効/無効にします。
connectionnmcli connection show接続の一覧を表示します。
nmcli connection modify NIC名 パラメータ指定されたネットワークインターフェースの設定を変更します。
devicenmcli device statusネットワークデバイスの一覧と状態を表示します。
nmcli device modify NIC名 パラメータ指定されたネットワークデバイスの設定を変更します。
nmcli device wifi list周辺のWi-Fiネットワークの一覧を表示します。
agentnmcli agentNetworkManagerの動作エージェントを制御します。
monitornmcli monitorNetworkManagerの状態変化をリアルタイムで監視します。
nmcliコマンドのオブジェクト

コマンドの使用例と解説

以下に、nmcliコマンドの使用例を示し、それぞれのコマンドについて解説します。

1.ネットワークの状態を確認する。

・「nmcli general status」コマンドを実行します。

 このコマンドは、NetworkManagerの全般的な状態を確認します。具体的には、NetworkManagerが動作しているかどうか、ネットワークが有効かどうか、接続されているネットワークの種類(有線、無線、VPNなど)を表示します。

user01@ubuntu-vm:~$ nmcli general status
STATE     CONNECTIVITY  WIFI-HW  WIFI  WWAN-HW  WWAN 
接続済み  完全          有効     有効  有効     有効 
2.ホスト名を表示する。

・「nmcli general hostname」コマンドを実行します。

 このコマンドは、現在設定されているホスト名を表示します。システムのホスト名はネットワークでデバイスを識別するために重要です。

user01@ubuntu-vm:~$ nmcli general hostname
ubuntu-vm
3.ネットワークを無効にする。

・「nmcli networking off」コマンドを実行します。

 このコマンドは、NetworkManagerを通じてシステムのネットワーク機能を無効にします。onオプションを使用することで、ネットワークを有効にすることもできます。

user01@ubuntu-vm:~$ nmcli networking off
4.ネットワークを有効にする。

・「nmcli networking on」コマンドを実行します。

 このコマンドは、NetworkManagerを通じてシステムのネットワーク機能を有効にします。offオプションを使用することで、ネットワークを無効にすることもできます。

user01@ubuntu-vm:~$ nmcli networking on
5.Wi-Fi接続の状態を確認する。

・「nmcli radio wifi」コマンドを実行します。

 このコマンドは、Wi-Fi接続の状態(有効/無効)を表示します。Wi-Fiを有効/無効にするには、nmcli radio wifi onまたはnmcli radio wifi offを使用します。

user01@ubuntu-vm:~$ nmcli radio wifi
enabled
6.接続の一覧を表示する。

・「nmcli connection show」コマンドを実行します。

 このコマンドは、現在NetworkManagerが管理しているすべてのネットワーク接続を一覧表示します。接続名、UUID、タイプ(有線、無線など)、デバイス名などが表示されます。

※注意:[NIC名]は、NICにつけられる識別名を表します。VirtualBoxでは、1つ目のNICにはenp0s3が設定されます。一般的なディストリビューションでは、eth0が設定されます。

user01@ubuntu-vm:~$ nmcli connection show
NAME        UUID                                  TYPE      DEVICE 
有線接続 1  0c65a36c-ab29-3b81-b6f7-8996af420cc2  ethernet  enp0s3 
7.周辺のWi-Fiネットワークを一覧表示する。

・「nmcli device wifi list」コマンドを実行します。

 このコマンドは、現在検出されている周辺のWi-Fiネットワークの一覧を表示します。SSIDや信号強度、セキュリティ情報などが確認できます。ここでは、無線接続がないため何も表示されていませんが、無線接続があれば表示されます。

user01@ubuntu-vm:~$ nmcli device wifi list
8.NetworkManagerの状態をリアルタイムで監視する。

・「nmcli monitor」コマンドを実行します。

 このコマンドは、NetworkManagerの状態変化をリアルタイムで監視します。例えば、ネットワーク接続が確立されたり、切断されたりした際に、その変化をすぐに確認できます。

user01@ubuntu-vm:~$ nmcli monitor

・ターミナル(端末)をもう一つ、起動します。

新しく起動したターミナル(端末)で以下のコマンドを実行します。

  • nmcli networking off」コマンド
  • nmcli networking on」コマンド
user01@ubuntu-vm:~$ nmcli networking off
user01@ubuntu-vm:~$ nmcli networking on

・もとのターミナル(端末)を確認します。

user01@ubuntu-vm:~$ nmcli monitor
Networkmanager の状態は '休止中' です
enp0s3: 停止中
enp0s3: 切断済み
プライマリー接続がありません
enp0s3: 管理無し
接続性は '制限付き' です
接続性は 'なし' です
enp0s3: 利用不可
Networkmanager の状態は '切断済み' です
enp0s3: 切断済み
enp0s3: 接続 '有線接続 1' を使用中
enp0s3: 接続中 (準備)
Networkmanager の状態は '接続中' です
enp0s3: 接続中 (設定中)
enp0s3: 接続中 (IP 設定を取得中)
enp0s3: 接続中 (IP の接続性チェック)
'有線接続 1' はプライマリー接続です
enp0s3: 接続中 (セカンダリー接続を開始)
enp0s3: 接続済み
Networkmanager の状態は '接続完了 (サイトのみ)' です
接続性は '制限付き' です
Networkmanager の状態は '接続済み' です
接続性は '完全' です

・「Ctrl」+「C」キーを押します。

モニターを終了させます。

^Cエラー: nmcli がシグナル 割り込み (2) で終了しました
(null): 不明
(null): 不明
user01@ubuntu-vm:~$

まとめ

 nmcliコマンドは、NetworkManagerを効率的に管理するための強力なツールであり、コマンドラインからさまざまなネットワーク設定を操作することができます。オブジェクトごとに異なるコマンドを使用することで、ネットワークの状態確認や設定変更を柔軟に行うことが可能です。Linuxシステムにおいて、nmcliコマンドを習得することは、ネットワーク管理の効率を高めるために非常に重要です。