linux training in Thailand
| Home | Articles | Download | Free Linux Tips | Resources | Training | Web Link | Linux Training English|
| Courses | Schedule | Price & Promotion | Map | Customer Ref. | Instructors | Certification | FAQ | Registration Form |
สถาบันฯ ขอแจ้งปิดทำการระหว่างวันที่ 27 -31 กรกฏาคม 2558 และเปิดทำการปกติวันที่ 3 สิงหาคม 2558
We are on vacations 5 days in July 27-31, 2015 Please contract Line ID : nok_fly or e-mail : info@itdestination.com
ITDestination จะปิดปรับปรุงเว็บไซต์ ตั้งแต่วันที่ 7 - 9 มิถุนายน 2556
อาจจะทำให้ใช้งานไม่ได้ในบริการ Webboard Freetips และ E-Learning จึงขออภัยในความไม่สะดวกมา ณ ที่นี้
สถาบันฯ ขอแจ้งปิดทำการวันที่ 22-28 กุมภาพันธ์ 2560 และจะเปิดทำการปกติในวันที่ 1 มีนาคม 2560
กรณีติดต่อส่งข้อความมาที่ Facebook: LinuxITDestination หรือ e-mail: info@itdestination.com ซึ่งจะติดต่อกลับประมาณ 17.00 น.
ผู้ลงทะเบียนอบรมสามารถทำข้อสอบ online ในช่วงที่มาอบรมเพื่อทบทวนความรู้ ทำได้ไม่จำกัดจำนวนครั้ง มีข้อเฉลยที่ถูกต้องแนะนำ
สอบถามรายละเอียดโทร 089 890-5494 >>> อ่านรายละเอียด... คลิ๊ก

บริหารเครือข่ายอย่างมีประสิทธิผลด้วย NTOP

โดย ธีรภัทร มนตรีศาสตร์
กริชพนม โพธิ์แก้ว
Linux Profesional Workforce

