บทความนี้อธิบายวิธีการตั้งค่า Additional IP Address บนระบบปฏิบัติการ Ubuntu ด้วย Netplan หลังจากดำเนินการ Assign Additional IP Address ให้กับ Cloud VPS เรียบร้อยแล้ว เพื่อให้ระบบปฏิบัติการสามารถใช้งาน Additional IP Address ได้อย่างถูกต้อง
วิธีการตั้งค่า Additional IP บน Ubuntu ด้วย Netplan
ก่อนเริ่มดำเนินการ กรุณาตรวจสอบว่าท่านได้ดำเนินการตามรายการต่อไปนี้เรียบร้อยแล้ว
- สั่งซื้อ Additional IP Address เรียบร้อยแล้ว
- Assign Additional IP Address ให้กับ Cloud VPS เรียบร้อยแล้ว
- สามารถเชื่อมต่อเข้าสู่เครื่อง Ubuntu ผ่าน SSH ได้
- ใช้งานบัญชี root หรือบัญชีที่สามารถใช้คำสั่ง sudo ได้
หากยังไม่ได้ดำเนินการ Assign Additional IP Address ให้กับ Cloud VPS กรุณาศึกษาคู่มือ "วิธีการ Assign Additional IP Address ให้กับ Cloud VPS" และดำเนินการให้เรียบร้อยก่อนเริ่มตั้งค่า Netplan
กรุณาดำเนินการตามขั้นตอนดังต่อไปนี้
ขั้นตอนที่ 1: ตรวจสอบ Interface ของระบบ
เชื่อมต่อเข้าสู่เครื่อง Ubuntu ผ่าน SSH จากนั้นตรวจสอบชื่อ Network Interface ของระบบด้วยคำสั่งต่อไปนี้
ip a- ชื่อ Network Interface ที่พบบ่อย ได้แก่ ens3, ens4 หรือ eth0

- จากตัวอย่างในบทความนี้ Primary IP Address ใช้งานบน Interface ens3 และ Additional IP Address จะถูกกำหนดบน Interface ens4
ชื่อ Network Interface ของแต่ละเครื่องอาจแตกต่างกัน กรุณาตรวจสอบชื่อ Interface ของเครื่องที่ใช้งานจริงก่อนแก้ไขไฟล์ Netplan
ขั้นตอนที่ 2: สำรองไฟล์ Netplan เดิม
ก่อนเริ่มแก้ไขไฟล์ Netplan แนะนำให้ตรวจสอบชื่อไฟล์และสำรองข้อมูลเดิมไว้ เพื่อให้สามารถย้อนกลับการตั้งค่าได้หากเกิดข้อผิดพลาด
- ตรวจสอบไฟล์ Netplan ที่มีอยู่ในระบบ
ls -l /etc/netplan/- สำรองไฟล์ Netplan เดิมก่อนเริ่มแก้ไข
cp -a /etc/netplan /etc/netplan.backupแนะนำให้สำรองไฟล์ Netplan ทุกครั้งก่อนแก้ไข Network Configuration เพื่อให้สามารถกู้คืนการตั้งค่าเดิมได้ หากมีการกำหนดค่าผิดพลาด
ขั้นตอนที่ 3: แก้ไขไฟล์ Netplan
เปิดไฟล์ Netplan ด้วยคำสั่งต่อไปนี้
vi /etc/netplan/99-netcfg.yamlเมื่อเปิดไฟล์ Netplan แล้ว จะพบการตั้งค่าของ Primary IP Address (IP หลัก) ซึ่งระบบสร้างไว้ตั้งแต่เริ่มต้น ดังตัวอย่างด้านล่าง
ภาพที่ 1 ตัวอย่างไฟล์ Netplan ก่อนเพิ่ม Additional IP Address 
ไฟล์ Netplan เดิมของระบบจะประกอบด้วยการตั้งค่า Primary IP Address (IP หลัก) ที่ใช้งานอยู่ ในการเพิ่ม Additional IP Address จะต้องคงการตั้งค่า Primary IP Address เดิมไว้ และเพิ่มเฉพาะการตั้งค่าของ Additional IP Address เข้าไปเท่านั้น
จากนั้นเพิ่มการตั้งค่า Interface ens4 สำหรับ Additional IP Address ต่อจาก Interface ens3 ดังตัวอย่างต่อไปนี้
ens4: dhcp4: false dhcp6: false addresses: - 118.27.152.53/23 routes: - to: default via: 118.27.152.1 table: 102 on-link: true routing-policy: - from: 118.27.152.53/32 table: 102
เมื่อเพิ่มการตั้งค่าเรียบร้อยแล้ว ไฟล์ Netplan จะประกอบด้วยทั้ง Primary IP Address และ Additional IP Address ดังตัวอย่างด้านล่าง

