1. แนะนำเบื้องต้น
เหตุผลที่ต้องเปลี่ยนชื่อโฮสต์ใน Ubuntu
ชื่อโฮสต์เป็นองค์ประกอบสำคัญมากในการจัดการเซิร์ฟเวอร์หรือเครื่องเสมือน เพราะช่วยให้สามารถระบุเครื่องในระบบหรือเครือข่ายได้อย่างถูกต้อง โดยเฉพาะในองค์กรหรือคลาวด์ที่มีการใช้งานเซิร์ฟเวอร์หรือเครื่องเสมือนหลายเครื่อง การตั้งชื่อโฮสต์ที่เข้าใจง่ายจะช่วยให้การทำงานมีประสิทธิภาพและบริหารจัดการได้สะดวกมากขึ้น นอกจากนี้ ยังมีหลายกรณีที่ต้องเปลี่ยนชื่อโฮสต์ เช่น เมื่อต้องย้ายเซิร์ฟเวอร์หรือเปลี่ยนแปลงสภาพแวดล้อมต่าง ๆ
ในบทความนี้ เราจะอธิบายวิธีเปลี่ยนชื่อโฮสต์ใน Ubuntu ทั้งแบบชั่วคราว วิธีที่คงอยู่แม้รีบูตเครื่อง และวิธีใช้งาน Netplan สำหรับตั้งค่าชื่อโฮสต์ร่วมกับเครือข่ายอย่างละเอียด
2. วิธีตรวจสอบชื่อโฮสต์
คำสั่งสำหรับตรวจสอบชื่อโฮสต์
วิธีพื้นฐานที่สุดในการตรวจสอบชื่อโฮสต์ที่ตั้งค่าอยู่ปัจจุบันคือใช้คำสั่งต่อไปนี้
hostname
จะเห็นชื่อโฮสต์ปัจจุบัน หากต้องการดูข้อมูลระบบเพิ่มเติม สามารถใช้คำสั่ง hostnamectl
hostnamectl
คำสั่งนี้จะแสดงข้อมูลรายละเอียดของระบบรวมถึงชื่อโฮสต์ ตัวอย่างผลลัพธ์ที่ได้ เช่น
Static hostname: my-hostname
Operating System: Ubuntu 20.04 LTS
เพียงเท่านี้ก็สามารถตรวจสอบชื่อโฮสต์ได้เรียบร้อย

