NetworkManager CLI (nmcli) でネットワークを設定する方法
提供:maruko2 Note.
目次 |
- nmcli
- NetworkManager の CLI (コマンド・ライン・インタフェース)。
- nmtui
- NetworkManager の TUI (テキスト・ユーザー・インタフェース)。
書式
nmcli [OPTIONS] OBJECT { COMMAND | help }
- OBJECT は必須で、OBJECT ごとに COMMAND がある。
- OBJECT と COMMAND は省略して記述できる。
OBJECT または COMMAND の後に続けて help を入力すると、説明が表示される。
nmcli help nmcli OBJECT help nmcli OBJECT COMMAND help
使用例
イーサネットデバイスを追加してIPアドレス固定で設定する
- デバイス名を確認する。
- デバイスを追加する。
- デバイスの設定内容を確認する。
- 上の方にある小文字から始まっている項目は、まだ有効になっていない(メモリに記録されている)項目。
- 下の方にある大文字から始まっている項目は、現在有効になっている(ディスクに保存されている)項目。
- 固定IPアドレスを割り当てる。
- 有効にするため、デバイスを一旦 down し up する。
nmcli d
nmcli c add type 接続タイプ ifname デバイス名 con-name 接続名 nmcli c add type ethernet ifname ens33 con-name ens33
nmcli c show 接続名 nmcli c show ens33
show コマンドで表示される設定内容のうち、 |
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' |
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 を編集しても反映されない。