จะส่งออกและโอนย้ายการตั้งค่า NetworkManager ไปยังระบบใหม่ได้อย่างไร


14

จะส่งออกและโอนย้ายการตั้งค่า NetworkManager ไปยังระบบใหม่ได้อย่างไร

ใช้กรณีคือ:

  • ติดตั้งเครื่องใหม่
  • ย้ายการกำหนดค่าเครือข่ายจากแล็ปท็อปไปยังระบบเดสก์ท็อป (หรือกลับกัน)

ควรย้ายการตั้งค่าทั้งหมดซึ่งรวมถึง:

  • การเชื่อมต่อเครือข่ายเริ่มต้นและกำหนดเอง
  • การเชื่อมต่อ wifi ด้วยรหัสผ่าน
  • การกำหนดค่า VLAN
  • การกำหนดค่า VPN (พร้อมกุญแจหากทำได้)

ฉันตรวจสอบ Arch wiki แล้วและมันไม่มีอะไรเกี่ยวกับการย้ายถิ่นดังนั้นฉันจึงขอให้คุณผู้ชายและผู้หญิงที่นี่

คำตอบ:


10

แต่ละการเชื่อมต่อที่กำหนดค่าใน NetworkManager จะถูกเก็บไว้ในไฟล์

/etc/NetworkManager/system-connections

โดยปกติคุณสามารถคัดลอกไฟล์ที่ต้องการจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง (ตามรูทแน่นอน)

คำเตือน : ไฟล์การกำหนดค่าบางอย่างสามารถอ้างอิงทรัพยากรภายนอก เช่นในหนึ่งในไฟล์ OpenVPN cert=/home/andcoz/somedir/somefile.crtของฉันฉันมีสายเช่น คุณต้องคัดลอกไฟล์ที่อ้างอิง


7
คำตอบนี้ไม่สมบูรณ์ NetworkManager กำหนด UUID ให้กับแต่ละการเชื่อมต่อระบบที่ปรากฏว่าอิงตามที่อยู่ MAC ของอินเตอร์เฟส หากคุณเปลี่ยนฮาร์ดแวร์ NetworkManager จะไม่ใช้การเชื่อมต่อระบบเก่าเนื่องจาก UUID ไม่ตรงกับที่คาดไว้อีกต่อไป
divestoclimb

ฉันตรวจสอบไดเรกทอรี / etc / NetworkManager / การเชื่อมต่อระบบบนแล็ปท็อปของฉันและฉันเห็นเฉพาะการเชื่อมต่อ VPN ที่นั่น แต่ฉันไม่เห็นการตั้งค่าแบบมีสายหรือไร้สายที่นั่น ฉันจะลองย้ายการเชื่อมต่อ VPN หนึ่งครั้งและรายงานกลับมาว่าทำงานได้หรือไม่ ดังนั้นถ้ามันใช้งานได้คำตอบ 1/4 ของคำถาม ขอบคุณ
valentt

3
@divestoclimb มีคำแนะนำที่อธิบายถึงวิธีการเปลี่ยนชื่อ UUID จากระบบเก่าเป็นใหม่หรือไม่?
valentt

1
@divestoclimb ถูกต้องการเชื่อมต่อเหล่านี้จะไม่ถูกหยิบขึ้นมาหากคุณย้ายไปยังฮาร์ดแวร์ใหม่เฉพาะสำหรับการติดตั้งบนฮาร์ดแวร์เดียวกันซึ่งจะใช้งานได้ ฉันชอบที่จะรู้วิธีแก้ปัญหาที่นี่เช่นเดียวกับ valentt!
djvdorp

UUID เป็นเพียงตัวระบุที่สร้างแบบสุ่ม คุณต้องแน่ใจว่าแต่ละการเชื่อมต่อมีตัวระบุที่ไม่ซ้ำกัน (ในแต่ละเครื่อง)
andcoz

3

ดังที่ผู้อื่นกล่าวถึงไฟล์การเชื่อมต่อ Wi-Fi ในsystem-connectionsไดเรกทอรีจะมีที่อยู่ 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
ไฟล์ MAC สำหรับ VPN conf คืออะไร? ฉันเห็น UUID เท่านั้น ฉันจะสร้าง UUID ใหม่บนเครื่องใหม่ได้อย่างไร
32r34wgf3e

1

การตั้งค่าไร้สาย (อย่างน้อยใน Fedora) จะถูกเก็บไว้ในไดเรกทอรีนี้:

/etc/sysconfig/network-scripts 

มีสองไฟล์ต่อการเชื่อมต่อ wifi ไฟล์แรกมีชื่อว่าifcfg-YOURSSIDมีการตั้งค่าเครือข่าย wifi และkeys-YOURSSIDมีรหัสผ่านเครือข่ายไร้สาย

นอกจากนี้ยังมีคำถามที่เกี่ยวข้องที่อธิบายสิ่งนี้: การตั้งค่า WiFi ของ NetworkManager เก็บอยู่ที่ไหน


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 *

ในที่สุดก็เริ่ม Network Manager

systemctl restart NetworkManager

ทำงานเหมือนกันภายใต้ Ubuntu 18.04

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.