iptraf: vlan no traffic fix

หลังจากที่ได้ติดตั้งระบบ authentication และ log server ที่ ศูนย์หอพักตักสิลา จ.มหาสารคาม คราวนี้ พระเอกก็ยังเป็น RahuNAS (http://git.rahunas.org) อยู่ (พัฒนาเอง ไม่ใช้เอง ใครจะใช้ จริงไหมครับ) ข้อแตกต่างจากที่อื่น ๆ ที่เคยทำคือ ที่นี่มี managed switch ที่สามารถจัดการ VLAN ได้ ก็เลยสบโอกาส ที่จะทดสอบ RahuNAS กับ VLAN ซึ่งผลก็เป็นไปอย่างที่คาดหวัง คือ ทำงานได้สมบูรณ์ดี ตอนนี้ ก็น่าจะรับรองได้อย่างจริงจังว่า RahuNAS support multiple networking (multiple ethernet, VLAN) แต่ทว่า เครื่องมือคู่ใจผู้ดูแลระบบ อย่าง iptraf กลับไม่แสดง traffic ใด ๆ เลย สำหรับ vlan interface ตอนแรกยุ่ง ๆ ก็เลยไม่คิดอะไรมาก ไม่แสดงก็เอาไว้ก่อน แต่พอว่างนิดหน่อย ฉุกคิดขึ้นมา ก็เลยได้ลองค้นในอินเทอร์เน็ต (http://linux.mantech.ro/IPTraf-fix.html โดย Arian Ban น่าจะเป็นการ fix ให้ OpenSuSE) ก็เลยได้ไอเดีย

แนวคิดคือ การสร้าง vlanX interface ซึ่งใน Debian จะทำที่ /etc/network/interfaces

auto vlan101
iface vlan101 inet static
  address 10.101.0.1
  netmask 255.255.252.0
  vlan_raw_device eth0

ซึ่งจะต้องมีการโหลด kernel module ชื่อ 8021q หรือมีการใส่ 8021q ไว้ที่ /etc/modules ก่อนเปิดเครื่อง โดยที่มอดูล 8021q จะทำการ deencapsulate packets ที่มีการ tag vlan ออกมาจาก vlan_raw_device ซึ่งหมายความว่า ในขณะนี้ vlan101 ถูกมองว่าเป็น ethernet interface เหมือน eth0, eth1 แล้ว แต่โค้ดของ iptraf ไม่ได้ตีความเช่นนั้น จึงเป็นเหตุผลว่า เรามองไม่เห็น traffic ใด ๆ วิ่งผ่าน vlan interface เลย

คราวนี้ มาถึงการแพตช์ ก็ใช้วิธีการของ Debian ในการจัดการแพกเกจ โดยเริ่มต้นจากการเพิ่ม quilt patch system เข้าไป และก็สร้างแพตช์ หลังจากนั้นก็ส่งเข้า debclub ซึ่งหากใครใช้ debclub repository อยู่แล้ว ก็สามารถ upgrade iptraf ตัวที่แพตช์แล้วได้ทันที ซึ่งจากการทดสอบ ตอนนี้ vlan interface มี traffic วิ่งให้เห็น ส่วนท่านใดที่ไม่มี vlan ก็ใช้ได้อย่างไม่มีปัญหาเช่นกัน

ftp://ftp.debianclub.org/debclub/pool/main/i/iptraf/
Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้