【Linux】nmcli による IP アドレス設定と「Not authorized」エラーの対処法

  • URLをコピーしました!
目次

はじめに

Linux サーバーの運用において、ネットワークインターフェースの設定は基本かつ必須の作業です。Red Hat 系 Linux(CentOSなど)では、標準のネットワーク管理ツールとして「nmcli」コマンドが広く利用されています。

本記事では、nmcli を用いた IP アドレスや DNS の固定設定手順と、作業時に発生しやすい「Not authorized to control networking」といった権限エラーの対処法を解説します。また、nmcli を利用する代表的な OS である CentOS のサポート終了(EOL)と、今後の運用における注意点についても合わせて触れていきます。

この記事でわかること
  • nmcli コマンドを使用したネットワーク設定(IP アドレス、ゲートウェイ、DNS)の手順
  • 「Not authorized to control networking」などのエラー原因と解決策
  • CentOS のサポート終了(EOL)に関する事実と後継 OS への移行について

nmcli コマンドによるネットワーク設定手順

nmcli を使用して、IP アドレスを DHCP から静的 IP(固定 IP)へ変更し、OS の再起動後も設定を維持する基本的な手順を解説します。

現在のネットワーク設定(インターフェース)の確認

まず、設定対象となるネットワークインターフェースの名前を確認します。ターミナルで以下のコマンドを実行します。

nmcli

出力結果から、connected to [インターフェース名](例:ens33eth0など)となっている箇所を探し、対象となるインターフェース名を控えておきます。

IP アドレス、デフォルトゲートウェイ、DNS の変更

確認したインターフェース名(本例では ens33 とします)に対し、nmcli connection modify コマンドを使用して各種パラメーターを設定します。

以下のコマンドで、手動割り当て(固定 IP 化)と、IP アドレス、ゲートウェイ、DNS を一括で変更します。

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 10.9.6.252/24 ipv4.gateway 10.9.6.1 ipv4.dns 8.8.8.8

各オプションの役割は以下の通りです。

  • ipv4.method manual: IP アドレスの割り当てを DHCP から手動(固定)に変更します。
  • ipv4.addresses: 設定する IP アドレスとサブネットマスク(/24など)を指定します。
  • ipv4.gateway: デフォルトゲートウェイを指定します。
  • ipv4.dns: 参照する DNS サーバーの IP アドレスを指定します。

変更した設定をシステムに反映させるためには、インターフェースの再起動(再有効化)を行う必要があります。しかし、この設定変更や再起動のコマンドを実行した際、権限に関するエラーで作業が止まってしまうケースが頻発します。次のセクションで、その原因と具体的な対処法を解説します。

よくあるエラーの原因と対処法

ネットワーク設定の変更や、設定を反映させるためのインターフェース再起動時に、権限不足を示すエラーが発生することがあります。それぞれの原因と解決策を解説します。

「Insufficient privileges」エラーの解決策

nmcli connection modify コマンドで設定を変更しようとした際、以下のエラーが出力される場合があります。

Error: Failed to modify connection 'ens33': Insufficient privileges.

原因と解決策

一般ユーザー権限でネットワーク設定を変更しようとしたことが原因です。この操作にはシステム管理者権限が必要となるため、コマンドの先頭に sudo を付与して実行することで解決します。

sudo nmcli connection modify ens33 ipv4.method manual ipv4.addresses 10.9.6.252/24 ipv4.gateway 10.9.6.1 ipv4.dns 8.8.8.8

「Not authorized to control networking」エラーの解決策

設定変更後、nmcli connection up コマンドでインターフェースを再起動(設定の反映)しようとした際、以下のエラーが発生することがあります。

Error: Connection activation failed: Not authorized to control networking.

原因と解決策

こちらも同様に、ネットワークインターフェースを制御・再起動する権限が不足しているために発生します。先頭に sudo を付与して実行することで解決し、設定がシステムに反映されます。

sudo nmcli connection up ens33

エラーを解消して正常にコマンドが完了すれば、OSの再起動後も設定した固定IPアドレスなどのネットワーク情報が維持される状態になります。

無事に設定が完了したところで、最後に「nmcli」を標準のネットワーク管理ツールとして採用している代表的なOS「CentOS」の運用における、重要な注意点について触れておきます。

【運用上の注意】CentOS のサポート終了(EOL)と後継 OS について

本記事で解説した nmcli コマンドは、Red Hat Enterprise Linux(RHEL)系の OS で標準的に採用されているネットワーク管理ツールです。そのため、かつて無償で利用できるサーバー OS として広く普及した「CentOS 7」の環境で、このコマンドや関連するエラーに直面するケースが多く見受けられます。

しかし、CentOS 7 はすでに2024年6月30日をもって公式サポートを終了(EOL: End of Life)しています。

サポート終了後の OS を利用し続けることは、新たな脆弱性が発見されても修正パッチが提供されないため、重大なセキュリティリスクとなります。現在も CentOS 環境で本記事のネットワーク設定を行っている場合は、RHEL と高い互換性を持つ「AlmaLinux」や「Rocky Linux」などの後継 OS へ速やかに移行することを強く推奨します。

まとめ

本記事では、nmcliを用いたネットワーク設定手順と、作業時に発生する権限エラーの対処法について解説しました。

  • nmcli connection modify コマンドにより、IPアドレスやDNSの固定設定が可能です。
  • 「Not authorized…」などのエラーは権限不足が原因であり、sudo を付加することで解決します。
  • nmcliを多用するCentOS 7はすでにサポートを終了しているため、後継OSへの移行が必要です。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

インフラ(クラウド/NW/仮想化)から Web 開発まで、技術領域を横断して活動するエンジニア💻 コンシューマー向けエンタメ事業での新規開発・運営経験を活かし、実戦的な技術ノウハウを発信中

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次