如何将NetworkManager设置导出并迁移到新系统?


14

如何将NetworkManager设置导出并迁移到新系统?

用例是:

  • 重新安装机器
  • 将网络配置从笔记本电脑移动到台式机系统(反之亦然)

所有设置都应迁移,包括:

  • 默认和自定义网络连接
  • 带有密码的wifi连接
  • VLAN配置
  • VPN配置(如果可能,带有密钥)

我检查了Arch Wiki,发现迁移没有任何内容,因此我在这里问大家。

Answers:


10

NetworkManager中配置的每个连接都存储在以下位置的文件中

/etc/NetworkManager/system-connections

通常,您可以将所需文件从一台计算机复制到另一台计算机(当然是通过root用户)。

警告:某些配置文件可能引用了外部资源。例如在我的一个openvpn文件中,我有一行cert=/home/andcoz/somedir/somefile.crt。您需要复制任何引用的文件。


7
这个答案是不完整的。NetworkManager会为每个似乎基于接口的MAC地址的系统连接分配一个UUID。如果更改硬件,则NetworkManager将不会使用旧的系统连接,因为UUID不再符合预期。
divestoclimb

我在笔记本电脑上检查了目录/ etc / NetworkManager / system-connections,在那只看到了vpn连接。但是我在那里看不到任何有线或无线设置。我将尝试移至一个vpn连接,并报告该操作是否成功。因此,如果可行,它将回答问题的1/4。谢谢。
valentt

3
@divestoclimb是否有一些指南可以解释如何将UUID从旧系统重命名为新系统?
valentt

1
@divestoclimb是正确的,如果您迁移到新硬件,这些连接将不会被拾取,仅用于在相同硬件上的重新安装即可。我很想知道这里的解决方案,就像valentt!
djvdorp

UUID只是随机生成的标识符。您必须确保每个连接(在每台计算机上)都有一个唯一的标识符。
andcoz '18

3

正如其他人所提到的,system-connections目录中的Wi-Fi连接文件包含接口MAC地址。这需要匹配您当前的设置,因此该过程为:

  1. 将所有文件从旧计算机从/复制到新计算机:

    /etc/NetworkManager/system-connections
    
  2. 将每个文件中的MAC地址条目从旧MAC更改为新MAC。作为根:

    cd /etc/NetworkManager/system-connections
    sed -i -e 's/<old mac>/<new mac>/ *
    
  3. 以防万一,重新启动网络管理器:

    systemctl restart NetworkManager
    

您可以从复制的任何文件中检查旧的Mac,如果不确定可以与之进行检查,则可以从新的mac中检查ip link(或从安装系统时用于复制文件的连接创建的文件中检查)。

注意:以上假设您在旧的新设置中都拥有一个Wi-Fi接口,但是相同的逻辑应该适用于多个接口。


1
VPN conf文件的MAC线是什么?我只看到UUID。如何在新计算机上重新生成新的UUID?
32r34wgf3e

1

无线设置(至少在Fedora上)保留在以下目录中:

/etc/sysconfig/network-scripts 

每个wifi连接有两个文件。第一个文件命名为ifcfg-YOURSSID包含wifi网络设置并keys-YOURSSID包含无线网络密码。

另外,还有一个相关的问题对此进行了解释: NetworkManager的WiFi设置存储在哪里?


0

其他职位是正确的,但在某些方面有一些细微变化。
答案保存在

/etc/Networkmanager/system-connections

您可以删除行mac-address或通过更改它

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

您可以通过获取新的mac地址

ip a

根据您保存文件的位置,文件权限可能不正确,只需通过以下方式设置它们:

chmod 0600 *
chown root:root *

最后重启网络管理器

systemctl restart NetworkManager

在ubuntu 18.04下工作相同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.