มาลอง Dhcp Snooping บนอุปกรณ์ไมโครติกกัน

สวัสดีครับ บทความนี้ เรามาลองเล่นลูกเล่นใหม่ๆ ที่มีมาในเร้าท์เตอร์โอเอส ของไมโครติกกัน มันคือ “DHCP Snooping”

หลายคนอาจจะมีคำถามขึ้นมาในกระบาล ตัวเองว่า …. อะไรของคุณพี่.. DHCP Snooping?????

ก่อนจะมาเรียนรู้ว่ามันคืออะไร ผมขอเล่าปัญหากวนใจเล็กๆ ของคนทำงานสายไอที เน็ตเวิร์ค กันนิดครับ

“นายหล่อ ทำงานเป็นเจ้าหน้าที่ฝ่ายไอที ดูแลระบบเน็ตเวิร์ค ของบริษัท ที่บริษัทมีพนักงานประมาณ 200 คน จากหลากหลายแผนก วันหนึ่ง เจ้าหน้าที่การเงิน โทรมาที่ฝ่ายบอกว่า

เจ้าหน้าที่การเงิน : น้อง.. เครื่องพี่ออกเน็ตไม่ได้ เป็นตั้งแต่เช้าแล้ว พอดีพี่จะทำเงินเดือน ช่วยดูให้หน่อย
ฝ่ายไอที : พี่ลองดูมุมขวามือ ที่เป็นรูปคอมพิวเตอร์ ว่ามีเครื่องหมายตกใจไหมครับ
เจ้าหน้าที่การเงิน : จริงด้วย มันขึ้นตกใจอ่ะ พี่ควรทำยัง
ฝ่ายไอที : อืม…. (ชิปหายล่ะ) อินเตอร์เน็ตก็ปกติ เน็ตเวิร์คก็ปกติน่ะ … อ๋อ พี่ลองเช็คไอพีหน่อยครับว่าตอนนี้ได้ไอพีเบอร์อะไร
เจ้าหน้าที่การเงิน : แป๊บ พี่เช็คให้ .. ไอพีพี่น่ะ 192.168.22.1 ค่ะ
ฝ่ายไอที : เดี๋ยวน่ะพี่… เน็ตเวิร์คเรามันวง 172.30.10.N นะพี่ แล้วไอพีพี่มายังไง
เจ้าหน้าที่การเงิน : ไม่รู้พี่ก็ไม่ได้ทำอะไรน่ะ เช้ามามันก็เป็น
ฝ่ายไอที : แล้วคนอื่นในแผนก เป็นด้วยไหมครับ พี่เช็คให้หน่อย
เจ้าหน้าที่การเงิน : เป็นค่ะ… เป็นสามเครื่อง ตั้งแต่เช้าแล้ว ใช้งานไม่ได้เหมือน
ฝ่ายไอที : งานงอกล่ะ… เดี๋ยวผมขึ้นไปดูให้ครับ

จากการตรวจสอบของฝ่ายไอทีพบว่า … ใครว่ะ.. แจกไอพีสวนมาในระบบเน็ตเวิร์คบริษัท ตามหาตัวมันด่วนๆๆๆๆๆ เลย เจอแล้วควรจับมันไปตัด “หำ” ทิ้งซ่ะ (เออว่ะ สงสัยจะเป็นผู้ชาย ฮ่าๆๆๆๆ)

การเชื่อมต่อระบบเน็ตเวิร์คทั่วๆ ไปที่เราใช้กันอยู่ แบบพื้นฐาน

ประกอบไปด้วย

  1. เร้าท์เตอร์ ซึ่งทำหน้าที่เป็นทั้งเกตเวย์ทางออกอินเตอร์เน็ตและให้บริการแจกจ่ายไอพี หรือ DHCP Server ให้เราด้วย
  2. สวิต หรือ ฮับ ที่ทำหน้าที่ในการเชื่อมต่อคอมพิวเตอร์ของเรามากกว่าหนึ่งเครื่อง หรือเรียกง่ายๆ ว่า ชุมสายคอมพิวเตอร์ ฮ่าๆๆ อันนี้ผมคิดเอง
  3. คอมพิวเตอร์ หรืออุปกรณ์อื่นๆ ที่ต้องการใช้งานไอพี

ตัวอย่างการเชื่อมต่อจะเป็นในลักษณะนี้ มี DHCP Server เป็นอุปกรณ์ที่ทำหน้าที่แจกจ่ายไอพีให้กับเครื่องลูกข่าย หรือคอมพิวเตอร์ทุกๆ เครื่องในรเน็ตเวิร์คของเรา (กรณีเครื่องเยอะๆ แล้วเราไม่ต้องการมานั่งฟิกไอพีทีละเครื่อง)

