IPアドレス設定をnmcliコマンドの代わりにnmtuiメニューで行うには

最近、IPアドレスの設定で、NetworkManagerを使用する機会が増えいている気がします。

NetowrkManagerは、RedHatさんが2004年頃に開発したそうですが、近年、採用するディストリビューションが増えてきた感じでしょうか。

具体的には、nmcliコマンドで設定を行いますが、コネクションをUUIDで扱うため、設定し辛い、手間が多い印象です。

もう少し、設定しやすく。sshでターミナル接続した場合に、メニュー選択形式でIPアドレス設定が行えるように、tui(Terminal User Interface)版のNetworkManagerコマンド、nmtuiを導入してみたいと思います。


NetworkManagerのnmtuiコマンド覚書

対象の環境はnmcliコマンドでIPアドレスを設定するとき

RedHatさんの系列のディストリビューションにてNetworkManagerが導入されていると思いますが。

Raspberry Pi 4版Fedora 37のIPアドレス設定等コマンド覚書
先日、Raspberry Pi 4でFedora 37 Serverを起動しました。 システムの更新や、ホスト名の設定等。 ...
Raspberry Pi 4でRocky Linux 9を起動してみました
Red Hat Linuxとバイナリ互換のあるOSとしまして、CentOS LinuxやCentOS Streamが挙げられますが。 ...

Ubuntuが導入されたJetson Nanoや

JETSON NANO開発者キットにVNC接続するには vino版
JETSON NANO開発者キットに、有線LAN経由でVNC接続する手順を記録しておこうと思います。

Debianが導入されたTinker Board 2等でもnmcliコマンドによるIPアドレス設定が有効です。

Tinker Board 2SでUSB-TVチューナーを使用するには
以前、Raspberry Pi OSで地デジ視聴環境を構築しましたが。 Raspberry Pi 4でUSB TVチューナが使...

これらの環境で、nmcliではなくもう少し簡単にIPアドレスを設定できるようにしたいと思います。


nmtuiコマンドのインストール

今回は、Raspberry Pi 4にてRocky Linuxを起動し、sshでターミナル接続した状態を想定しました。

Raspberry Pi 4でRocky Linux 9を起動してみました
Red Hat Linuxとバイナリ互換のあるOSとしまして、CentOS LinuxやCentOS Streamが挙げられますが。 ...

Rocky Linuxは、Red Hat Linux互換、CentOSと同じ系列になります。dnfコマンドでインストールしました。

sudo dnf install -y NetworkManager-tui

特に問題なくインストールが完了しました。


nmtuiコマンドによるネットワーク設定

sudo nmtui

nmtuiコマンドを実行すると、3つのメインメニューが表示されます。

  1. Edit a connection コネクションの編集
  2. Activate a connection コネクションの有効化・Wi-Fi設定
  3. Set systen hostname ほすとねーむ設定

それぞれ、下記のコマンドに対応しているようです。

  1. nmtui-edit
  2. nmtui-connect
  3. nmtui-hostname

メインメニュー経由ではなく、これらのコマンドを直接実行しても問題無さそうです。


nmtui-editはIPアドレスの編集など

実際に、「Edit a connection」を選択後、有線LAN接続のコネクションである「Wired connection 1」を設定してみます。

nmtui-editは、コネクションの設定メニュー画面になります。有線LANやWi-FIの設定、IPアドレス等を設定可能です。

IPアドレスを固定したい場合は、IPv4 CONFIGURATION欄をAutomaticからManualに変更後、<Show>を選択して設定します。

  • Address欄に、IPアドレス/サブネットマスクのビット数 ←重要
  • Gateway欄にゲートウェイアドレス
  • DNS Servers欄にDNSサーバアドレス

必ず

IPアドレス欄に、サブネットマスクを忘れずに入れましょう。


コネクションの設定反映はコマンドか再起動

IPアドレスを変更した場合など、変更の反映は、tuiからはできない感じがします。

本体を再起動するか、または下記のコマンドで設定変更を反映します。

# コネクション確認
nmcli c
# コネクション有効化 コネクション名称
sudo nmcli connection up "Wired connection 1"
# またはUUID
sudo nmcli connection up <UUID>

こちらのコマンドを実行すると、即IPアドレスが変わりますのでご注意下さい。


nmtui-connectはWi-Fi設定とコネクションの有効・無効切替

「Activate a connection」を選択しますと。

先程編集した、「Wired connection 1」に「*」マークが表示されています。これは有線接続が有効である意味です。「Deactivate」は無効化になります。

Wi-Fiを使用したい場合、表示されたSIDを有効化する流れになります。

Wi-Fiのパスワードを入力し、コネクションを有効化することで、Wi-Fiによる接続が有効になります。

ちなみに、有線LANでWi-Fi設定をアクティベートしたところ、ssh接続がフリーズしてしまいました。パスワードの入力画面で、有線LANが無効になったのでしょうか?

Wi-Fiの設定を行いたい場合は、ssh接続ではなく、コンソール、マシンに接続したキーボードとディスプレイで設定したほうが良いかもしれません。


nmtui-hostname

最後に、ホスト名の設定は。 単純にホスト名を入力して、<OK>を選択します。

ディストリビューションによって、/etc/hostsファイルに、古いホスト名が残っている場合がありますので、確認したほうが良いと思います。

Raspberry Pi 4のRocky Linuxは、/etc/hostsファイルにホスト名は無いため、上記のnmtui-hostnameによる設定のみで完了しました。


NetworkManagerは、デーモンで実装されているそうです。

具体的にはsystemdのNetworkManager.serviceのユニットになります。

これはつまり、ログを見たい場合は、昔ながらのdmesgや/var/log/messageファイルではなく、journalctl -u NetworkManagerにて、systemdにより記録されたジャーナルを細かく確認できることを意味します。

そのような利点があることを認識しつつ、NetworkManagerを使用したほうが意味があるのかな、と思いますです。

設定で楽をする意味で、nmcliではなくnmtuiで設定しましょう。

スポンサーリンク

フォローする

スポンサーリンク