【nmcliコマンド】ifcfgスタイルの設定内容をキーファイルへ変換(移行)する方法

「ifcfgスタイル」でネットワーク設定されていたものを「キーファイル」の形式で設定内容を引き継いで変換(移行)する方法をお教えします。 Linuxサーバ

「ifcfgスタイル」でネットワーク設定されていたものを「キーファイル」の形式で設定内容を引き継いで変換(移行)する方法を解説します。
それは、NetworkManagerサービスを起動したときに利用できるnmcliコマンドを使用して変換します。
それが、以下になります。

# nmcli connection migrate 【ifcfgスタイルのファイル名】

【ifcfgスタイルのファイル名】
->「/etc/sysconfig/network-scripts/」配下にある「ifcfg-XXX」のファイルを指します。


スポンサーリンク

「ifcfgスタイル」から「キーファイル」へ変換(移行)する背景

今後、RHEL(Red Hat Enterprise Linux)のOSは、ネットワーク設定のファイルを「ifcfgスタイル」から「キーファイル」へシフトしていきます。

■「ifcfgスタイル」のファイルとは

more /etc/sysconfig/network-scripts/ifcfg-enp0s3



■キーファイルとは

more /etc/NetworkManager/system-connections/enp0s3.nmconnection


この2つは、ファイルパスも違えば、ファイル内の設定方法も異なります。
RHEL9からは、「キーファイル」がネットワーク設定のデフォルトファイルになっています。

https://www.redhat.com/ja/blog/rhel-9-networking-say-goodbye-ifcfg-files-and-hello-keyfiles
に掲載していますが
「ifcfgスタイル」でのネットワーク設定は、2022年時点で約10年程、対応してくれるみたいですが、その後どうなるか不明で廃止となる場合があります。
Red Hatでは、「キーファイル」でのネットワーク設定が主流になることが推測されます。


ネットワーク設定において、馴染みがあるのは、「ifcfgスタイル」だったと思います。
今のうちに「キーファイル」での設定方法にも慣れておく必要があります。

このように、今まで「ifcfgスタイル」で設定していたものを「キーファイル」へ設定内容を引き継いで変換(移行)するケースが発生していきます。


「ifcfgスタイル」から「キーファイル」へ変換(移行)するケースとは

  1. 主流だった「ifcfgスタイル」ファイルでネットワーク設定できるが、「キーファイル」での記述方法が分からない時

  2. サーバのリプレイスなど何らかの理由で「ifcfgスタイル」から「キーファイル」で設定しないといけなくなった時

  3. 今後、「ifcfgスタイル」設定が廃止となり、「ifcfgスタイル」で設定していたものを「キーファイル」に設定内容を引き継いで移行しないといけなくなった時

このように

・「ifcfgスタイル」ファイルはあるが、「キーファイル」はない
・馴染みがない「キーファイル」の設定方法がわからない


といったようなケースで今回の「ifcfgスタイル」から「キーファイル」への変換(移行)方法が役に立ちます。



「ifcfgスタイル」から「キーファイル」に変換(移行)方法を注意事項と共に解説

■前提条件
NetworkManagerサービスを起動してnmcliコマンドを実行できる状態にする

※nmcliコマンドはNetworkManagerサービスが起動していないと実行できません。
※RHEL9から「network-scripts」が廃止されたのでNetworkManagerサービスの起動は必須になっているのでサービスが停止していることはないです。

■注意事項
「ifcfgスタイル」のファイルは変換(移行)すると消えるのでバックアップを取得する。



「ifcfgスタイル」から「キーファイル」に変換(移行)手順

「ifcfgスタイル」のファイルを「キーファイル」に変換するのに、nmcliコマンドを利用するので、NetworkManagerサービスが起動していることを確認します。

systemctl list-unit-files |egrep -i "UNIT|NetworkManager.service"



ネットワーク設定が有効で利用できていることを確認します。

ifconfig -a



「ifcfgスタイル」のファイルがあることを確認します。

ls -la /etc/sysconfig/network-scripts/



「ifcfgスタイル」の「ifcfg-enp0s3」ファイルを確認して、このファイルでネットワーク設定されて稼働していることを確認します。

more /etc/sysconfig/network-scripts/ifcfg-enp0s3



「ifcfgスタイル」の「ifcfg-enp0s3」ファイルは「キーファイル」へ変換(移行)後に削除されるのでバックアップを取得しておきます。