3. วิธีเปลี่ยนชื่อโฮสต์ชั่วคราว
เปลี่ยนแบบชั่วคราวด้วยคำสั่ง hostname
หากต้องการเปลี่ยนชื่อโฮสต์ชั่วคราว ให้ใช้คำสั่ง hostname
ซึ่งการเปลี่ยนแปลงนี้จะกลับมาเป็นชื่อเดิมเมื่อรีบูตเครื่อง จึงเหมาะสำหรับการทดสอบระยะสั้นหรือใช้งานในเครื่องเสมือน
sudo hostname ชื่อโฮสต์ใหม่
ตัวอย่าง หากต้องการเปลี่ยนชื่อโฮสต์ชั่วคราวเป็น temp-hostname
ใช้คำสั่งนี้
sudo hostname temp-hostname
ตรวจสอบการเปลี่ยนชื่อโฮสต์ชั่วคราว
เพื่อตรวจสอบว่าได้เปลี่ยนชื่อโฮสต์สำเร็จหรือไม่ ให้รัน hostnamectl
อีกครั้ง
hostnamectl
หากเห็นชื่อที่เปลี่ยนแสดงว่าเปลี่ยนเรียบร้อย แต่หลังรีบูตเครื่องจะกลับเป็นชื่อเดิม หากต้องการเปลี่ยนแบบถาวรให้ดำเนินการตามขั้นตอนถัดไป
4. วิธีเปลี่ยนชื่อโฮสต์ถาวร
เปลี่ยนแบบถาวรด้วยคำสั่ง hostnamectl
วิธีที่แนะนำที่สุดในการเปลี่ยนชื่อโฮสต์ถาวรคือใช้คำสั่ง hostnamectl
วิธีนี้จะทำให้ชื่อโฮสต์ใหม่คงอยู่แม้รีบูตระบบ
sudo hostnamectl set-hostname ชื่อโฮสต์ใหม่
ตัวอย่าง หากต้องการตั้งชื่อโฮสต์เป็น my-new-hostname
ใช้คำสั่งนี้
sudo hostnamectl set-hostname my-new-hostname
แก้ไขไฟล์ /etc/hostname
โดยตรง
อีกวิธีหนึ่งที่ถาวรคือแก้ไขไฟล์ /etc/hostname
ด้วยตัวเอง
- เปิดไฟล์
/etc/hostname
ด้วยเท็กซ์เอดิเตอร์
sudo nano /etc/hostname
- เปลี่ยนชื่อเดิมเป็นชื่อโฮสต์ใหม่ที่ต้องการ
my-new-hostname
- บันทึกไฟล์แล้วรีบูตเครื่อง
sudo reboot
แก้ไขไฟล์ /etc/hosts
หลังเปลี่ยนชื่อโฮสต์แล้ว อย่าลืมตรวจสอบและแก้ไขไฟล์ /etc/hosts
ด้วย โดยในไฟล์นี้จะระบุการจับคู่ระหว่างชื่อโฮสต์กับ IP Address
127.0.1.1 my-new-hostname
เพื่อให้ระบบเครือข่ายสามารถระบุชื่อโฮสต์ที่เปลี่ยนใหม่ได้อย่างถูกต้อง
5. การเปลี่ยนค่าการตั้งค่าเครือข่ายด้วย Netplan
Netplan คืออะไร
Netplan เป็นเครื่องมือสำหรับจัดการการตั้งค่าเครือข่ายใน Ubuntu ซึ่งเหมาะสำหรับเซิร์ฟเวอร์หรือเครื่องเสมือนโดยเฉพาะ Netplan ช่วยให้งานอัตโนมัติในคลาวด์หรือเครือข่ายขนาดใหญ่ทำได้ง่าย และยังสามารถจัดการชื่อโฮสต์และเครือข่ายในที่เดียว จึงสะดวกมากในระบบเครือข่ายที่ซับซ้อน
วิธีตั้งค่าชื่อโฮสต์และเครือข่ายด้วย Netplan
- แก้ไขไฟล์ตั้งค่า Netplan
sudo nano /etc/netplan/50-cloud-init.yaml
- เพิ่มค่าชื่อโฮสต์และตั้งค่าเครือข่ายในไฟล์
network:
ethernets:
ens33:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
version: 2
hostname: my-new-hostname
- เมื่อเสร็จแล้วให้ใช้คำสั่งนี้เพื่อให้ Netplan นำค่าที่ตั้งไว้ไปใช้งาน
sudo netplan apply
การแก้ไขปัญหา (Troubleshooting)
หากมีข้อผิดพลาดขณะใช้ Netplan สามารถใช้คำสั่งนี้เพื่อดูรายละเอียดข้อผิดพลาด
sudo netplan --debug apply
ถ้ามีข้อความ error ส่วนใหญ่มักเกิดจาก syntax ผิดหรือการตั้งค่าเครือข่ายผิดพลาด ให้ตรวจสอบไฟล์อีกครั้ง และแนะนำให้สำรองไฟล์เดิมก่อนแก้ไขทุกครั้ง
6. ข้อควรระวังด้านความปลอดภัย
เมื่อเปลี่ยนชื่อโฮสต์ อาจมีผลกระทบต่อการเชื่อมต่อ SSH หรือการตั้งค่าของไฟร์วอลล์ ควรตรวจสอบการตั้งค่าความปลอดภัยให้ถูกต้อง เช่น ตรวจสอบว่าไฟล์ /etc/hosts
ถูกแก้ไขให้ตรงกับชื่อใหม่หรือไม่ การตั้งค่าไฟร์วอลล์หลังเปลี่ยนชื่อยังคงถูกต้องหรือไม่ และถ้าจำเป็นควรตรวจสอบและตั้งค่า SSH ใหม่ด้วย เพราะชื่อโฮสต์ที่เปลี่ยนอาจมีผลต่อการเชื่อมต่อ SSH

7. สรุป
การเปลี่ยนชื่อโฮสต์ใน Ubuntu มีทั้งวิธีชั่วคราวและถาวร โดยสำหรับการใช้งานชั่วคราวให้ใช้คำสั่ง hostname
ส่วนการเปลี่ยนถาวรแนะนำให้ใช้ hostnamectl
จะสะดวกและง่ายที่สุด และยังสามารถตั้งค่าร่วมกับเครือข่ายผ่าน Netplan ได้เหมาะสำหรับระบบที่ซับซ้อน
หลังเปลี่ยนชื่อโฮสต์ ควรตรวจสอบไฟล์ /etc/hosts
การตั้งค่าไฟร์วอลล์ และ SSH ว่าระบบยังทำงานถูกต้องหรือไม่