แยกเครือข่าย IoT ออกจากเครื่องทำงาน ต้องคิดอะไรต่อ

เมื่อบ้านเริ่มมีทั้งเครื่องทำงาน บอร์ดทดลอง กล้อง และบริการที่รันเอง เราอาจอยากแยกอุปกรณ์เหล่านี้ออกจากกัน เพื่อให้แต่ละกลุ่มมีขอบเขตชัดขึ้น และไม่ให้สิ่งที่ทดลองอยู่ไปปะปนกับเครื่องที่ใช้ทำงานทุกวัน
แต่หลังแยกแล้วก็ยังมีเรื่องที่ต้องคุยข้ามกลุ่มครับ เซนเซอร์ต้องส่งไป broker คนต้องเปิด Dashboard และบางอุปกรณ์ต้องใช้บริการพื้นฐานอย่าง DNS หรือเวลา หากตั้งกฎให้ผ่านทั้งหมดเพราะอยากให้ใช้งานได้เร็ว การแยกก็อาจไม่ได้ช่วยตามที่ตั้งใจไว้มากนัก
ก่อนเริ่มเปลี่ยน VLAN ลองทำรายการเส้นทางที่งานจำเป็นต้องใช้ก่อน จะช่วยให้การตั้งค่าตามหน้าที่ได้ และเวลามีบริการหายหลังแยกเครือข่ายก็มีภาพเดิมให้ไล่ทีละส่วน
แยกกลุ่มจากบทบาทที่ต้องดูแล
กลุ่มอุปกรณ์อาจแบ่งตามความเชื่อถือ หน้าที่ หรือวิธีจัดการ เช่น เครื่องผู้ดูแล บริการภายใน อุปกรณ์ IoT และผู้มาใช้งานชั่วคราว แต่ชื่อกลุ่มควรพาไปถึงนโยบายที่ต่างกันจริง ไม่เพิ่มจำนวนเพียงเพื่อให้แผนผังดูละเอียด
สำหรับแต่ละกลุ่ม ให้ระบุว่าใครต้องเริ่มการเชื่อมต่อไปหาใคร และบริการใดต้องตอบกลับ เส้นทางจาก IoT ไป broker ไม่จำเป็นต้องหมายถึงให้ IoT เปิดบริการทุกอย่างของเครือข่าย server ได้ ส่วนการดูแลอุปกรณ์ก็อาจอนุญาตเฉพาะกลุ่มผู้ดูแลตามที่กำหนด

รายการนี้ควรรวมบริการพื้นฐานและการอัปเดตที่จำเป็นด้วย ไม่อย่างนั้นพออุปกรณ์หาเวลาไม่ได้หรือตรวจใบรับรองไม่ผ่าน เราอาจคิดว่าแอปเสียทั้งที่เส้นทางพื้นฐานถูกตัดไปตอนแบ่งกลุ่ม
หากอุปกรณ์จำเป็นต้องออกอินเทอร์เน็ต ก็ควรมีเหตุผลว่าติดต่ออะไรเพื่อหน้าที่ใดตามข้อมูลที่ตรวจได้ ไม่สมมติว่าอุปกรณ์ทุกชิ้นมีความต้องการเท่ากัน และไม่ใช้การบล็อกทั้งหมดแล้วค่อยเปิดกว้างคืนเป็นการจบงานโดยไม่มีรายการที่เหลือ
VLAN แยกเครือข่ายชั้นหนึ่ง แต่ข้ามกลุ่มต้องมีกฎ
VLAN ช่วยแยกเครือข่ายระดับ Layer 2 บนอุปกรณ์ที่รองรับ ส่วนการสื่อสารระหว่างเครือข่ายผ่าน router ยังต้องถูกกำหนดด้วย routing และ firewall ตามระบบที่ใช้ การมีหมายเลข VLAN ต่างกันจึงไม่ใช่คำรับรองว่าทุกเส้นทางข้ามกลุ่มถูกห้ามแล้ว