cp /etc/sysconfig/network-scripts/ifcfg-enp0s3 /tmp/;ls -al /tmp/



「キーファイル」がないことを確認します。

ls -al /etc/NetworkManager/system-connections/

※このフォルダにファイルが存在している場合、こちらのファイルでネットワーク設定されており、「ifcfgスタイル」のファイルを利用しておらず、「ifcfgスタイル」から「キーファイル」の変換(移行)が不要な場合があります。
詳しくは、こちらを参照ください。


「ifcfgスタイル」の「ifcfg-enp0s3」を「キーファイル」に変換(移行)します。

nmcli connection migrate /etc/sysconfig/network-scripts/ifcfg-enp0s3



「キーファイル」に変換(移行)したことで「ifcfgスタイル」の「ifcfg-enp0s3」ファイルは削除されていることを確認します。

ls -al /etc/sysconfig/network-scripts/



「キーファイル」の「enp0s3.nmconnection」ファイルが新規作成されていることを確認します。

ls -al /etc/NetworkManager/system-connections/



「ifcfgスタイル」の「ifcfg-enp0s3」ファイルのネットワーク設定が引き継がれて、「キーファイル」の「enp0s3.nmconnection」に反映されていることを確認します。

more /etc/NetworkManager/system-connections/enp0s3.nmconnection



■手順「①~⑩」を実際に実行したときの内容

「ifcfgスタイル」から「キーファイル」に変換(移行)の手順1
「ifcfgスタイル」から「キーファイル」に変換(移行)の手順2
「ifcfgスタイル」から「キーファイル」に変換(移行)の手順3



まとめ

  1. 「ifcfgスタイル」から「キーファイル」に変換(移行)するときは、以下のコマンドを実行します。
    # nmcli connection migrate /etc/sysconfig/network-scripts/ifcfg-enp0s3


  2. nmcliコマンドを使用するには、NetworkManagerサービスが起動していることが前提となります。


  3. 「ifcfgスタイル」から「キーファイル」に変換(移行)すると「ifcfgスタイル」のファイルは削除されるのでバックアップを取得します。


  4. 「ifcfgスタイル」で設定されたネットワーク設定を引き継いで「キーファイル」に変換(移行)され、「/etc/NetworkManager/system-connections/enp0s3.nmconnection」にファイルが新規に作成されます。


補足:「ifcfgスタイル」へ戻し方法(やり直し)

「ifcfgスタイル」から「キーファイル」へ変換(移行)後にやり直しをしたい場合はどうするか?補足解説します。

■前提条件
「ifcfgスタイル」のファイルをバックアップしていること

■考えられるケース

  1. 「ifcfgスタイル」での設定方法はわかるが、「キーファイル」での設定方法が分からないので、nmcliコマンドの変換(移行)機能を利用して、「キーファイル」を再作成したい場合
  2. 「キーファイル」へ変更後に運用都合により「ifcfgスタイル」に戻したい場合


■手順
1.「キーファイル」を削除

rm /etc/NetworkManager/system-connections/enp0s3.nmconnection



2.「ifcfgスタイル」ファイルをバックアップから戻す

cp /tmp/ifcfg-enp0s3  /etc/sysconfig/network-scripts/ifcfg-enp0s3



3.NetworkManagerサービスの再起動による「ifcfgスタイル」化

systemctl restart NetworkManager.service

「キーファイル」からの設定ではなく、「ifcfgスタイル」ファイルからの設定でネットワーク設定が行われていることを再認識させます。

  • この作業を実施しないと、「ifcfgスタイル」から「キーファイル」に変換(移行)を再度実施したときに、正しく「ifcfgスタイル」ファイルの設定が反映されません。

  • この作業でネットワークへの影響はありません。(停止などは発生しません)


4.ネットワーク設定の再アクティブ化

nmcli connection up enp0s3

「ifcfgスタイル」へ戻し作業した設定をネットワークデバイスへ再認識させます。

  • 「ifcfgスタイル」ファイルの設定と実際に稼働しているネットワーク設定と同期させるためにも必ず実施してください。

  • 「ifcfgスタイル」ファイルをバックアップの状態から変更していた場合は、この作業によりネットワーク設定が反映しますので、誤った設定をするとネットワークに影響する場合がありますので注意してください。

  • 「ifcfgスタイル」ファイルをバックアップ時のものを利用していた場合はネットワークに影響はありません。


コメント

タイトルとURLをコピーしました