1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Linux】nmclliコマンド

Posted at

はじめに

こんにちは。私はアメリカ在住で、独学を通してエンジニアを目指している者です。
本日は現在学習中のLinuxコマンドの1つであるnmcliコマンドについてみていきたいと思います
今までは基本的なlinuxコマンドのみを覚えてきましたが、ネットワークを設定できるコマンドも理解しておくことで今後のAWS環境構築にも役に立つと考えています

nmcliとは

nmcliは、LinuxにおけるNetworkManagerを操作するためのコマンドラインツールです。NetworkManagerは、システム内のネットワーク接続(有線、無線、モバイルブロードバンドなど)を一元管理するデーモンであり、nmcliを使うことで以下のような操作が可能になります。

  • ネットワークデバイスの状態確認
    現在接続されているネットワークインターフェースや、その状態(接続中、未接続、管理対象外など)を一覧表示できます。

    nmcli device status
    
  • 接続プロファイルの管理
    NetworkManagerは各ネットワーク設定(接続プロファイル)を保存しています。nmcliを使ってプロファイルの一覧表示、追加、変更、削除が可能です。

    nmcli connection show
    nmcli connection add type ethernet ifname eth0 con-name "My Ethernet"
    nmcli connection modify "My Ethernet" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1
    nmcli connection up "My Ethernet"
    
  • ホスト名やDNSの設定変更
    nmcliはネットワークインターフェースの設定だけでなく、ホスト全体のネットワーク設定も扱えます。
    たとえばホスト名の変更は、以下のように実行できます。

    nmcli general hostname new-hostname.example.com
    

    また、接続プロファイルのパラメーターとして、IPv4/IPv6のDNSサーバーや検索ドメインの設定も行えます。

    nmcli connection modify "My Ethernet" ipv4.dns "8.8.8.8 8.8.4.4"
    

nmcliの基本的な使い方

nmcliは「オブジェクト」と「コマンド」という統一された形式で操作します。基本の構文は以下の通りです。

nmcli [OPTIONS] OBJECT { COMMAND | help }

主なオブジェクト

  • general
    システム全体の状態、ホスト名、ログレベル、権限などの情報を取得・変更できます。
    nmcli general status
    nmcli general hostname
    
  • device
    ネットワークインターフェース(NIC)の状態表示や、接続、切断、一時的な設定変更を行います。
    nmcli device show
    nmcli device connect eth0
    nmcli device disconnect eth0
    
  • connection
    各接続プロファイルの一覧表示、作成、変更、削除、有効化/無効化が可能です。
    nmcli connection show
    nmcli connection add type ethernet ifname eth0 con-name "Office LAN"
    nmcli connection modify "Office LAN" ipv4.method manual ipv4.addresses 192.168.10.50/24
    nmcli connection up "Office LAN"
    

オプションの例

  • -t (terse)
    簡潔な出力形式で表示するため、スクリプト処理に向いています。

  • -p (pretty)
    見やすい人間向けの整形された出力が得られます。

  • -h (help)
    各オブジェクトやコマンドのヘルプを表示します。

nmcli connection help

具体的な設定例

1. ホスト名の変更

ホスト名を変更するには、generalオブジェクトを使用します。

nmcli general hostname my-new-host.example.com

このコマンドを実行すると、システム全体のホスト名が「my-new-host.example.com」に変更されます。

2. DNSサーバーの設定変更

特定の接続プロファイルのDNSサーバー設定を変更する場合は、connectionオブジェクトで行います。たとえば、IPv4のDNSサーバーをGoogle Public DNSに変更するには:

nmcli connection modify "Office LAN" ipv4.dns "8.8.8.8 8.8.4.4"

変更後、設定を反映させるために接続を再起動します。

nmcli connection down "Office LAN" && nmcli connection up "Office LAN"

3. 静的IPアドレスの設定

DHCPではなく、固定IPアドレスを設定する場合は以下のようにします。

nmcli connection modify "Office LAN" ipv4.method manual ipv4.addresses 192.168.10.50/24 ipv4.gateway 192.168.10.1 ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection up "Office LAN"

まとめ

nmcliは、Linuxシステムにおけるネットワーク管理をコマンドラインから柔軟に操作できる非常に汎用性の高いツールです。

  • ネットワークデバイスや接続プロファイルの状態確認
  • 新規接続の作成・既存接続の変更・削除
  • ホスト名やDNS、IPアドレスなどシステム全体のネットワーク設定の変更
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?