NetworkManager設定を新しいシステムにエクスポートして移行するにはどうすればよいですか?

NetworkManager設定を新しいシステムにエクスポートして移行するにはどうすればよいですか?

NetworkManager設定を新しいシステムにエクスポートして移行するにはどうすればよいですか?

ユースケースは次のとおりです。

  • 機械を再インストールしてください
  • ネットワーク構成をノートブックからデスクトップシステムに(またはその逆)移動

以下を含むすべての設定を移行する必要があります。

  • 基本およびカスタムネットワーク接続
  • パスワードでWi-Fi接続
  • VLANの設定
  • VPN設定(可能な場合はキーを含む)

アーチウィキを確認してみると、マイグレーションに関する内容がないので、こちらまでお問い合わせください。

答え1

NetworkManagerで設定された各接続は、次のファイルに保存されます。

/etc/NetworkManager/system-connections

通常、目的のファイルをあるコンピュータから別のコンピュータにコピーできます(もちろんルートを介して)。

警告する:特定の構成ファイルは外部リソースを参照できます。たとえば、私のopenvpnファイルの1つに次のような行がありますcert=/home/andcoz/somedir/somefile.crt。参照されているすべてのファイルをコピーする必要があります。

警告2: デフォルトでは、これらのファイルにはパスワードは表示されません。バラより文書。これとは対照的に、同じ行は、パスワードが秘密エージェントprivate-key-flags=1(たとえばkde wallet)に保存されていることを示します。ほとんどのGUIクライアントでは、これは各パスワードの下にある「このユーザーに対してのみパスワードを保存(暗号化)」ドロップダウンメニューから制御されます。別の値に変更すると、-flags値が次に変更され、0パスワードはこのファイルに保存されます(ルートのみ読み取ることができます)。

答え2

他の人が述べたように、system-connectionsディレクトリのWi-Fi接続ファイルにはインターフェイスMACアドレスが含まれています。これは現在の設定と一致する必要があるため、プロセスは次のようになります。

  1. 古いマシンのすべてのファイルを新しいマシンのディレクトリにコピーします。

    /etc/NetworkManager/system-connections
    
  2. 各ファイルのMACアドレスエントリを古いMACから新しいMACに変更します。 rootユーザーとして:

    cd /etc/NetworkManager/system-connections
    sed -i -e 's/<old mac>/<new mac>/ *
    
  3. 必要に応じてネットワーク管理者を再起動してください。

    systemctl restart NetworkManager
    

ip link以前のMacはコピーしたすべてのファイルで確認でき、新しいMacを確認できるかどうかわからない場合(またはファイルに接続するためにシステムをインストールしたときに作成した可能性があるファイルから)確認できます。コピーしました)。

注:上記は前の設定と新しい設定の両方にWi-Fiインターフェイスがあると想定していますが、同じロジックを複数のインターフェイスに適用する必要があります。

答え3

次は私のために働いたUbuntu:20.10

/etc/NetworkManager/system-connections上記の内容をコピーしてください

確実にするpermissions=user:newusername:;現在のユーザーを一致させる(VPNを使用したい人がecho $( whoami )助けることができます)

次に、あなたが持っていることを確認してください正しいパッケージがインストールされました。。使用している場合はopenvpn必要です

network-manager-openvpn
network-manager-openvpn-gnome

service-typeまた、正しいパッケージをインストールする必要があります。。たとえば、使用している場合は、ネットワーク管理者をインストールする必要がservice-type=org.freedesktop.NetworkManager.l2tp あります。l2tp

ついに私が経験している問題は特権私にとって、これらのファイルには/etc/NetworkManager/system-connections 次の権限が必要です。

-rw------- 1 root root

このファイルをコピーしたとき、私のユーザーは所有者として775の権限を持っていたため、何らかの理由でNetworkManagerがそのファイルを使用できなくなりました。

答え4

これには時間がかかりましたが、次のコマンドを使用して個々のコンテンツ(VPN設定など)をエクスポートできますnmcli

# List connections
nmcli connection

# Export one
nmcli connection export ConnectionName > yourfile

これは設定ファイルの場所に関係なく動作しますが、一度に複数のファイルをエクスポートする方法はないと思います。残念ながら、これは少なくともパスワードの資格情報を保存しないようです。証明書の資格情報を保存できます。

関連情報