วิธีกำหนดค่าเครือข่ายใน Linux ด้วย Netplan
สิ่งที่ต้องรู้
- รับชื่ออินเทอร์เฟซเครือข่าย แล้วแก้ไข 01-netcfg.yaml ไฟล์. ชุด dhcp4 เป็นเท็จ
- เพิ่มรายการสำหรับที่อยู่ เกตเวย์ และเนมเซิร์ฟเวอร์ DNS บันทึกไฟล์โดยใช้แป้นพิมพ์ผสม Ctrl+NS.
- สอดคล้องกับการเยื้องของคุณ มิฉะนั้น Netplan จะเกิดข้อผิดพลาดเมื่ออ่านไฟล์
เมื่อไหร่ เซิร์ฟเวอร์ Ubuntu 18.04 มาถึงแล้ว ได้ทำการเปลี่ยนแปลงวิธีการทำงานของผู้ดูแลระบบกับแพลตฟอร์ม การเปลี่ยนแปลงที่สำคัญอย่างหนึ่งซึ่งอาจทำให้ผู้ใช้ที่มีประสบการณ์สะดุดคือการกำหนดค่าเครือข่าย ไปเป็นวิธีเก่าในการกำหนดค่าเครือข่ายใน /etc/network/interfaces. หากต้องการกำหนดค่าเครือข่ายในการทำซ้ำล่าสุด ทักทาย Netplan
การกำหนดค่าที่อยู่ IP แบบคงที่ด้วย Netplan
เนื่องจากเรากำลังพูดถึงการติดตั้งเซิร์ฟเวอร์ เราจึงต้องการกำหนดค่าเซิร์ฟเวอร์สำหรับ a ที่อยู่ IP แบบคงที่. มีสิ่งหนึ่งที่คุณต้องรู้เกี่ยวกับไฟล์ Netplan YAML คุณต้องปฏิบัติตามการเยื้องรหัสที่เหมาะสมสำหรับแต่ละบรรทัดของบล็อก ไม่ได้หมายความว่าคุณต้องเยื้องบรรทัดเฉพาะไปยังจุดใดจุดหนึ่ง ความหมายคือถ้าคุณเยื้องบรรทัดแรกของบล็อกสามช่องว่าง คุณต้องเยื้องส่วนที่เหลือของบล็อกสามช่องว่าง หากคุณไม่ปฏิบัติตามนี้ Netplan จะเกิดข้อผิดพลาด

ด้วยที่กล่าวว่ามากำหนดค่า
-
ก่อนที่คุณจะทำการเปลี่ยนแปลงใดๆ คุณจำเป็นต้องทราบชื่อของอินเทอร์เฟซเครือข่าย โดยออกคำสั่ง:
ip a
คุณควรเห็นชื่อของอินเทอร์เฟซเครือข่ายอยู่ในรายการ (เช่น ens5 หรือ ens3) ด้วยชื่ออินเทอร์เฟซนั้น คุณก็พร้อมที่จะกำหนดค่า
-
นอกกรอบ คุณอาจพบไฟล์ YAML ไฟล์เดียวใน /etc/netplan. ไฟล์นั้นจะมีชื่อว่า 01-netcfg.yaml หรือ 50-cloud-init.yaml คุณต้องการแก้ไขไฟล์ 01-netcfg.yaml หากไม่มีอยู่ ให้สร้างด้วยคำสั่ง:
sudo touch 01-netcfg.yaml
หากมีไฟล์อยู่ ให้แก้ไขด้วยคำสั่ง:
sudo nano 01-netcfg.yaml
-
ไฟล์เริ่มต้นของคุณอาจมีลักษณะดังนี้:
เครือข่าย:
รุ่น: 2
เรนเดอร์: networkd
อีเธอร์เน็ต:
ens5:
dhcp4: จริงการกำหนดค่าข้างต้นถูกตั้งค่าสำหรับ DHCP เนื่องจากนี่คือเซิร์ฟเวอร์ คุณต้องการใช้ที่อยู่ IP แบบคงที่ ดังนั้นจึงไม่มีการเปลี่ยนแปลง คุณต้องแก้ไขทุกอย่างที่อยู่ใต้บรรทัด ens5 สิ่งแรกที่ต้องทำคือตั้งค่า dhcp4 เป็นเท็จ เช่น:
dhcp4: เท็จ
-
ถัดไป เพิ่มรายการสำหรับที่อยู่ เกตเวย์ และเนมเซิร์ฟเวอร์ 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] -
โปรดจำไว้ว่า คุณต้องสอดคล้องกับการเยื้องของคุณ มิฉะนั้น Netplan จะเกิดข้อผิดพลาดเมื่ออ่านไฟล์ นอกจากนี้ โปรดทราบว่าคุณไม่ได้ตั้งค่า netmask ในลักษณะเดียวกับที่ทำผ่านไฟล์อินเทอร์เฟซ แทนที่จะตั้งค่าที่อยู่และ netmask ดังนี้:
ที่อยู่ = 192.168.1.206
เน็ตมาสก์ = 255.255.255.0การกำหนดค่าทั้งสองได้รับการจัดการด้วยบรรทัดเดียว:
ที่อยู่: [192.168.1.206/24]
บันทึกและปิดไฟล์นั้นด้วยการรวมแป้นพิมพ์ของ Ctrl+NS.
-
หลังจากที่คุณบันทึกไฟล์นั้น คุณต้องทำให้ Netplan ทราบถึงการเปลี่ยนแปลง หากต้องการให้ Netplan อ่านซ้ำและใช้ไฟล์คอนฟิกูเรชัน ให้ใช้คำสั่ง:
sudo netplan สมัคร
-
คุณไม่ควรเห็นข้อผิดพลาดหรือผลลัพธ์เลย หากคุณพบข้อผิดพลาด ให้เพิ่มตัวเลือกการดีบัก ซึ่งจะให้ผลลัพธ์เมื่อ 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 จะทำผ่านบรรทัดคำสั่ง ดังนั้นเตรียมตัวให้พร้อมสำหรับการพิมพ์เล็กน้อย