ภาพที่ 2 ตัวอย่างไฟล์ Netplan หลังเพิ่ม Additional IP Address
ตรวจสอบความถูกตต้อง ไฟล์ Netplan และบันทึกค่า
network: version: 2 ethernets: ens3: dhcp4: false dhcp6: false addresses: - 118.27.151.105/23 routes: - to: default via: 118.27.150.1 - to: ::/0 via: 2404:8680:1c00:2::1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4 ens4: dhcp4: false dhcp6: false addresses: - 118.27.152.53/23 routes: - to: default via: 118.27.152.1 table: 102 on-link: true routing-policy: - from: 118.27.152.53/32 table: 102
ในตัวอย่างนี้ Additional IP Address ใช้ Gateway คนละชุดกับ Primary IP Address จึงจำเป็นต้องกำหนด Routing Table เช่น table: 102 และ Routing Policy เพื่อให้ Traffic ของ Additional IP Address ออกผ่าน Gateway 118.27.152.1 ได้อย่างถูกต้อง
ขั้นตอนที่ 4: ทดสอบและ Apply ค่า Netplan
หลังจากแก้ไขไฟล์ Netplan เรียบร้อยแล้ว แนะนำให้ตรวจสอบ Configuration ก่อน Apply การตั้งค่าจริง
- ทดสอบความถูกต้องของไฟล์ Netplan ด้วยคำสั่ง
netplan try- หากไม่พบข้อความ Error ให้กด Enter เพื่อยืนยันการตั้งค่า
- จากนั้น Apply การตั้งค่าด้วยคำสั่งต่อไปนี้
netplan applyหากเชื่อมต่อผ่าน SSH แนะนำให้ใช้คำสั่ง netplan try ก่อนทุกครั้ง เนื่องจากหากตั้งค่า Network ไม่ถูกต้อง ระบบจะสามารถย้อนกลับการตั้งค่าเดิมได้โดยอัตโนมัติ ช่วยลดความเสี่ยงในการหลุดออกจากการเชื่อมต่อ SSH
ขั้นตอนที่ 5: ตรวจสอบการทำงานของ Additional IP
หลังจาก Apply Netplan เรียบร้อยแล้ว ให้ตรวจสอบว่า Additional IP Address สามารถใช้งานได้ตามปกติ โดยดำเนินการตามรายการต่อไปนี้
- ตรวจสอบว่า Additional IP Address แสดงอยู่บน Interface ที่กำหนด
ip a- ตรวจสอบ Routing Table ของ Additional IP Address
ip route show table 102- ตรวจสอบ Routing Policy
ip rule show- ทดสอบการเชื่อมต่อออกสู่ Internet ผ่าน Additional IP Address
ping -I 118.27.152.53 8.8.8.8หากการตั้งค่าถูกต้อง จะพบว่า • Additional IP Address แสดงอยู่บน Interface ens4 • Routing Table (table: 102) ถูกสร้างเรียบร้อย • Routing Policy แสดงผลถูกต้อง • สามารถ Ping ออก Internet ผ่าน Additional IP Address ได้ตามปกติ
การตั้งค่าเสร็จสมบูรณ์
เมื่อดำเนินการครบทุกขั้นตอนแล้ว Additional IP Address จะพร้อมใช้งานบน Ubuntu Server และสามารถนำไปใช้งานกับบริการต่าง ๆ เช่น Website, Mail Server หรือ Application Server ได้ตามต้องการ
หากไม่สามารถใช้งาน Additional IP Address ได้ กรุณาตรวจสอบค่า IP Address, Gateway, Routing Table, Routing Policy และชื่อ Network Interface อีกครั้ง รวมถึงตรวจสอบว่ามีการ Assign Additional IP Address จาก Cloud Portal เรียบร้อยแล้ว
อธิบายเพิ่มเติม
ภาพตัวอย่างด้านล่างแสดงลำดับการทำงานของ Primary IP Address และ Additional IP Address ภายในระบบ Ubuntu หลังจากกำหนดค่า Netplan เรียบร้อยแล้ว

บทความที่เกี่ยวข้อง
หากยังไม่ได้ดำเนินการในขั้นตอนก่อนหน้า สามารถศึกษารายละเอียดเพิ่มเติมได้จากบทความต่อไปนี้