วิธีกำหนดค่าเครือข่ายใน Linux ด้วย Netplan

สิ่งที่ต้องรู้

  • รับชื่ออินเทอร์เฟซเครือข่าย แล้วแก้ไข 01-netcfg.yaml ไฟล์. ชุด dhcp4 เป็นเท็จ
  • เพิ่มรายการสำหรับที่อยู่ เกตเวย์ และเนมเซิร์ฟเวอร์ DNS บันทึกไฟล์โดยใช้แป้นพิมพ์ผสม Ctrl+NS.
  •  สอดคล้องกับการเยื้องของคุณ มิฉะนั้น Netplan จะเกิดข้อผิดพลาดเมื่ออ่านไฟล์

เมื่อไหร่ เซิร์ฟเวอร์ Ubuntu 18.04 มาถึงแล้ว ได้ทำการเปลี่ยนแปลงวิธีการทำงานของผู้ดูแลระบบกับแพลตฟอร์ม การเปลี่ยนแปลงที่สำคัญอย่างหนึ่งซึ่งอาจทำให้ผู้ใช้ที่มีประสบการณ์สะดุดคือการกำหนดค่าเครือข่าย ไปเป็นวิธีเก่าในการกำหนดค่าเครือข่ายใน /etc/network/interfaces. หากต้องการกำหนดค่าเครือข่ายในการทำซ้ำล่าสุด ทักทาย Netplan

คู่มือสำหรับผู้เริ่มต้นใช้งาน Ubuntu Linux

การกำหนดค่าที่อยู่ IP แบบคงที่ด้วย Netplan

เนื่องจากเรากำลังพูดถึงการติดตั้งเซิร์ฟเวอร์ เราจึงต้องการกำหนดค่าเซิร์ฟเวอร์สำหรับ a ที่อยู่ IP แบบคงที่. มีสิ่งหนึ่งที่คุณต้องรู้เกี่ยวกับไฟล์ Netplan YAML คุณต้องปฏิบัติตามการเยื้องรหัสที่เหมาะสมสำหรับแต่ละบรรทัดของบล็อก ไม่ได้หมายความว่าคุณต้องเยื้องบรรทัดเฉพาะไปยังจุดใดจุดหนึ่ง ความหมายคือถ้าคุณเยื้องบรรทัดแรกของบล็อกสามช่องว่าง คุณต้องเยื้องส่วนที่เหลือของบล็อกสามช่องว่าง หากคุณไม่ปฏิบัติตามนี้ Netplan จะเกิดข้อผิดพลาด

ค้นหาชื่ออินเทอร์เฟซเครือข่ายของคุณด้วยคำสั่ง ip