เมื่อระบบเครือข่ายคอมพิวเตอร์ในองค์กรเริ่มมีบทบาทมากขึ้นเท่าใด ความคาดหวังของผู้บริหารที่ต้องการจะใช้ประโยชน์จากทรัพยากรที่ได้ลงทุนลงแรงไปในระบบไอทีขององค์กรก็ยิ่งต้องการตัวบ่งชี้ที่มีความชัดเจนและเชื่อถือได้มากยิ่งขึ้น เครื่องมือบริหารระบบเครือข่ายจึงเป็นสิ่งจำเป็นที่ผู้บริหารระบบเครือข่ายจะต้องนำมาใช้งานภายใต้เงื่อนไขและสภาพแวดล้อมที่จำกัดอย่างมีประสิทธิภาพสูงสุด ประสิทธิผลจากการดำเนินงานของระบบเครือข่ายเป็นสิ่งที่ผู้บริหารระบบจะต้องรับผิดชอบ ดำเนินการให้สำเร็จลุล่วงตามภาระหน้าที่ที่ได้รับมอบหมาย นอกจากการจัดสรรเทคโนโลยีมาใช้อย่างเหมาะสม การแก้ไขปัญหาอย่างทันท่วงทีแล้ว การรายงานสภาพที่เป็นจริงให้แก่ผู้บริหารขององค์กรได้รับรู้ยังเป็นอีกสิ่งหนึ่งที่จะต้องจัดให้มีขึ้นและข้อมูลรายงานนี้ยังถือว่าเป็นสารสนเทศสำคัญที่มีผลต่อความเข้าใจที่ถูกต้อง ชัดเจน และจะย้อนกลับมาส่งผลต่อการบำรุงรักษาพัฒนาองค์กรต่อไป Linux Professional Workforce ในครั้งนี้จะขอเสนอโปรแกรม NTOP ซึ่งเป็นซอฟต์แวร์สนับสนุนการบริหารจัดการระบบเครือข่ายแบบโอเพ่นซอร์สที่มีคุณสมบัติครอบคลุมความต้องการขององค์กรทุกขนาด เนื่องจากเป็นซอฟต์แวร์ที่มีผู้ร่วมพัฒนาจากทั่วโลก ตั้งแต่ปี ค.ศ. 1998 เรื่อยมาจนถึงปัจจุบันเป็นเวอร์ชั่น 3.1 สามารถติดตั้งได้ทั้งบนวินโดวส์และลีนุกซ์ โดยอาศัยไลบรารี่ยอดนิยมอย่าง libpcap เพื่อการดักจับแพคเก็ต ( Packet Sniffing ) ในระบบเครือข่าย สิ่งที่ทำให้ NTOP มีความน่าสนใจเป็นอย่างยิ่งก็คือ ความสามารถในการวิเคราะห์ปัญหาความล่าช้าในระบบ กับคุณสมบัติในการรายงานผลได้อย่างหลากหลายทั้งในแบบตัวเลขและแบบกราฟรูปภาพโดยผ่านหน้าเว็บ
สภาพปัญหาและความต้องการขององค์กร
ผู้เขียนได้ลองใช้เครื่องมือประเภท sniff มาก่อนหน้านี้หลายตัวไม่ว่าจะเป็น MRTG , IPTraf ,Sniffer ซึ่ง tool ที่กล่าวมานี้บางตัวก็ฟรี บางตัวก็ต้องมีค่าใช้จ่ายเพราะในองค์กรของผู้เขียนเองมีปริมาณการใช้งานเครือข่ายเป็นจำนวนมาก และไม่สามารถตรวจสอบหรือมอนิเตอร์ได้เลยว่าในการใช้ งานของยูสเซอร์นั้นเป็นการใช้ไปกับงานบริการ ( service ) ประเภทใด เป็นพอร์ตอะไรบ้าง ออกเว็บอะไรบ้าง มีการอัพโหลดหรือดาวน์โหลดอะไร ซึ่งการใช้ปริมาณ traffic สูง ๆ ก็จะทำให้ผู้ใช้อื่นๆ ใน ระบบได้รับผลกระทบทำให้ใช้งาน service อื่นช้าตามไปด้วย ในช่วงแรกผมได้ลองใช้โปรแกรม iptraffic ก่อน แต่ด้วยข้อจำกัดหลายอย่าง เช่น ต้องเป็น root เท่านั้นจึงจะสามารถรีโมตเข้ามาดู traffic ได้ซึ่งทางผู้บริหารเองจะไม่สามารถอ่านข้อมูลและทำความเข้าใจได้เหมือนอย่างเรา จึงตัดสินใจไม่เลือกใช้ ต่อมาได้ลองใช้โปรแกรม Sniffer Pro บน Windows 2000 ก็รู้สึกว่าเป็นเครื่องมือที่ทำงานได้หลากหลาย และตรงกับที่ทางผู้บริหารต้องการ แต่ปัญหาก็คือโปรแกรมใช้งานยากและมีราคาแพงมาก ทำให้ยกเลิกไป ต่อมาก็มาพบโปรแกรม MRTG ซึ่งเป็นโปรแกรมที่สามารถรายงานปริมาณ traffic ผ่านทางเว็บบราวเซอร์ได้ ซึ่งใช้ง่ายและดู traffic ได้เช่นกัน แต่จะดูได้แค่ traffic โดยรวมของปริมาณการใช้งานเท่านั้น ไม่สามารถบอกรายละเอียดว่า เครื่องไหนมีพฤติกรรมการใช้งาน traffic อย่างไร ซึ่งทุกครั้งที่ผู้เขียนเห็นกราฟว่า traffic full ต้องเดินหาเครื่องของ user ว่า download อะไรหรือเครื่องติดไวรัสหรือเปล่าซึ่งบางครั้งต้องเดินประมาณ 1-2 ชั่วโมงกว่าจะเจอตัวการที่สร้างปัญหา ผู้เขียนได้ไปลองค้นหาดูในหลาย ๆ บทความ และนำมาทดลองใช้อีกหลายตัวจนมาเจอ ntop ซึ่งมีโปรแกรมนี้มีความสามารถอย่างที่ต้องการคือ
  1. ติดตั้งง่าย คือมีรูปแบบแพคเกจทั้งแบบ RPM และการคอมไพล์จากไฟล์ .tar
  2. มีการจัดเก็บข้อมูลลงฐานข้อมูล MySQL จึงทำให้เราสามารถเรียกดูข้อมูลย้อนหลังได้
  3. ในส่วนของการแสดงผลนั้นเราก็ดูการแสดงผลได้จากเว็บบราวเซอร์ ซึ่งเป็นการง่ายสำหรับผู้บริหารที่จะติดตามดูพฤติกรรมของยูสเซอร์หรือสถานภาพในระบบเครือข่าย
  4. การแสดงผลผ่านเว็บบราวเซอร์นี้เองทำให้สามารถทำการวิเคราะห์ปัญหาจากที่โฮสต์อื่นได้
  5. การแสดงผลนั้นมีหลากหลาย ทั้งการรายงานผลเป็น traffic รวม หรือ แยกเป็น client ก็ทำได้ โดยรูปแบบการรายงานผลจะเป็นได้ทั้งแบบกราฟรูปภาพ และข้อมูลที่เป็นตัวเลข
  6. การทำสรุปเป็นเอกสารรายงานนั้นสามารถทำรายงานผู้บริหารได้อย่างหลากหลาย
  7. แอดมินที่ดูแลระบบนั้นไม่จำเป็นจะต้องมีความรู้ด้านลีนุกซ์เลยเพราะมีฟังชั่นให้แก้ไขผ่านเว็บบราวเซอร์ได้อย่างง่าย
