Jak eksportować i migrować ustawienia NetworkManager do nowego systemu?

15

Jak eksportować i migrować ustawienia NetworkManager do nowego systemu?

Przypadki użycia to:

  • ponowna instalacja komputera
  • przenoszenie konfiguracji sieci z laptopa na komputer stacjonarny (lub odwrotnie)

Wszystkie ustawienia powinny być migrowane, w tym:

  • domyślne i niestandardowe połączenia sieciowe
  • połączenia Wi-Fi z hasłami
  • Konfiguracje VLAN
  • Konfiguracje VPN (z kluczami, jeśli to możliwe)

Sprawdziłem na Arch wiki i nie ma nic na temat migracji, więc proszę was tutaj i dziewczęta.

Valentt
źródło

Odpowiedzi:

10

Każde połączenie skonfigurowane w NetworkManager jest przechowywane w pliku w

/etc/NetworkManager/system-connections

Zwykle możesz skopiować potrzebne pliki z komputera na inny (oczywiście przez root).

Ostrzeżenie : niektóre pliki konfiguracyjne mogą odwoływać się do zasobów zewnętrznych. Np. W jednym z moich plików openvpn mam taką linię cert=/home/andcoz/somedir/somefile.crt. Musisz skopiować dowolny plik polecony.

andcoz
źródło
7
Ta odpowiedź jest niepełna. NetworkManager przypisuje UUID do każdego połączenia systemowego, które wydaje się być oparte na adresie MAC interfejsu. Jeśli zmienisz sprzęt, NetworkManager nie użyje starych połączeń systemowych, ponieważ UUID nie odpowiada już oczekiwaniom.
divestoclimb
Sprawdziłem katalog / etc / NetworkManager / system-connection na moim laptopie i widzę tam tylko połączenia VPN. Ale nie widzę tam żadnych ustawień przewodowych ani Wi-Fi. Spróbuję przenieść się przez jedno połączenie VPN i zgłosić, czy to działa, czy nie. Więc jeśli to działa, odpowiada to 1/4 pytania. Dzięki.
valentt
3
@divestoclimb czy istnieje przewodnik wyjaśniający, jak zmienić nazwę UUID ze starego systemu na nowy?
valentt
1
@divestoclimb ma rację, połączenia te nie zostaną odebrane, jeśli przeprowadzisz migrację na nowy sprzęt, będzie to działało tylko w przypadku ponownej instalacji na tym samym sprzęcie. Chciałbym poznać tutaj rozwiązanie, tak jak Valentt!
djvdorp
UUID jest tylko generowanym losowo identyfikatorem. Musisz upewnić się, że każde połączenie ma unikalny identyfikator (na każdym komputerze).
andcoz
3

Jak wspomniano przez innych, pliki połączeń Wi-Fi w system-connectionskatalogu zawierają adres MAC interfejsu. Musi to być zgodne z bieżącą konfiguracją, dlatego procedura jest następująca:

  1. skopiuj wszystkie pliki ze starego komputera na nowy komputer z / do katalogu:

    /etc/NetworkManager/system-connections
    
  2. zmień wpis adresu MAC w każdym pliku ze starego MAC na nowy MAC. Jako root:

    cd /etc/NetworkManager/system-connections
    sed -i -e 's/<old mac>/<new mac>/ *
    
  3. Na wszelki wypadek uruchom ponownie menedżera sieci:

    systemctl restart NetworkManager
    

Stary Mac możesz sprawdzić z dowolnego skopiowanego pliku, nowy Mac, jeśli nie jesteś pewien, czy możesz to sprawdzić ip link(lub z pliku, który prawdopodobnie został utworzony podczas instalacji systemu dla połączenia, którego użyłeś do skopiowania plików).

Uwaga: powyżej zakłada się, że miałeś pojedynczy interfejs Wi-Fi zarówno w starej, jak i nowej konfiguracji, ale ta sama logika powinna działać z wieloma interfejsami.

Lóránt Németh
źródło
1
Jaka jest linia plików MAC dla plików conf VPN? Widzę tylko UUID. Jak mogę ponownie wygenerować nowy UUID na nowym komputerze?
32r34wgf3e
2

Ustawienia sieci bezprzewodowej (przynajmniej w Fedorze) są przechowywane w tym katalogu:

/etc/sysconfig/network-scripts 

Istnieją dwa pliki na połączenie Wi-Fi. Pierwszy plik o nazwie ifcfg-YOURSSIDzawiera ustawienia sieci Wi-Fi i keys-YOURSSIDzawiera hasło sieci bezprzewodowej.

Istnieje również powiązane pytanie, które wyjaśnia: Gdzie są przechowywane ustawienia WiFi w NetworkManager?

Valentt
źródło
Dlaczego Fedora przechowuje je inaczej niż wszystkie pozostałe?
orschiro
0

Pozostałe posty mają rację, ale w niektórych punktach wprowadzono niewielkie zmiany.
Odpowiedzi są przechowywane w

/etc/Networkmanager/system-connections

Możesz usunąć linię mac-addresslub zmienić ją za pomocą

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

Możesz uzyskać nowy adres Mac za pośrednictwem

ip a

W zależności od miejsca przechowywania plików, prawa do plików mogą być nieprawidłowe, wystarczy je ustawić za pomocą:

chmod 0600 *
chown root:root *

Na koniec uruchom ponownie Network Managera

systemctl restart NetworkManager

Działa tak samo w Ubuntu 18.04.

podstępny
źródło