ด้วยที่กล่าวว่ามากำหนดค่า

  1. ก่อนที่คุณจะทำการเปลี่ยนแปลงใดๆ คุณจำเป็นต้องทราบชื่อของอินเทอร์เฟซเครือข่าย โดยออกคำสั่ง:

    ip a

    คุณควรเห็นชื่อของอินเทอร์เฟซเครือข่ายอยู่ในรายการ (เช่น ens5 หรือ ens3) ด้วยชื่ออินเทอร์เฟซนั้น คุณก็พร้อมที่จะกำหนดค่า

  2. นอกกรอบ คุณอาจพบไฟล์ YAML ไฟล์เดียวใน /etc/netplan. ไฟล์นั้นจะมีชื่อว่า 01-netcfg.yaml หรือ 50-cloud-init.yaml คุณต้องการแก้ไขไฟล์ 01-netcfg.yaml หากไม่มีอยู่ ให้สร้างด้วยคำสั่ง:

    sudo touch 01-netcfg.yaml

    หากมีไฟล์อยู่ ให้แก้ไขด้วยคำสั่ง:

    sudo nano 01-netcfg.yaml
  3. ไฟล์เริ่มต้นของคุณอาจมีลักษณะดังนี้:

    เครือข่าย:
    รุ่น: 2
    เรนเดอร์: networkd
    อีเธอร์เน็ต:
    ens5:
    dhcp4: จริง

    การกำหนดค่าข้างต้นถูกตั้งค่าสำหรับ DHCP เนื่องจากนี่คือเซิร์ฟเวอร์ คุณต้องการใช้ที่อยู่ IP แบบคงที่ ดังนั้นจึงไม่มีการเปลี่ยนแปลง คุณต้องแก้ไขทุกอย่างที่อยู่ใต้บรรทัด ens5 สิ่งแรกที่ต้องทำคือตั้งค่า dhcp4 เป็นเท็จ เช่น:

    dhcp4: เท็จ
    ไฟล์ Netplan YAML เพื่อกำหนดค่าที่อยู่ IP แบบคงที่
  4. ถัดไป เพิ่มรายการสำหรับที่อยู่ เกตเวย์ และเนมเซิร์ฟเวอร์ DNS ตัวอย่างเช่น ตั้งค่าเซิร์ฟเวอร์เป็นที่อยู่ IP 192.168.1.206 โดยมีเกตเวย์ 192.168.1.254 และเซิร์ฟเวอร์ DNS 8.8.4.4 และ 8.8.8.8 รายการเหล่านั้นถูกเพิ่มไว้ด้านล่างรายการ dhcp4 และมีลักษณะดังนี้:

    ที่อยู่: [192.168.1.206/24]
    เกตเวย์4: 192.168.1.254
    เนมเซิร์ฟเวอร์:
    ที่อยู่: [8.8.4.4,8.8.8.8]
  5. โปรดจำไว้ว่า คุณต้องสอดคล้องกับการเยื้องของคุณ มิฉะนั้น Netplan จะเกิดข้อผิดพลาดเมื่ออ่านไฟล์ นอกจากนี้ โปรดทราบว่าคุณไม่ได้ตั้งค่า netmask ในลักษณะเดียวกับที่ทำผ่านไฟล์อินเทอร์เฟซ แทนที่จะตั้งค่าที่อยู่และ netmask ดังนี้:

    ที่อยู่ = 192.168.1.206
    เน็ตมาสก์ = 255.255.255.0

    การกำหนดค่าทั้งสองได้รับการจัดการด้วยบรรทัดเดียว:

    ที่อยู่: [192.168.1.206/24]
  6. บันทึกและปิดไฟล์นั้นด้วยการรวมแป้นพิมพ์ของ Ctrl+NS.

  7. หลังจากที่คุณบันทึกไฟล์นั้น คุณต้องทำให้ Netplan ทราบถึงการเปลี่ยนแปลง หากต้องการให้ Netplan อ่านซ้ำและใช้ไฟล์คอนฟิกูเรชัน ให้ใช้คำสั่ง:

    sudo netplan สมัคร
    การดีบักเอาต์พุตคำสั่ง netplan
  8. คุณไม่ควรเห็นข้อผิดพลาดหรือผลลัพธ์เลย หากคุณพบข้อผิดพลาด ให้เพิ่มตัวเลือกการดีบัก ซึ่งจะให้ผลลัพธ์เมื่อ Netplan พยายามใช้ไฟล์การกำหนดค่าดังนี้:

    sudo netplan --debug ใช้

    การใช้ตัวเลือก --debug ควรให้ข้อมูลที่เพียงพอแก่คุณเพื่อช่วยคุณแก้ปัญหาไฟล์ YAML ของคุณ หากคุณไม่ได้รับเอาต์พุต ให้ออกคำสั่ง:

    ip a

    ผลลัพธ์ของคำสั่งดังกล่าวควรสะท้อนถึงการเปลี่ยนแปลงที่คุณเพิ่งทำ เซิร์ฟเวอร์ของคุณมีที่อยู่ IP แบบคงที่แล้ว ขอบคุณ Netplan

Netplan คืออะไร?

Netplan เป็นยูทิลิตี้สำหรับกำหนดค่าเครือข่ายบนระบบ Linux ซึ่งใช้คำอธิบาย YAML สำหรับแต่ละอินเทอร์เฟซเครือข่ายที่พบในเซิร์ฟเวอร์หรือเดสก์ท็อป

Netplan ทำงานอย่างไร?

Netplan อ่านไฟล์คำอธิบาย YAML ที่พบใน /etc/netplan. ในช่วงเริ่มต้นของระบบปฏิบัติการ Netplan จะสร้าง (จากไฟล์ YAML ที่ผู้ใช้สร้างขึ้น) ที่จำเป็น ไฟล์คอนฟิกูเรชันในไดเร็กทอรี /run เพื่อให้การควบคุมอุปกรณ์เครือข่ายแต่ละตัวถูกส่งไปยังดีมอนเครือข่ายเฉพาะ กล่าวคือ คุณสร้างไฟล์คำอธิบาย YAML สำหรับอินเทอร์เฟซเครือข่ายที่ Netplan สามารถอ่านและใช้เพื่อทำให้อินเทอร์เฟซนั้นทำงานได้

มันซับซ้อนหรือไม่?

อย่าตกใจ แม้ว่าการกำหนดค่าเครือข่ายบน Netplan-enabled เซิร์ฟเวอร์ แตกต่างอย่างมากจากที่เคยมีมาในการทำซ้ำครั้งก่อนๆ มันไม่ใช่สิ่งที่ท้าทายทั้งหมด อย่างไรก็ตามมีความเฉพาะเจาะจง มาดูวิธีกำหนดค่าเครือข่ายผ่าน Netplan บนการติดตั้ง Ubuntu Server 18.04 อย่างที่คุณคาดไว้ โดยทั่วไปการกำหนดค่าเครือข่ายบนเซิร์ฟเวอร์ Linux จะทำผ่านบรรทัดคำสั่ง ดังนั้นเตรียมตัวให้พร้อมสำหรับการพิมพ์เล็กน้อย