¿Cómo exportar y migrar la configuración de NetworkManager a un nuevo sistema?

14

¿Cómo exportar y migrar la configuración de NetworkManager a un nuevo sistema?

Los casos de uso son:

  • reinstalar una máquina
  • mover la configuración de red de la computadora portátil al sistema de escritorio (o viceversa)

Todas las configuraciones deben migrarse, eso incluye:

  • conexiones de red predeterminadas y personalizadas
  • conexiones wifi con contraseñas
  • Configuraciones de VLAN
  • Configuraciones de VPN (con claves si es posible)

Verifiqué en Arch wiki y no hay nada sobre migración, así que les pregunto chicos y chicas aquí.

valentt
fuente

Respuestas:

10

Cada conexión configurada en NetworkManager se almacena en un archivo en

/etc/NetworkManager/system-connections

Por lo general, puede copiar los archivos necesarios de una máquina a otra (por raíz, por supuesto).

Advertencia : algunos archivos de configuración pueden hacer referencia a recursos externos. Por ejemplo, en uno de mis archivos openvpn tengo una línea como cert=/home/andcoz/somedir/somefile.crt. Necesita copiar cualquier archivo referido.

andcoz
fuente
77
Esta respuesta es incompleta. NetworkManager asigna un UUID a cada conexión del sistema que parece estar basada en la dirección MAC de la interfaz. Si cambia el hardware, NetworkManager no usará conexiones de sistema antiguas porque el UUID ya no coincide con lo que espera.
divestoclimb
Revisé el directorio / etc / NetworkManager / system-connections en mi computadora portátil y solo veo conexiones vpn allí. Pero no veo ninguna configuración por cable o wifi allí. Intentaré moverme sobre una conexión vpn e informar si esto funciona o no. Entonces, si funciona, esto responde 1/4 de la pregunta. Gracias.
Valentt
3
@divestoclimb ¿hay alguna guía que explique cómo cambiar el nombre del UUID del sistema antiguo al nuevo?
valentt
1
@divestoclimb tiene razón, estas conexiones no se recogerán si migra a un nuevo hardware, solo para una reinstalación en el mismo hardware, esto funcionará. Me encantaría saber una solución aquí, ¡como Valentt!
djvdorp
El UUID es solo un identificador generado aleatoriamente. Debe asegurarse de que cada conexión tenga un identificador único (en cada máquina).
andcoz
3

Como lo mencionaron otros, los archivos de conexión Wi-Fi en el system-connectionsdirectorio tienen incluida la dirección MAC de la interfaz. Esto debe coincidir con su configuración actual, por lo tanto, el procedimiento es:

  1. Copie todos los archivos de la máquina antigua a la nueva máquina desde / al directorio:

    /etc/NetworkManager/system-connections
    
  2. cambie la entrada de la dirección MAC en cada archivo del MAC antiguo al MAC nuevo. Como root:

    cd /etc/NetworkManager/system-connections
    sed -i -e 's/<old mac>/<new mac>/ *
    
  3. Por si acaso, reinicie el administrador de red:

    systemctl restart NetworkManager
    

Mac antiguo que puede verificar desde cualquiera de los archivos que copió, nuevo mac si no está seguro de que puede verificarlo ip link(o desde el archivo que probablemente se creó cuando instaló su sistema para la conexión que usó para copiar los archivos).

Nota: lo anterior supone que tenía una única interfaz Wi-Fi tanto en su configuración anterior como en la nueva, pero la misma lógica debería funcionar con varias interfaces.

Lóránt Németh
fuente
1
¿Cuál es la línea de MAC para archivos conf de VPN? Solo veo UUID. ¿Cómo puedo volver a generar un nuevo UUID en una nueva máquina?
32r34wgf3e
1

La configuración inalámbrica (al menos en Fedora) se mantiene en este directorio:

/etc/sysconfig/network-scripts 

Hay dos archivos por conexión wifi. El primer archivo nombrado ifcfg-YOURSSIDcontiene la configuración de la red wifi y keys-YOURSSIDcontiene la contraseña de la red inalámbrica.

También hay una pregunta relacionada que explica esto: ¿Dónde se almacenan las configuraciones WiFi de NetworkManager?

valentt
fuente
0

Las otras publicaciones son correctas, pero hay cambios menores en algunos puntos.
Las respuestas se guardan en

/etc/Networkmanager/system-connections

Puede eliminar la línea mac-addresso cambiarla mediante

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

Puede obtener la nueva dirección de Mac a través de

ip a

Dependiendo del almacenamiento donde guardó los archivos, los derechos de archivo pueden ser incorrectos, solo configúrelos a través de:

chmod 0600 *
chown root:root *

Finalmente reinicie Network Manager

systemctl restart NetworkManager

Funciona igual bajo ubuntu 18.04.

furtivo
fuente