Como exportar e migrar as configurações do NetworkManager para o novo sistema?

14

Como exportar e migrar as configurações do NetworkManager para o novo sistema?

Os casos de uso são:

  • reinstalando uma máquina
  • mover a configuração de rede do laptop para o sistema de desktop (ou vice-versa)

Todas as configurações devem ser migradas, incluindo:

  • conexões de rede padrão e personalizadas
  • conexões wifi com senhas
  • Configurações de VLAN
  • Configurações de VPN (com chaves, se possível)

Eu verifiquei no Arch wiki e não há nada sobre migração, então estou perguntando a vocês aqui.

valentt
fonte

Respostas:

10

Cada conexão configurada no NetworkManager é armazenada em um arquivo no

/etc/NetworkManager/system-connections

Geralmente, você pode copiar os arquivos necessários de uma máquina para outra (por raiz, é claro).

Aviso : algum arquivo de configuração pode fazer referência a recursos externos. Por exemplo, em um dos meus arquivos openvpn, tenho uma linha parecida cert=/home/andcoz/somedir/somefile.crt. Você precisa copiar qualquer arquivo referido.

andcoz
fonte
7
Esta resposta está incompleta. O NetworkManager atribui um UUID a cada conexão do sistema que parece basear-se no endereço MAC da interface. Se você alterar o hardware, o NetworkManager não usará conexões de sistema antigas porque o UUID não corresponde mais ao que ele espera.
Divestoclimb 12/07
Eu verifiquei o diretório / etc / NetworkManager / system-connections no meu laptop e só vejo conexões VPN lá. Mas não vejo nenhuma configuração com ou sem fio lá. Vou tentar passar por uma conexão VPN e informar se isso funciona ou não. Portanto, se funcionar, isso responde a 1/4 da pergunta. Obrigado.
valentt 27/10/19
3
@divestoclimb existe algum guia que explica como renomear o UUID do sistema antigo para o novo?
valentt
1
O @divestoclimb está certo, essas conexões não serão atendidas se você migrar para o novo hardware, apenas para reinstalar o mesmo hardware, isso funcionará. Eu adoraria saber uma solução aqui, assim como o valentt!
Djvdorp
O UUID é apenas um identificador gerado aleatoriamente. Você precisa ter certeza de que cada conexão possui um identificador exclusivo (em cada máquina).
andcoz
3

Conforme mencionado por outros, os arquivos de conexão Wi-Fi no system-connectionsdiretório têm o endereço MAC da interface incluído. Isso precisa corresponder à sua configuração atual, portanto, o procedimento é:

  1. copie todos os arquivos da máquina antiga para a nova máquina do diretório / para:

    /etc/NetworkManager/system-connections
    
  2. altere a entrada do endereço MAC em cada arquivo do antigo MAC para o novo MAC. Como raiz:

    cd /etc/NetworkManager/system-connections
    sed -i -e 's/<old mac>/<new mac>/ *
    
  3. Por precaução, reinicie o gerenciador de rede:

    systemctl restart NetworkManager
    

Mac antigo, você pode verificar em qualquer um dos arquivos copiados, novo mac, se não tiver certeza, pode verificar ip link(ou do arquivo que provavelmente foi criado quando você instalou o sistema para a conexão usada para copiar os arquivos).

Nota: acima assume que você tinha uma única interface Wi-Fi na configuração antiga e nova, mas a mesma lógica deve funcionar com várias interfaces.

Lóránt Németh
fonte
1
Qual é a linha do MAC para arquivos conf VPN? Eu só vejo UUID. Como posso gerar novamente um novo UUID em uma nova máquina?
32r34wgf3e
1

As configurações sem fio (pelo menos no Fedora) são mantidas neste diretório:

/etc/sysconfig/network-scripts 

Existem dois arquivos por conexão wifi. O primeiro arquivo nomeado ifcfg-YOURSSIDcontém configurações de rede wifi e keys-YOURSSIDsenha de rede sem fio.

Também há uma pergunta relacionada que explica o seguinte: Onde estão armazenadas as configurações de WiFi do NetworkManager?

valentt
fonte
0

Os outros posts estão certos, mas há pequenas alterações em alguns pontos.
As respostas são mantidas em

/etc/Networkmanager/system-connections

Você pode remover a linha mac-addressou alterá-la via

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

Você pode obter o novo endereço mac via

ip a

Dependendo do armazenamento em que os arquivos foram mantidos, os direitos dos arquivos podem estar incorretos, basta defini-los através de:

chmod 0600 *
chown root:root *

Finalmente reinicie o Network Manager

systemctl restart NetworkManager

Funciona da mesma forma no ubuntu 18.04.

sorrateiro
fonte