วิธีตั้งค่า NetworkManager แบบเนทีฟบน Ubuntu 26.04 สำหรับการใช้งาน IoT
รู้มั้ยว่ามีคนประมาณ 30% ของบ้านเราที่ใช้ Smart Home อยู่? แล้วหลายๆ เจ้าก็ใช้อุปกรณ์ IoT ต่างๆ ที่ต้องเชื่อมต่อกับอินเทอร์เน็ตตลอดเวลา ทีนี้ถ้าเราอยากจะจัดการ Network ของอุปกรณ์พวกนี้ให้ดีๆ ตั้งแต่ต้นทาง การใช้ NetworkManager แบบเนทีฟบน Ubuntu 26.04 นี่แหละคือคำตอบที่ตอบโจทย์สุดๆ เพราะมันให้เราควบคุมการเชื่อมต่อได้ละเอียดกว่าวิธีอื่นๆ อีกเยอะเลยครับ ผมเองก็เพิ่งอ่านบทความจาก Dev.to และ Medium มา แล้วสรุปมาให้เพื่อนๆ dev ไทยที่ใช้ Ubuntu 26.04 ทำความเข้าใจกันครับ
ทำไมต้อง NetworkManager แบบเนทีฟ?
ปกติแล้วเวลาเราติดตั้ง Network Manager บน Ubuntu เราจะใช้ NetworkManager GNOME ซึ่งมันก็ใช้งานง่ายดี แต่ถ้าเราอยากควบคุมการเชื่อมต่อของอุปกรณ์ IoT อย่างละเอียดจริงๆ เช่น ตั้งค่า DNS เอง, กำหนด MTU (Maximum Transmission Unit) เพื่อให้การส่งข้อมูลเร็วขึ้น หรือจัดการเรื่อง Firewall ด้วยตัวเอง NetworkManager GNOME มันก็ทำได้ไม่เต็มที่เท่าไหร่
NetworkManager แบบเนทีฟคือ NetworkManager ที่เราติดตั้งเองโดยตรงจาก source code ซึ่งมันจะมาพร้อมกับตัวเลือกต่างๆ มากกว่าเยอะ ทำให้เราปรับแต่งการเชื่อมต่อได้ละเอียดกว่าเดิมมากๆ ครับ เหมือนกับการใช้เครื่องมือช่างที่เราเลือกใช้เอง แทนที่จะต้องใช้เครื่องมือทั่วไปที่มันอาจจะไม่ตอบโจทย์ความต้องการของเรา
ผมคิดว่า ถ้าคุณเป็น dev ที่ทำเรื่อง IoT, Home Automation หรือ Embedded Systems อยู่ การใช้ NetworkManager แบบเนทีฟนี่จะช่วยให้คุณควบคุมการเชื่อมต่อได้แม่นยำมากขึ้น และแก้ปัญหาที่อาจจะเกิดขึ้นได้ง่ายขึ้นด้วย
ขั้นตอนการติดตั้ง NetworkManager แบบเนทีฟ
- ติดตั้ง Dependencies: ก่อนอื่นเราต้องติดตั้ง dependencies ที่จำเป็นก่อนครับ
- ดาวน์โหลด Source Code: เราจะดาวน์โหลด source code ของ NetworkManager จากเว็บไซต์ GitHub ครับ GitHub Link
- Extract Source Code: Extract source code ที่ดาวน์โหลดมา
- Configure Build: เราต้อง configure การ build ก่อนครับ โดยเราจะใช้คำสั่ง:
- Build และ Install: ทำการ build และ install NetworkManager ครับ
sudo apt update && sudo apt install network-manager network-manager-gnome-keyring
tar -xvf NetworkManager-*.tar.gz
cd NetworkManager-*
./configure --enable-systemd --enable-dbus --enable-ipv6
make && sudo make install
sudo mv /usr/sbin/nmcli /usr/sbin/nmcli.original
sudo ln -s /usr/sbin/nmcli /usr/sbin/nmcli
การใช้งาน NetworkManager แบบเนทีฟ
หลังจากติดตั้งแล้ว เราสามารถใช้งาน NetworkManager แบบเนทีฟได้เหมือนกับ NetworkManager ปกติครับ แต่สิ่งที่เปลี่ยนไปคือเราจะมีตัวเลือกในการปรับแต่งที่หลากหลายมากขึ้น
# แสดง NetworkManager connections
nmcli connection show
# สร้าง new connection
nmcli connection add type wifi con-name "MyIoTDevice" ifname wlan0 ssid "MyIoTNetwork" password "MyPassword"
# Activate connection
nmcli connection up MyIoTDevice
ผมแนะนำให้ลองศึกษา documentation ของ NetworkManager แบบเนทีฟดูนะครับ จะมีรายละเอียดเกี่ยวกับการปรับแต่งต่างๆ มากกว่าเยอะเลย
ดูคู่มือตั้ง VPN บน Linux Mint 26 ได้ที่นี่
ข้อดีและข้อเสียของ NetworkManager แบบเนทีฟ
ข้อดี:
- ควบคุมการเชื่อมต่อได้ละเอียดกว่า
- ปรับแต่งได้หลากหลายกว่า
- เหมาะสำหรับผู้ที่ต้องการควบคุมการเชื่อมต่อของอุปกรณ์ IoT อย่างละเอียด
ข้อเสีย:
- ต้องมีความรู้พื้นฐานในการใช้งาน NetworkManager พอสมควร
- อาจจะต้องใช้เวลาในการเรียนรู้และปรับแต่ง
- มีความเสี่ยงที่จะเกิดปัญหาหากปรับแต่งการตั้งค่าผิดพลาด
Cost: ฟรีครับ! (ใช้ source code ที่ดาวน์โหลดได้เลย) แต่ถ้าอยากจะสนับสนุนการพัฒนา NetworkManager ก็สามารถบริจาคได้ที่ Freedesktop.org
Alternative: ถ้าคุณไม่ต้องการใช้ NetworkManager แบบเนทีฟ คุณสามารถใช้ NetworkManager GNOME (ที่ติดตั้งมากับ Ubuntu 26.04) ก็ได้ แต่คุณจะต้องยอมตัดขอบเขตการปรับแต่งบางอย่างออกไป
Gotcha: หลังจากติดตั้ง NetworkManager แบบเนทีฟแล้ว บางครั้งระบบอาจจะ restart NetworkManager ทำให้การเชื่อมต่อต่างๆ ถูก reset กลับไปเป็นค่าเริ่มต้น คุณสามารถใช้คำสั่ง `sudo systemctl restart NetworkManager` เพื่อ restart NetworkManager ได้ครับ
ผมคิดว่า ถ้าคุณไม่แน่ใจว่าควรจะใช้ NetworkManager แบบเนทีฟหรือไม่ ลองเริ่มจาก NetworkManager GNOME ก่อนก็ได้ แล้วค่อยๆ เรียนรู้และปรับแต่งไปเรื่อยๆ ครับ
FAQ
- Q: ผมจะตรวจสอบว่า NetworkManager แบบเนทีฟทำงานได้ถูกต้องหรือไม่ได้อย่างไร?
A: คุณสามารถตรวจสอบได้โดยการ ping ไปยังอุปกรณ์ที่เชื่อมต่ออยู่ หรือตรวจสอบ log files ของ NetworkManager ครับ
- Q: ผมจะย้อนกลับไปใช้ NetworkManager GNOME กลับได้หรือไม่?
A: ได้ครับ คุณสามารถลบ NetworkManager แบบเนทีฟออก แล้วติดตั้ง NetworkManager GNOME กลับมาได้
Next Step:
หลังจากอ่านบทความนี้แล้ว ลองติดตั้ง NetworkManager แบบเนทีฟบน Ubuntu 26.04 ของคุณ แล้วลองตั้งค่าการเชื่อมต่อ Wi-Fi ของอุปกรณ์ IoT ของคุณดูนะครับ ถ้าทำสำเร็จแล้ว แสดงว่าคุณได้ก้าวข้าม Hurdle แรกไปแล้ว!