จากข้อดีของ ntop ที่ได้นำเสนอมานี้ทำให้ผู้เขียนได้นำโปรแกรม ntop มาใช้ในองค์กร ตลอดระยะเวลา 3 ปีที่ผ่านมา ก็พบข้อดีอย่างที่กล่าวมาและด้วยความเป็นซอฟต์แวร์โอเพ่นซอร์สจึงสามารถดัดแปลงให้ใช้งานผ่านพอร์ตที่เรากำหนดได้โดยปรับโปรแกรมต้นฉบับ ( source code ) ให้เหมาะสมกับงาน ตัวบริการของ ntop ก็มีการสั่งให้รันเพียงครั้งเดียวเท่านั้นก็สามารถใช้งานได้ตลอด จากนั้นก็จะสามารถใช้มอนิเตอร์ปัญหาจากการใช้ traffic จากโฮสต์ต่างๆ และพฤติกรรมการใช้งานได้อย่างถูกต้องทำให้การแก้ปัญหา traffic ใช้เวลาการแก้ปัญหาลดเวลาลงได้มาก การติดตั้ง ntop
ท่านสามารถดาวน์โหลดโปรแกรม ntop ได้จากเว็บไซต์ http://sourceforge.net/projects/ntop/ ซึ่งอยู่ในรูปของแพคเกจ RPM หรืออาจจะเลือกติดตั้งจากต้นฉบับโปรแกรม ( source code ) ก็ได้เช่นกัน ขนาดของไฟล์ ntop-3.1.tgz ประมาณ 3.3 MB และสำหรับผู้ที่ต้องการใช้ ntop บนวินโดวส์หรือ Mac OS X ก็จะมีไฟล์ให้ดาวน์โหลดเช่นเดียวกัน การเตรียมเครื่องที่จะติดตั้ง ntop นั้นจะต้องมีไลบรารี่พื้นฐานทั่วๆ ไปให้ครบถ้วน ได้แก่ glibc , gcc ,cpp ,gawk ,libtool ,libpcap ส่วนการแสดงกราฟ ได้แก่ gd ,gd-devel และ libpng ,libpng-devel ซึ่งโดยปรกติถ้าท่านติดตั้งลีนุกซ์ดิสทริบิวชั่นโดยเลือกแพคเกจในกลุ่ม Development ให้ครบก็จะมี ไลบรารี่เหล่านี้ครบอยู่แล้ว ส่วนการติดตั้งนั้นจะมีเอกสารแนะนำไว้แล้ว สามารถศึกษาได้จาก http://www.ntop.org และไม่ได้มีขั้นตอนยุ่งยากอะไร เช่น กรณีของแพคเกจแบบ RPM ก็เพียงแค่พิมพ์คำสั่ง rpm -ivh ตามด้วยชื่อไฟล์ .rpm เท่านั้น ส่วนการติดตั้งในแบบ Source code ก็เพียงแค่ configure ,make และ make install เช่นเดียวกับโปรแกรมอื่นๆ ทั่วไป ( ล่าสุดผู้เขียนติดตั้งกับ Fedora Core 3 ไม่พบปัญหาแต่อย่างใด ) หลังจากติดตั้งสำเร็จแล้ว พิมพ์คำสั่ง ntop ที่คอมมานด์พร้อมพ์โปรแกรมจะให้กำหนดรหัสผ่านของผู้บริหารโปรแกรม จากนั้นก็เข้าสู่การใช้งานได้ทันที การใช้งาน NTOP
เพื่อให้เห็นภาพการใช้งาน ntop โดยรวมจะอธิบายเป็นขั้นตอนต่อไปนี้ โดยกำหนดให้ ntop ให้บริการที่พอร์ต 3333 ในโฮสต์ลีนุกซ์ 192.168.100.1 ( ค่าปรกติจะอยู่ที่พอร์ต TCP 3000 ) สำหรับหน้าจออินเทอร์เฟสของโปรแกรมนี้อาจจะมีการเปลี่ยนแปลงไปบ้างในแต่ละรุ่นแต่ก็จะมีส่วนคล้ายกัน ขอให้ท่านผู้อ่านตั้งข้อสังเกตไว้เพราะในรุ่นปัจจุบันจะมีหน้าจอและเมนูแตกต่างออกไปจากตัวอย่างที่นำมากล่าวในบทความอีกเล็กน้อย เริ่มดูตัวอย่างการใช้งานกันเลยดีกว่านะครับ การทำจะเข้ามาดู traffic นั้นสามารถดูได้จากเครื่อง 192.168.100.1:3333 ผ่านเว็บบราวเซอร์ตามรูปที่ 1 ซึ่งในส่วนแรกนี้เป็น Help ของ tool ซึ่งจะเห็นแถบด้านซ้ายมือซึ่งเราสามารถเลือกดูรายละเอียดของการกำหนดค่าคอนฟิกต่างๆ ได้

