การเปลี่ยนชื่อโฮสต์ (Hostname) ใน Ubuntu: คู่มือฉบับสมบูรณ์สำหรับผู้ดูแลระบบ

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 ด้วยตัวเอง

  1. เปิดไฟล์ /etc/hostname ด้วยเท็กซ์เอดิเตอร์
sudo nano /etc/hostname
  1. เปลี่ยนชื่อเดิมเป็นชื่อโฮสต์ใหม่ที่ต้องการ
my-new-hostname
  1. บันทึกไฟล์แล้วรีบูตเครื่อง
sudo reboot

แก้ไขไฟล์ /etc/hosts

หลังเปลี่ยนชื่อโฮสต์แล้ว อย่าลืมตรวจสอบและแก้ไขไฟล์ /etc/hosts ด้วย โดยในไฟล์นี้จะระบุการจับคู่ระหว่างชื่อโฮสต์กับ IP Address

127.0.1.1 my-new-hostname

เพื่อให้ระบบเครือข่ายสามารถระบุชื่อโฮสต์ที่เปลี่ยนใหม่ได้อย่างถูกต้อง

5. การเปลี่ยนค่าการตั้งค่าเครือข่ายด้วย Netplan

Netplan คืออะไร

Netplan เป็นเครื่องมือสำหรับจัดการการตั้งค่าเครือข่ายใน Ubuntu ซึ่งเหมาะสำหรับเซิร์ฟเวอร์หรือเครื่องเสมือนโดยเฉพาะ Netplan ช่วยให้งานอัตโนมัติในคลาวด์หรือเครือข่ายขนาดใหญ่ทำได้ง่าย และยังสามารถจัดการชื่อโฮสต์และเครือข่ายในที่เดียว จึงสะดวกมากในระบบเครือข่ายที่ซับซ้อน

วิธีตั้งค่าชื่อโฮสต์และเครือข่ายด้วย Netplan

  1. แก้ไขไฟล์ตั้งค่า Netplan
sudo nano /etc/netplan/50-cloud-init.yaml
  1. เพิ่มค่าชื่อโฮสต์และตั้งค่าเครือข่ายในไฟล์
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
  1. เมื่อเสร็จแล้วให้ใช้คำสั่งนี้เพื่อให้ 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 ว่าระบบยังทำงานถูกต้องหรือไม่