Rocky Linux / IP を設定する方法

Rocky LinuxのIPアドレスは、NetworkManagerの接続プロファイルをnmcliで編集する方法が基本です。まず、現在のアクティブ接続の名前とデバイス名を区別して確認し、リモートサーバーの場合はコンソールや別の管理経路を確保した上で変更することで接続断に対応できます。

現在のネットワーク状況の確認

デバイスの状況、接続プロファイルと実際のIP・ルートを順番に確認します。DEVICEは物理・仮想インターフェース名で、NAMEは修正する接続プロファイル名です。

nmcli device status
nmcli connection show --active
ip -brief address
ip route

以下の例では接続プロファイル名をSystem eth0と仮定します。実際の環境の名前に置き換えて入力してください。

固定IPv4アドレスの設定

設定値の記録とバックアップ

変更前にプロファイルの現在の値を記録します。次のテキスト保存は比較用の記録で、そのまま読み込んで復元できるファイルではありません。新しい出力先を選び、ネットワーク情報を保護できる作業場所へ保存します。

nmcli connection show 'System eth0'
nmcli connection show 'System eth0' > ./system-eth0-before.txt

nmcli connection exportはVPN向けで、通常のEthernet接続を汎用のnmconnectionファイルへ書き出す命令ではありません。復元用には、接続UUIDを確認して対応する実際の設定ファイルを管理者だけが読める場所へ保管します。keyfileなら主に/etc/NetworkManager/system-connections/を確認しますが、ファイル名を接続名から推測しないでください。旧版のifcfg形式も含め、使用中の保存方式を確認します。詳細はnmcliの接続管理とkeyfileの保存・権限を参照してください。

アドレス、ゲートウェイとDNSを指定する

以下は文書用のアドレス帯を使用した例です。IPアドレス、プレフィックスの長さ、ゲートウェイおよびDNSサーバーは、実際のネットワーク管理者が提供した値に置き換えてください。

sudo nmcli connection modify 'System eth0' \
  ipv4.method manual \
  ipv4.addresses '192.0.2.20/24' \
  ipv4.gateway '192.0.2.1' \
  ipv4.dns '192.0.2.53 192.0.2.54'

現在の接続を再有効化すると新しいアドレスが適用されます。SSHで作業している場合、この時点で接続が切れる可能性があるため、サーバーコンソールで実行するか、すぐに復旧できる経路を用意してください。

sudo nmcli connection up 'System eth0'

DHCP自動設定に戻す

IPv4アドレスとDNSをDHCPで再取得するには、方式をautoに変更し、手動値を空にします。

sudo nmcli connection modify 'System eth0' \
  ipv4.method auto \
  ipv4.addresses '' \
  ipv4.gateway '' \
  ipv4.dns '' \
  ipv4.ignore-auto-dns no &&
sudo nmcli connection up 'System eth0'

上の例はDHCP(Dynamic Host Configuration Protocol)からIPv4アドレスとDNS(Domain Name System)の設定を受け取るため、ipv4.ignore-auto-dns noも指定しています。アドレスは自動、DNSだけ手動にする場合はipv4.ignore-auto-dns yesとipv4.dnsを併用します。手動ルート・DNS検索ドメイン・自動ルート無視などの既存設定までは一括初期化しないので、プロファイル全体を比較してください。IPv6側や他の接続が提供するDNSも別途確認します。

IPv6設定

自動設定に戻す

IPv4・IPv6それぞれについて、自動設定か固定設定のどちらかを目的に合わせて選びます。両方のIPバージョンを併用することもできます。次はIPv6を手動設定から自動へ戻す場合で、既存の手動アドレス・ゲートウェイ・DNSも消します。運用中に依存するサービスを確認し、IPv6を使わないと思い込んで全体を無効化しないでください。

sudo nmcli connection modify 'System eth0' \
  ipv6.method auto \
  ipv6.addresses '' \
  ipv6.gateway '' \
  ipv6.dns '' \
  ipv6.ignore-auto-dns no

固定 IPv6 アドレスの設定

sudo nmcli connection modify 'System eth0' \
  ipv6.method manual \
  ipv6.addresses '2001:db8:100::20/64' \
  ipv6.gateway '2001:db8:100::1' \
  ipv6.dns '2001:db8:100::53'

2001:db8::/32は文書用の範囲です。実際のアドレス・ゲートウェイ・DNSへ置き換えます。IPv6のいずれの例もプロファイル編集後に、復旧経路を確保してsudo nmcli connection up 'System eth0'で再有効化し、実際のアドレス・経路を確認してください。

テキストメニューでの設定

コマンドオプションを直接入力するのが難しい場合は、nmtui を実行して Edit a connection で接続を選択できます。保存した後、Activate a connection で再度有効化します。

sudo nmtui

nmtui も NetworkManager プロファイルを修正するため、結果は nmcli connection show で再確認できます。

設定確認と接続診断

確認項目 コマンド
デバイス別アドレス ip -brief address
基本経路とルーティング ip route
特定の宛先への経路 ip route get 192.0.2.1
プロファイル設定 nmcli connection show 'System eth0'
NetworkManagerの状態 systemctl status NetworkManager
DNSの状態 nmcli device show

通信障害ではゲートウェイ、重複IP、VLAN、ファイアウォールと上位経路を順に切り分けます。ip route getは経路選択の確認で、疎通成功の証明ではありません。管理対象への接続と、実際に使う名前のDNS応答を別々に確認します。関連するIPアドレスと送信元経路の確認も参照してください。/etc/resolv.confは再生成され得るため、通常は接続プロファイル側のDNSを編集します。失敗時はコンソールから記録した値へ戻すか対応する設定ファイルを復元し、所有者・権限を確認してsudo nmcli connection reload、対象接続の再有効化の順で戻します。

リモートサーバー変更前の確認事項

  • 仮想マシンコンソール、IPMI、またはクラウドシリアルコンソールのように、SSHとは独立した接続手段を確保します。
  • 新しいIPが他のデバイスで使用されていないか、スイッチやVLAN設定と一致しているか確認します。
  • デフォルトゲートウェイが該当インターフェースから到達可能なアドレスか確認します。
  • ファイアウォールやアクセス制御リストで新しいIPが許可されているか確認します。
  • DNSレコードや監視対象のアドレスを変更する計画を一緒に立てます。

参考文書

Rocky Linux ネットワーク管理ガイドでip、NetworkManager、nmcliおよびnmtuiの使用方法をさらに詳しく確認できます。