NetworkManager CLI (nmcli) でネットワークを設定する方法

提供:maruko2 Note.
移動: 案内, 検索
nmtui のインターフェイス

目次


nmcli
NetworkManager の CLI (コマンド・ライン・インタフェース)。
nmtui
NetworkManager の TUI (テキスト・ユーザー・インタフェース)。

書式

nmcli [OPTIONS] OBJECT { COMMAND | help }

OBJECT または COMMAND の後に続けて help を入力すると、説明が表示される。

nmcli help
nmcli OBJECT help
nmcli OBJECT COMMAND help

使用例

イーサネットデバイスを追加してIPアドレス固定で設定する

  1. デバイス名を確認する。
  2. nmcli d
    
  3. デバイスを追加する。
  4. nmcli c add type 接続タイプ ifname デバイス名 con-name 接続名
    nmcli c add type ethernet ifname ens33 con-name ens33
    
  5. デバイスの設定内容を確認する。
  6. nmcli c show 接続名
    nmcli c show ens33
    

    show コマンドで表示される設定内容のうち、

    • 上の方にある小文字から始まっている項目は、まだ有効になっていない(メモリに記録されている)項目。
    • 下の方にある大文字から始まっている項目は、現在有効になっている(ディスクに保存されている)項目。
  7. 固定IPアドレスを割り当てる。
  8. nmcli c mod 接続名 ipv4.method manual ipv4.addresses "IPアドレス/プレフィックス ルータアドレス"
    nmcli c mod ens33 ipv4.method manual ipv4.addresses "192.168.1.2/24 192.168.1.254"
    

    ipv4.method manual だけで実行すると下記のエラーになるので、IPアドレスも同時に設定する。

    Error: Failed to modify connection 'ens33': (32) ipv4.addresses: this property cannot be empty for 'method=manual'
    
  9. 有効にするため、デバイスを一旦 down し up する。
  10. nmcli c down 接続名 ; nmcli c up 接続名
    nmcli c down ens33 ; nmcli c up ens33
    

IPエイリアスを追加

項目を追加する場合、項目名に + を付ける。

nmcli c mod ens33 +ipv4.addresses "192.168.1.4/24 192.168.1.254"

設定を外す場合は、 項目名に - を付ける。(del コマンドではないので注意。)

nmcli c mod ens33 -ipv4.addresses "192.168.1.4/24 192.168.1.254"

スタティックルートを追加

nmcli c mod ens33 +ipv4.route "192.168.2.0/24 192.168.1.253"

設定項目名の詳細は、man nm-settings に一覧がある。

インターフェイス設定ファイル

nmcli コマンドで設定しても、従来のインターフェイス設定ファイル(ifcfg-ens32 など)が作成される。

インターフェイス設定ファイルを編集・削除したとしても NetworkManager にうまく反映されない事がある。

例えば、インターフェイス設定ファイルを削除しても NetworkNamager には設定が残ったままとなり、nmcli コマンドで削除しても設定が消えない事がある。その場合は、nmtui コマンドで削除する。

ホスト名を設定する

hostnamectl コマンドで設定する。

hostnamectl set-hostname ホスト名

/etc/sysconfig/network を編集しても反映されない。

LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数