ซึ่งคอมพิวเตอร์ทุกๆ เครื่องที่เปิดเครื่องขึ้นมา อ๋อต้องมีการเสียบสายแลน หรือ แบบไร้สาย (Wireless) ถ้าคอมพิวเตอร์เรากำหนดไว้ว่าให้รับไอพีอัตโนมัติ (Obtain an IP address automatically)  มันจะทำการร้องขอไปที่เน็ตเวิร์คของเราว่า ใครบ้างว่ะ (ขออภัย ไม่สุภาพ) ที่ให้บริการไอพี

เมื่อมีการร้องขอไอพีเข้ามาในเน็ตเวิร์คของเรา จากเครื่องคอมพิวเตอร์ในเน็ตเวิร์ค (เหมือนเราตะโกนหาคนที่สามารถสนองความต้องการของเราได้ในกลุ่มคนหมู่มาก)  ซึ่งปกติแล้วใน 1 เน็ตเวิร์ค ก็จะมีเครื่องหนึ่งเครื่องคอยให้บริการไอพีอยู่ ก็จะตอบกลับไปยังเครื่องที่รองขอ มาว่า ฉันเอง พ่อรูปหล่อ ฉันบริการ อุ๊ย ไม่ๆๆ ฉันให้บริการไอพีจ๊ะ… จริงดิ.. งั้นขอไอพีหน่อย… เดี๋ยวน่ะเช็คก่อนว่ามีพอให้บริการไหม Wow คุณคือผู้โชคดี ไอพีเรายังเหลือให้บริการ เอาไปจ๊ะ เลขนี้น่ะ…… ได้เลย งั้นผมเอาเบอร์นี้แหละ ของคุณนะครับๆๆๆๆๆๆๆๆ…. จบ สนใจรายละเอียดเพิ่มเติมแนะนำให้คลิกอ่านตรงนี้ครับ

ที่เหลามาทั้งหมดด้านบน มันคือ ปกติวิสัย ที่เราๆ จะเจอกันในเน็ตเวิร์คปกติทั่วๆ ไปครับ แต่ๆๆๆๆๆ

เมื่อความซวย…. ของชีวิตในสายงานไอที มาเยือน

คนทำงานดูแลเน็ตเวิร์ค ในสำนักงาน ปัญหาหนึ่งที่มักเจอคือ “แม่งใครแจกไอทีสวนในระบบว่ะ”……. หลายๆ ที่เจอปัญหานี้ ปวดหัวครับ บอกได้เลย ไล่หากันสิว่าใครเป็นตัวการ เปิดให้บริการ DHCP ซ้อนกับเราในระบบ ทำให้เครื่องลูกข่าย เวลาร้องขอไอพี บางครั้ง ดันได้ไอพี ไม่ตรงกับที่เราจ่าย เพราะดันมีคอมพิวเตอร์ หรืออุปกรณ์อื่นๆ ที่อยู่ในเน็ตเวิร์ค ดันเปิดให้บริการ DHCP Server ซะงั้น

ตัวอย่างภาพด้านล่างนี้ จะเห็นว่า ปกติแล้ว เราจะมี DHCP Server แค่เครื่องเดียว เช่น ตัวอย่างนี้ เครื่องที่ให้บริการไอพี 192.168.88.1/24 (ซ้ายมือเรา) แต่ๆ ดันมี เครื่องขวามือเปิดให้บริการ DHCP Server และดันอยู่ในเครือข่ายเดียวกันกับเราเสียอีก เรื่องแบบนี้มันน่าปวดหัวยิ่งนัก เพราะบางครั้งเองผู้ใช้งานเอง ก็ไม่ได้ตั้งใจครับ บอกได้เลย แต่มีบางโปรแกรมเมื่อติดตั้งไปแล้วบนเครื่องมันดันเปิดบริการพวกนี้เอง เช่น virtual machine ต่างๆ นั่นเองครับ ตัวดีเลย หรือ อีกอย่าง เช่น ลูกค้าไปซื้อเร้าท์เตอร์มา ซึ่งจะเอามาทำแค่หน้าที่ เป็น Access Point แต่เนื่องจากตัวที่ซื้อมามันดันเป็นเร้าท์เตอร์ครับ มันไม่ทำหน้าที่เฉพาะ Access Point มันจึงมีฟังก์ชั่น DHCP Server มาให้เราด้วย และถ้าเราไม่ปิด งานเข้าครับ แจกไอพีสวนมาแน่ๆ ในระบบ

