Linux環境でネットワークの設定や接続を管理する際、GUIがないサーバー環境ではコマンドラインの操作が不可欠です。そんなときに役立つのが「nmcli」コマンドです。
nmcliはNetworkManagerを操作するためのCLI(コマンドラインインターフェース)ツールで、接続の一覧表示、IPアドレス設定、Wi-Fi接続、VPN管理など、ネットワークに関する幅広い操作が可能です。
この記事では、nmcliの基本から応用まで、実用的な使い方をわかりやすく解説していきます。ネットワーク管理を効率化したい方、Linux初心者から中級者まで、必見の内容です。
nmcliとは何か?
nmcliは「NetworkManager Command Line Interface」の略で、Red Hat系ディストリビューション(例:RHEL、CentOS、Fedora)を中心に、多くのLinuxディストリビューションで使われています。
NetworkManagerは、Linuxにおけるネットワーク設定を一元的に管理するデーモンです。GUIのツール(たとえばnmtui
やGNOMEのネットワーク設定)と連携して動作しており、nmcliはそのCLI版です。
nmcliを使うことで、以下のような操作が可能です。
- ネットワーク接続の確認
- IPアドレスやDNSの設定変更
- Wi-Fiネットワークへの接続
- VPNの設定・接続
- ネットワークの有効化・無効化 など
ネットワークの状態を確認する
まずはネットワークの基本的な状態を確認してみましょう。
デバイス一覧を表示
nmcli device
このコマンドで、ネットワークデバイスの一覧が確認できます。出力例は以下の通りです:
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected Wired connection 1
wlan0 wifi disconnected --
lo loopback unmanaged --
ここでSTATEがconnected
であれば、ネットワークに接続中ということになります。
接続情報の表示
nmcli connection show
これは現在保存されている接続プロファイルの一覧を表示します。各プロファイルには名前がついており、それを使って設定や削除ができます。
有線接続の設定と管理
有線接続は多くのサーバー環境で使用されます。nmcliを使って静的IPアドレスの設定やプロファイルの管理が可能です。
静的IPの設定方法
nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
nmcli connection up "Wired connection 1"
これにより、Wired connection 1
というプロファイルに対して、IPアドレス・ゲートウェイ・DNSを手動で設定し、接続を再起動しています。
DHCPに戻す場合
nmcli connection modify "Wired connection 1" ipv4.method auto
nmcli connection up "Wired connection 1"
Wi-Fiに接続する
ラップトップや一部のサーバーでWi-Fiを使いたい場合も、nmcliで簡単に接続できます。
使用可能なWi-Fiネットワークを表示
nmcli device wifi list
ここでSSID一覧が表示されます。
Wi-Fiに接続する
nmcli device wifi connect "SSID名" password "パスワード"
接続が成功すると、接続プロファイルが自動で作成されます。
ネットワーク接続の有効化・無効化
特定のネットワーク接続やデバイスを無効化・有効化することも可能です。
デバイスを無効化
nmcli device disconnect eth0
デバイスを有効化
nmcli device connect eth0
または、NetworkManager自体を制御することもできます。
nmcli networking off
nmcli networking on
新しい接続プロファイルの作成
手動で新しい接続を作成することも可能です。たとえば、新しい有線接続で静的IPを設定する場合:
nmcli connection add type ethernet ifname eth0 con-name my-static-eth ip4 192.168.1.200/24 gw4 192.168.1.1
作成後は以下のようにして有効化できます。
nmcli connection up my-static-eth
接続プロファイルの削除
不要な接続プロファイルを削除したいときには次のようにします。
nmcli connection delete "接続名"
接続名は nmcli connection show
で確認した名前です。
スクリプトでの自動化に便利
nmcliはスクリプトからの実行にも向いています。たとえば、起動時に特定のIP設定を行いたい、VPNを自動接続したいといった場合にも活用できます。
標準出力が整っているため、grepやawkなど他のコマンドとの連携もしやすく、シェルスクリプトとの相性が抜群です。
エラーが出たときの対処法
nmcliを使っていて「接続できない」「反映されない」などのトラブルが起きた場合には以下の点を確認しましょう。
- NetworkManagerが起動しているか: bashコピーする編集する
systemctl status NetworkManager
- 設定の正確性(スペルミスやネットワーク範囲など)
nmcli general logging level debug
でログ出力を確認
また、どうしても接続できない場合には、ifconfig
や ip
コマンドを併用してネットワーク状況をチェックするのも有効です。
まとめ
nmcliはLinux環境でネットワークを効率よく管理するための非常に強力なツールです。GUIが使えないサーバー環境やリモート環境でも、柔軟にネットワーク接続を操作できる点が最大のメリットです。
本記事で紹介した内容をベースに、自分の環境に合わせてさらに細かい設定を加えていくことで、より安全で安定したネットワーク管理が実現できるはずです。Linuxのネットワーク操作を深めたい方は、ぜひnmcliを積極的に使いこなしてみてください。