รูปที่ 1 หน้าแรกของ ntop
สังเกตที่แถบเมนูตัวเลือกด้านบนซึ่งส่วนนี้จะเป็นเมนูหลักที่เราจะเข้าไปดูค่าต่าง ๆ
Data RCVD จะเป็นส่วนของการรับข้อมูลจากภายนอกเข้ามาซึ่งมีเมนูย่อยดังรูปที่ 2 ดังนี้
  • All Protocols จะเป็นการบอกถึงแพคเกตของแต่ละโปรโตคอล ซึ่งส่วนนี้เราสามารถกำหนดได้ว่าเราจะให้แสดงค่าอะไรหรือบ้าง โดยการกำหนดได้ในตัวโปรแกรม

  • รูปที่ 2 เมนู Data RCVD


    จะเห็นว่าจากภาพตัวอย่างกำลังแสดงแพคเกตว่าเรารับข้อมูลจากไอพีอะไรซึ่งการรายงานผลจะเป็นค่าร้อยละของการใช้งานและปริมาณแพคเกตเป็นหน่วย MB หรือ KB TCP/UDP เป็นส่วนของการรายงานผลโปรโตคอล TCP และ UDP ที่เป็นผลรวมทั้งหมดของการใช้งานแต่ละเครื่อง Throughput จะเป็นการรายงาน throughput ที่ใช้งานจริง ค่าเฉลี่ยที่ใช้งาน ค่าสูงสุดที่เครื่องใช้งาน ( ตามรูปที่ 3 )

    รูปที่ 3 การรายงาน Throughput

    Host Activity เป็นการบอกว่าเครื่องนั้นเปิด หรือ ปิดในช่วงใดบ้างใน 1 วัน โดยจะดูจาก ปริมาณ traffic ถ้าไม่มีการใช้ traffic จะเป็นสีแดง
    Netflows เป็นการที่ไปเพิ่ม service เพิ่มว่าเราจะดูอะไรเพิ่มบ้าง
    ในแต่ละหน้ารายงานภาพรวม เราสามารถเข้าไปดูรายละเอียดการใช้งานแต่ละเครื่องเป็นการเฉพาะได้จากการคลิ๊กที่ชื่อไอพีของเครื่องที่ต้องการได้เลย ซึ่งจะอธิบายรายละเอียดต่างๆ ของเครื่องนั้นไว้ทั้งหมด
    DataSentจะเป็นการอธิบายเกี่ยวกับการส่งข้อมูล หัวข้อย่อยจะเหมือนกับ Data Rcvd

    Statsในส่วนนี้จะเป็นการรายงานผลภาพโดยรวมของการใช้ traffic มีส่วนย่อยๆ ดังนี้

    Multicastแสดงค่าแพคเกตประเภท Multicast ที่ปรากฏในเครือข่าย Traffic รายงานผลเป็นกราฟ ว่าจำนวนโฮสต์ที่ผ่านเท่าไร และโปรโตคอลอะไรใช้งานคิดเป็น ร้อยละเท่าไรของปริมาณทั้งหมด จากรูปที่ 4 จะเห็นการบอกปริมาณการใช้แต่ละโปรโตคอล

    รูปที่ 4 รายงาน IP Traffic


    Host เป็นการแสดงผลเป็นเครื่อง ๆ ไปเลยครับในส่วนนี้

    Network Load เป็นการรายงานผลเป็นกราฟการใช้ traffic แบ่งเป็นช่วง ๆ ถ้าเราอยากดู traffic ช่วงเวลาใดให้เลือกจากช่วงเวลาดังกล่าวก็จะแสดงผลออกมาได้ตามต้องการ แสดงดังรูปที่ 5

    Domain เป็นการบอกถึงว่าเราติดต่อกับโดเมนใดบ้าง ( หรือเข้าเว็บใดบ้างนั่นเอง )


    รูปที่ 5 กราฟรายงานตามช่วงเวลา

    IP Traffic เป็นการรายงานผล ทั้งรับและส่งในแต่ละเครื่องแล้วแต่ว่าต้องการดูจากทิศทางไหนเป็นหลัก โดยให้เลือกเช่น R->L หรือ L->R เป็นต้น ดังรูปที่ 6 จะเห็นว่าจะบอกว่า IP นั้น ส่ง เท่าไร รับเท่าไร จะบอกทั้งเป็นสัดส่วนร้อยละและจำนวนแพคเกตรวมที่แต่ละโฮสต์ใช้ไป

    รูปที่ 6 การแสดงค่า IP Traffic โดยกำหนดทิศทางไหลของแพคเกต

    IP Protocol จะเป็นการบอกถึงว่าแต่ละไอพีว่าใช้โปรโตคอลอะไรบ้าง ในช่วงเวลาใดที่ออกไป และจำนวนแพคเกตที่ใช้ ดังรูปที่ 7

    รูปที่ 7 การรายงานตามโปรโตคอล


    รูปที่ 8 รายละเอียดเป็นรายโฮสต์

    จากการใช้งานโปรแกรม ntop สามารถตอบสนองความต้องการวิเคราะห์ระบบเครือข่ายได้เป็นอย่างดี อย่างไรก็ตามมีปัญหาที่เกิดขึ้นระหว่างการใช้งานบ้าง ซึ่งมีการแก้ปัญหาได้ดังนี้
  • ถ้า Log เต็มให้ปิดบริการ MySQL แล้วเปิดบริการใหม่อีกครั้ง
  • ถ้าเข้าไปดูรายงานไม่ได้ให้ปิดบริการ ntop แล้วเปิดบริการใหม่อีกครั้ง

  • ปัญหาที่พบจากการใช้โปรแกรม ntop ถึงแม้ว่าโปรแกรม ntop จะมีคุณสมบัติยอดเยี่ยมเพียงใดก็ตาม ในการใช้งานย่อมมีปัญหาหรือข้อบกพร่องอยู่บ้างเป็นธรรมดา สำหรับปัญหาที่ผู้เขียนพบและควรจะทราบไว้ก่อนที่จะนำไปใช้งานสรุปได้ดังนี้
    1. ในขั้นตอนการติดตั้งนั้น ส่วนของการจัดเก็บข้อมูลบน MySQL เราจะต้องมีการสร้าง table และต้องสร้าง Symbolic link เองในบางจุด ซึ่งเป็นการยากสำหรับผู้ที่ยังไม่ชำนาญเรื่องเกี่ยวกับ MySQL และลีนุกซ์
    2. การหาคู่มือการใช้งานค่อนข้างจะยากมาก เป็นงานส่วนที่ admin เองจะต้องศึกษาจาก help file เองหลังจากที่มีการติดตั้ง
    3. การจับ traffic ของ ntop นั้นต้องทำงานในแบบ Promiscuous Mode หรือวางตัวเป็น เกตเวย์ของระบบเครือข่ายหรือไม่ก็ต้องทำงานบน HUB ในการจับ traffic
    4. เมื่อทุกครั้งที่มีการรีสตาร์ตเครื่องนั้นจะต้องมีการรันคำสั่งการเปิดบริการเอง เราสามารถเขียนคำสั่งเองได้แต่ตัวแอดมินเองก็จะต้องมีความรู้ในการเขียนคำสั่ง
    5. เครื่องที่รันบริการของ ntop จะต้องมีเนื้อที่ฮาร์ดดิสก์มากซักหน่อยเนื่องจากการเก็บข้อมูล ( log ) การใช้งานของผู้ใช้จะเก็บทุกครั้งที่มีการสื่อสารกันในเครือข่าย

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

    แหล่งข้อมูลอ้างอิง
    http://sourceforge.net/projects/ntop
    http://www.ntop.org/ntop.html