ตัวอย่าง ADSL Router ที่หลายๆ คนชอบเอามาใช้เป็น Access Point เพราะราคาไม่แพง พัน สองพันก็ได้ล่ะ แต่อย่าลืม มันเปิดบริการ DHCP Server ไว้ด้วยน่ะ อย่าลืมปิด

เมื่อลองดูว่าถ้าเอามาเสียบในระบบ จะเป็นภาพนี้

 

ปัญหานี้ ป้องกันได้ครับ ด้วยการใช้สวิตที่มีฟังก์ชั่น DHCP Snooping

ทำความเข้าใจ DHCP Snooping คืออะไร?

เอาความเข้าใจง่ายๆ เลยแล้วกันนะครับ ว่า DHCP Snooping มันคืออะไร มันคือ ฟีเจอร์หนึ่ง ที่สามารถระบุได้ว่า อุปกรณ์ที่เอามาต่อกับสวิต พอร์ต นั้นๆ (เลือกพอร์ตได้) มันมีบริการ DHCP Server มาด้วยไหม…. ถ้ามี ให้กำหนดเป็น Trusted หรือพอร์ตที่น่าเชื่อถือ และถ้าพอร์ตไหนที่อุปกรณ์เชื่อมต่อเข้ามา ไม่ได้ให้บริการ DHCP Server ด้วยแล้วละก็ ก็กำหนดให้มันเป็น Untrusted คือ ไม่น่าเชื่อถือ ฮ่าๆๆๆ แค่นั้นแหละ

ซึ่งฟีเจอร์นี้มีในสวิต หลายๆ ตัวครับ ซึ่งเรียกได้ว่า ยี่ห้อดังๆ มีหมดครับ ฟีเจอร์นี้ เพราะเป็นตัวขายเลย ฮ่าๆๆๆ ส่วนไมโครติกของเรานั้น ก็มีคับ แต่จะมีบนเวอร์ชั่น 6.43 ขึ้นไป (ถ้าใหม่กว่านี้มันไม่ตัดออกน่ะ ฮ่าๆๆๆ) และต้องใช้บน เร้าท์เตอร์โอเอส (RouterOS) นะครับ จริงๆ ใน SwOS ก็มี แต่บอกเลย บั๊กเพรียบ และไม่ทำงานด้วย ฮ่าๆๆ ผมเมล์ไปถาม Support ไมโครติกมาแล้ว เขาบอกว่าเป็น Software Issue คือ บั๊ก นั่นเอง ที่มันไม่ทำงาน รอแก้ไข ซึ่งก็ไม่ได้ระบุว่า ช่วงไหน วันไหน ปีไหน

ตัว DHCP Snooping นี่มันเป็น L2 Security ครับ ฮ่าๆๆ งงละสิ เอาง่ายๆ คือ มันเป็นความปลอดภัย ในสวิต ประเภท L2 นั่นเอง อ่านรายละเอียดเพิ่มเติมที่นี่

มาดูวิธีการใชังานกันหน่อย

สำหรับการใช้งาน ก็ไม่ยากครับ เพียงแค่เราระบุว่า พอร์ตไหน.. ที่สวิต ของเรา เชื่อมต่ออยู่กับอุปกรณ์ที่ทำหน้าที่เป็น DHCP Server ก็เท่านั้นครับ มาดูตัวอย่าง ตามภาพกันเลยครับ

ตัวอย่าง ผมมี Internet Gateway อยู่ 1 ตัว ทำหน้าที่เป็น DHCP Server ด้วย คือจ่ายไอพีให้กับคอมพิวเตอร์ในเครือข่าย

แล้วผมก็เสียบสายแลนจาก DHCP Server นี้ มาเสียบที่สวิต ที่พอร์ต Ether1 ดังภาพ ดังนั้น ในพอร์ต Ether1 ผมต้องกำหนดให้เป็น Trusted พอร์ตครับ แค่นี้แหละ

และจากรูปเช่นเดียวกัน จะเห็นว่า ผมมี สวิต CRS328 อยู่ 2 ตัว ซึ่งพอร์ต Ether1 ผมเชื่อมต่อมาจาก DHCP Server แล้ว และ ถ้าดูจากภาพ พอร์ต Ether23 ผมมีเชื่อมไปยัง สวิตตัวที่สองด้วย โดยเชื่อมไปยังสวิตตัวที่ 2 ที่พอร์ต Ether1 เหมือนกัน

