Comment exporter et migrer les paramètres de NetworkManager vers un nouveau système?

14

Comment exporter et migrer les paramètres de NetworkManager vers un nouveau système?

Les cas d'utilisation sont:

  • réinstaller une machine
  • déplacement de la configuration réseau d'un ordinateur portable vers un système de bureau (ou vice-versa)

Tous les paramètres doivent être migrés, ce qui inclut:

  • connexions réseau par défaut et personnalisées
  • connexions wifi avec mots de passe
  • Configurations VLAN
  • Configurations VPN (avec des clés si possible)

J'ai vérifié sur Arch wiki et il n'y a rien sur la migration, donc je vous pose la question ici.

valentt
la source

Réponses:

10

Chaque connexion configurée dans NetworkManager est stockée dans un fichier dans

/etc/NetworkManager/system-connections

Habituellement, vous pouvez copier les fichiers nécessaires d'une machine à une autre (par root, bien sûr).

Avertissement : certains fichiers de configuration peuvent référencer des ressources externes. Par exemple, dans l'un de mes fichiers openvpn, j'ai une ligne comme cert=/home/andcoz/somedir/somefile.crt. Vous devez copier tout fichier référé.

andcoz
la source
7
Cette réponse est incomplète. NetworkManager attribue un UUID à chaque connexion système qui semble être basée sur l'adresse MAC de l'interface. Si vous changez de matériel, NetworkManager n'utilisera pas les anciennes connexions système car l'UUID ne correspond plus à ce qu'il attend.
Divestoclimb
J'ai vérifié le répertoire / etc / NetworkManager / system-connections sur mon ordinateur portable et je n'y vois que des connexions vpn. Mais je n'y vois aucun paramètre filaire ou wifi. Je vais essayer de passer sur une connexion vpn et signaler si cela fonctionne ou non. Donc, si cela fonctionne, cela répond au 1/4 de la question. Merci.
valentt
3
@divestoclimb existe-t-il un guide qui explique comment renommer l'UUID de l'ancien système au nouveau?
valentt
1
@divestoclimb a raison, ces connexions ne seront pas récupérées si vous migrez vers un nouveau matériel, uniquement pour une réinstallation sur le même matériel, cela fonctionnera. J'aimerais connaître une solution ici, tout comme valentt!
djvdorp
L'UUID n'est qu'un identifiant généré de manière aléatoire. Vous devez être sûr que chaque connexion a un identifiant unique (sur chaque machine).
andcoz
3

Comme mentionné par d'autres, les fichiers de connexion Wi-Fi dans le system-connectionsrépertoire ont l'adresse MAC de l'interface incluse. Cela doit correspondre à votre configuration actuelle, la procédure est donc la suivante:

  1. copiez tous les fichiers de l'ancienne machine vers la nouvelle machine depuis / vers le répertoire:

    /etc/NetworkManager/system-connections
    
  2. changer l'entrée d'adresse MAC dans chaque fichier de l'ancien MAC au nouveau MAC. En tant que root:

    cd /etc/NetworkManager/system-connections
    sed -i -e 's/<old mac>/<new mac>/ *
    
  3. Au cas où, redémarrez le gestionnaire de réseau:

    systemctl restart NetworkManager
    

Ancien mac que vous pouvez vérifier à partir de l'un des fichiers que vous avez copiés, nouveau mac en cas de doute, vous pouvez vérifier avec ip link(ou à partir du fichier qui a probablement été créé lorsque vous avez installé votre système pour la connexion que vous avez utilisée pour copier les fichiers).

Remarque: ci-dessus suppose que vous disposiez d'une seule interface Wi-Fi dans votre ancienne et dans une nouvelle configuration, mais la même logique devrait fonctionner avec plusieurs interfaces.

Lóránt Németh
la source
1
Quelle est la ligne de MAC pour les fichiers de conf VPN? Je ne vois que l'UUID. Comment puis-je recréer un nouvel UUID sur une nouvelle machine?
32r34wgf3e
1

Les paramètres sans fil (au moins sur Fedora) sont conservés dans ce répertoire:

/etc/sysconfig/network-scripts 

Il y a deux fichiers par connexion wifi. Le premier fichier est nommé ifcfg-YOURSSIDcontient les paramètres du réseau wifi et keys-YOURSSIDcontient le mot de passe du réseau sans fil.

Il existe également une question connexe qui explique ceci: où sont stockés les paramètres WiFi de NetworkManager?

valentt
la source
0

Les autres messages ont raison, mais il y a des changements mineurs sur certains points.
Les réponses sont conservées dans

/etc/Networkmanager/system-connections

Vous pouvez supprimer la ligne mac-addressou la modifier via

cd /etc/NetworkManager/system-connections
sed -i -e 's/<old mac>/<new mac>/' *

Vous pouvez obtenir la nouvelle adresse mac via

ip a

Selon le stockage où vous avez conservé les fichiers, les droits sur les fichiers peuvent être incorrects, il suffit de les définir via:

chmod 0600 *
chown root:root *

Redémarrez enfin Network Manager

systemctl restart NetworkManager

Fonctionne de la même manière sous Ubuntu 18.04.

sournois
la source