switch, access point และ router ต้องตั้งให้ตรงกันด้วยว่าพอร์ตใดส่ง tagged หรือ untagged และปลายทางคาดว่าจะอยู่กลุ่มใด ชื่อ SSID ที่ตั้งต่างกันอาจยังพาอุปกรณ์เข้ากลุ่มเดียวกันได้หากการจับคู่ด้านหลังไม่ได้เปลี่ยนตาม
ควรเก็บแผนที่พอร์ตกับเครือข่ายไว้ให้ตามได้ โดยเฉพาะ uplink ที่ขนหลาย VLAN หากขอบเขตของลิงก์ไม่ตรงกัน อาการอาจปรากฏเพียงบางกลุ่มหรือทำให้ข้อมูลไปอยู่เครือข่ายที่ไม่ตั้งใจ การไล่จากผังจริงจะง่ายกว่าจำสีสายอย่างเดียว
ส่วนการแยกการบริหารอุปกรณ์เครือข่ายควรถูกคิดร่วมด้วย คนที่เข้ากลุ่มใช้งานทั่วไปไม่จำเป็นต้องเข้าหน้าตั้ง switch หรือ router ได้ และต้องมีทางดูแลที่ยังเข้าถึงได้ตามแผนเมื่อเปลี่ยนกฎ
เขียนกฎจากต้นทาง ปลายทาง และงานที่ต้องใช้
กฎควรระบุขอบเขตที่จำเป็น เช่น กลุ่มเซนเซอร์ไปบริการ broker ที่กำหนด แทนการอนุญาตจากเครือข่าย IoT ไปทั้งช่วง server โดยไม่มีการจำกัดตามหน้าที่ การรวมปลายทางเป็นกลุ่มตามที่เครื่องมือรองรับช่วยให้ดูแลได้ แต่สมาชิกในกลุ่มก็ต้องถูกทบทวนเมื่อบริการเปลี่ยน
ทิศทางและลำดับประเมินกฎต้องอ่านจากระบบ firewall ที่เลือก เพราะหน้าตาหรือความหมายของ interface rule อาจไม่เหมือนเครื่องมือที่เคยใช้ การคัดตัวอย่างจากคนละระบบโดยไม่ดูว่ามันใช้ที่จุดใดอาจทำให้ผลไม่ตรงตามภาพที่วาดไว้
firewall แบบ stateful มีวิธีติดตามการเชื่อมต่อที่เกี่ยวข้อง แต่ไม่ได้หมายความว่าต้องเปิดการเริ่มเชื่อมต่อทั้งสองทิศทางให้กว้างเหมือนกันทั้งหมด ควรแยกการตอบกลับของ connection เดิมออกจากสิทธิ์เริ่มงานใหม่ และตรวจ state ตามวิธีของระบบเมื่อปรับกฎ
อย่าลืมขอบเขต address family ที่ใช้อยู่จริงด้วย หากออกแบบเฉพาะ IPv4 แต่เครือข่ายยังมี IPv6 การประเมินว่าแยกสำเร็จต้องครอบคลุมเส้นทางที่อุปกรณ์ใช้ ไม่ดูเพียงผลจากที่อยู่แบบเดียวแล้วถือว่าทั้งหมดผ่านตามนโยบาย
การค้นพบบริการอาจต่างจากการต่อถึง IP
หลังแยกกลุ่ม เราอาจต่อถึงปลายทางด้วย IP ได้ แต่แอปกลับหาอุปกรณ์ไม่เจอ เพราะขั้น discovery อาจใช้ multicast หรือกลไกที่ไม่ได้ข้ามเครือข่ายเหมือนการเชื่อมต่อปกติ ต้องตรวจตาม protocol ของบริการ ไม่เปิดผ่านทุกอย่างเพียงเพราะชื่อไม่ปรากฏบนจอ
ถ้าจำเป็นต้องมีตัวช่วยกระจาย discovery ข้ามกลุ่ม ควรเลือกขอบเขตกับทิศทางที่ต้องใช้ตามการรองรับ และตรวจว่าสิ่งที่ถูกเปิดเผยข้ามไปมีอะไรบ้าง การส่งประกาศถึงกันได้ก็ยังไม่ได้อนุญาตเส้นทางควบคุมทั้งหมดโดยอัตโนมัติ
DNS ภายในอาจช่วยจัดชื่อบริการที่เราดูแลเองได้ โดยไม่ต้องพึ่งการค้นพบทุกครั้ง แต่ต้องทำให้ client ใช้ resolver ที่ตรงและมีเส้นทางถึงบริการจริง ไม่ให้ชื่อถูกแปลเป็นปลายทางที่อยู่คนละขอบเขตกับที่เราเปิดไว้
ย้ายทีละส่วนแล้วตรวจทั้งสิ่งที่ผ่านและไม่ผ่าน
ก่อนเปลี่ยนกฎควรเก็บการตั้งค่าและทางจัดการกลับที่เหมาะสม โดยเฉพาะถ้ากำลังทำจากเครื่องระยะไกล การย้ายทั้ง uplink กับสิทธิ์ผู้ดูแลพร้อมกันโดยไม่มีทางกลับอาจทำให้ขั้นตรวจต่อทำไม่ได้
เริ่มจากอุปกรณ์ทดลองในกลุ่มหนึ่ง แล้วทดสอบเส้นทางที่จำเป็นตามรายการ เช่น ส่งข้อมูลถึง broker เปิด Dashboard จากกลุ่มที่มีสิทธิ์ และตรวจว่าเส้นทางที่ไม่อนุญาตไม่เปิดตามไปด้วยในระบบที่เราดูแล ไม่ใช้เพียงผลว่าอุปกรณ์ยังออกเน็ตได้เป็นคำตอบของนโยบายทั้งหมด
หากมีสิ่งไม่ทำงาน ให้ดู log ของ firewall, DNS และแอปตามจุดที่เกี่ยวข้อง โดยคงขอบเขตการทดลองไว้ ไม่แก้ด้วยกฎอนุญาตทั้งหมดแล้วลืมเอาออกหลังพบสาเหตุ ควรจดข้อยกเว้นและเหตุผลทุกครั้งที่เพิ่ม
นโยบายต้องตามทันเมื่ออุปกรณ์เปลี่ยน
เมื่อเพิ่มบริการหรือย้าย broker ควรปรับทั้งชื่อ ปลายทาง และกฎที่เกี่ยวข้องตามรายการ ไม่ให้กฎเก่าค้างเปิดไปยัง IP ที่วันหนึ่งกลายเป็นของเครื่องอื่น และเมื่อถอดอุปกรณ์ก็ควรทบทวนสิทธิ์ที่ผูกกับมันด้วย
การเก็บผังกับกฎไว้ในรูปที่ย้อนเวอร์ชันได้ช่วยให้รับช่วงงานง่ายขึ้น เพราะคนดูแลต่อจะรู้ว่าทำไมแต่ละช่องทางยังเปิดอยู่ และเห็นว่าการเปลี่ยนครั้งล่าสุดมีผลกับกลุ่มใดโดยไม่ต้องเริ่มสำรวจใหม่ทั้งหมด
สรุป
การแบ่งเครือข่าย Homelab ควรเริ่มจากเส้นทางที่ต้องใช้ แล้วทำให้ VLAN, routing และ firewall ตรงกับนโยบายเดียวกัน เมื่อดูบริการพื้นฐาน discovery และทางผู้ดูแลร่วมด้วย พร้อมทดสอบทั้งเส้นทางที่อนุญาตกับที่ต้องห้าม เราจะได้ขอบเขตที่อธิบายได้และปรับต่อได้ตามอุปกรณ์จริงครับ