ดังนั้นแล้ว ผมต้องกำหนด พอร์ตที่เชื่อมต่อสวิตพวกนี้ให้เป็น Trusted พอร์ตด้วยเช่นกัน ถ้าเรากำหนดแค่พอร์ต ether1 ของสวิต 1 ตัวเดียวแล้ว คอมพิวเตอร์ที่มาเสียบที่สวิตตัวที่ 2 ด้านล่าง ก็จะไม่ได้รับแจกไอพีนะครับ อันนี้ต้องเข้าใจ (ผมทำสี่เหลี่ยมสีแดงไว้)

ดังนั้น ก็มีสวิตตัวอื่นๆ มาเชื่อมต่ออีก ก็ทำแบบนี้ไปเรื่อยๆ ครับ ง่ายไหมล่ะ ง่ายสิ ฮ่าๆๆๆๆๆ เออ ง่าย

มาดูวิธีการคอนฟิกบนอุปกรณ์ crs328-24p-4s+rm กันครับ

เริ่มจากสร้างบริดขึ้นมาก่อนครับ โดยไปที่เมนู Winbox > Bridge

ช่อง Name ให้กำหนดชื่อคัรบ เช่นผมตั้งชื่อว่า BRIDGE-SW
แล้วทำเครื่องหมายถูกหน้า DHCP Snooping และ Add DHCP Option 82 ครับ ตามภาพ อย่าถามเยอะ “เจ็บคอ”

กำหนดเพิ่มพอร์ตเข้าไปในบริด ที่ต้องการใช้งาน และกำหนดสถานะของพอร์ตว่า เป็น Trusted สำหรับพอร์ตที่เชื่อมต่อกับ dhcp server และกำหนด untrusted (คือไม่ทำเครื่องหมายถูก) เพื่อกำหนดว่าอุปกรณ์ที่มาเชื่อมต่อ เป็นอุปกรณ์ที่ไม่ได้เปิดให้บริการ dhcp server คือ เครื่องอุปกรณ์ทั่วๆ ไปนั่นเอง

ซึ่งโดยปกติแล้ว ไมโครติก จะกำหนดเป็น Untrusted มานะทุกพอร์ต เมื่อเราทำการเปิดใช้งาน dhcp snooping

อ๋อในการเพิ่มพอร์ต ก็ทำดังนี้

Winbox > bridge > Ports

ตรง Interface ให้เลือก ether 1 และเลือก Bridge ตัวอย่างต้องการเอาพอร์ต ether1 ให้อยู่ในบริดที่ชื่อว่า BRIDGE-SW ก็กำหนดตามภาพ ทำแบบนี้ไปเรื่อยๆ ในพอร์ตที่เราต้องการครับ ปกติเราก็ใส่ทุกพอร์ตแหละ ลงไปเลย แต่มันทำได้ทีละพอร์ตนั่นเอง เสียเวลาจริงๆๆ ฮ่าๆๆๆ ค่อยๆ ทำไปน่ะพี่น้อง

แค่นี้ ก็เรียบร้อยแล้วครับ ต่อไปถ้ามีใครเผลอเอาอุปกรณ์แปลกๆ มาเสียบ แล้วดันเปิด dhcp server ด้วย เราก็จะไม่ปวดหัวแล้วล่ะ สบายตัว สบายใจ ก็มีเวลาไปนั่งเช่น ROV ต่อได้แล้ว….. ฮ่าๆๆๆๆ ใครว่างานไอทีลำบาก.. เชื่อผม ตราบใดที่ไอทีอยู่สำนักงานปัญหาไม่เกิดครับ… แต่อย่าได้ไปไหนเชียว ฮ่าๆๆๆๆๆๆๆๆๆ

สุดท้ายนี้ขอขอบคุณทุกท่านที่เข้ามาอ่านนะครับ ผมก็พยายามอธิบายแบบบ้านๆ ไม่เน้นวิชาการ ตามแบบฉบับของผม ผิดถูกก็บอกกล่าวกัน จะได้แก้ไข

ขอบคุณอีกครั้ง จากใจ

อำนวย ปิ่นทอง
กรรมกรประจำบริษัท โอติก เน็ตเวิร์ค จำกัด
line id : npintong  Skype Id : npintong Email : npintong@gmail.com Mobile : 095-549-9819

สุดท้าย.. ไม่รับปรึกษาฟรี นะครับ พอดีช่วงนี้ต้องกินต้องใช้ ฮ่าๆๆๆ ถ้าจ้างก็โทร หรือ ติดต่อตามเบอร์ที่ให้เลยครับ ขอบพระคุณอีกครั้ง

Leave a Reply

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *