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

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

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

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

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


NetworkManagerのnmtuiコマンド覚書

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

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

https://denor.jp/raspberry-pi-4%E7%89%88fedora-37%E3%81%AEip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E8%A8%AD%E5%AE%9A%E7%AD%89%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E8%A6%9A%E6%9B%B8

https://denor.jp/raspberry-pi-4%E3%81%A7rocky-linux-9%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F

Ubuntuが導入されたJetson Nanoや

https://denor.jp/jetson-nano%e9%96%8b%e7%99%ba%e8%80%85%e3%82%ad%e3%83%83%e3%83%88%e3%81%abvnc%e6%8e%a5%e7%b6%9a%e3%81%99%e3%82%8b%e3%81%ab%e3%81%af-vino%e7%89%88

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

https://denor.jp/tinker-board-2s%e3%81%a7usb-tv%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8a%e3%83%bc%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8b%e3%81%ab%e3%81%af

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


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

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

https://denor.jp/raspberry-pi-4%E3%81%A7rocky-linux-9%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F

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で設定しましょう。[amazonjs asin=”B01N27ZIL9″ locale=”JP” title=”CentOS 7システム管理ガイド systemd/NetworkManager/Firewalld徹底攻略”]

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です