ดูว่า IP ไหน ใช้เซิร์ฟเวอร์เยอะ ด้วย IPTraf

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

วันนี้ขอแนะนำ IPTraf เป็นโปรแกรมรันบนคอนโซล เรียกใช้งานง่ายๆ แต่ผลลัพธ์ที่แสดงมีประโยชน์มาก น่าจะช่วยตอบโจทย์ว่ามีใครใช้งานเซิร์ฟเวอร์อยู่บ้าง ใช้เท่าไร

ในที่นี้จะทดสอบบน CentOS 6.3

ล็อกอินด้วย root แล้วรันคำสั่ง iptraf

[root@cent6 ~]# iptraf
-bash: iptraf: command not found

หากขึ้น error แบบนี้ แสดงว่าเครื่องนี้ยังไม่ได้ติดตั้งโปรแกรม iptraf ไว้ ต้องติดตั้งเพิ่ม

ไฟล์ rpm ของ iptraf อยู่ในแผ่นดีวีดีติดตั้ง CentOS 6 อยู่แล้ว

ใช้คำสั่ง mount แล้วติดตั้งด้วยคำสั่ง rpm

[root@cent6 ~]# mount /dev/dvd /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only

[root@cent6 Packages]# rpm -i iptraf-3.0.1-14.el6.x86_64.rpm

[root@cent6 Packages]# cd ~
[root@cent6 ~]#

หลังการติดตั้ง รันคำสั่ง iptraf อีกครั้ง

[root@cent6 ~]# iptraf

หน้าจอโปรแกรม iptraf แสดงผลผ่านหน้าจอคอนโซล

 

กดปุ่มใดก็ได้ ไปหน้าถัดไป

จะเป็นหน้าจอเลือกโหมดในการทำงาน หากต้องการดูว่า IP ไหน พอร์ตไหน เรียกใช้ เซิร์ฟเวอร์อยู่ ให้เลือก “IP traffic monitor”

 

หน้าจอเลือกพอร์ต (Interface) ที่จะดูแพ็กเกจเข้าออก เช่น eth0

 

ตัวอย่างผลลัพธ์ที่แสดงการดู IP, พอร์ต รวมทั้งจำนวน Packets, ขนาดข้อมูล Bytes รวมทั้ง Flags แสดงสถานะของแพ็กเกจที่เข้าออกพอร์ตด้วย

 

ในหน้าจอนี้สามารถกดปุ่ม S เพื่อเรียงลำดับตาม Packets หรือ Bytes ได้

หากต้องการออกจากโปรแกรม iptraf ก็ให้กดปุ่ม X เพื่อกลับสู่หน้าจอเลือกโหมดการทำงาน แล้วกด x อีกครั้งเพื่อออกจากโปรแกรม

ข้อมูลอ้างอิง

ใช้ awk ดึง 3 ฟิลด์สุดท้ายของแต่ละบรรทัดออกมา

awk วันละคำ(สั่ง) วันนี้เสนอวิธี …

การดึง 3 ฟิลด์สุดท้ายของแต่ละบรรทัดออกมา
Continue reading “ใช้ awk ดึง 3 ฟิลด์สุดท้ายของแต่ละบรรทัดออกมา”

แก้ไขปัญหา BIND DNS ขึ้น named error (network unreachable) resolving

หากต้องการแก้ไขปัญหาการใช้งาน BIND เพื่อรันเซอร์วิสเป็น DNS Server สามารถดูเหตุการณ์หรือข้อผิดพลาด (error) ที่เกิดขึ้นในไฟล์ /var/log/messages โดยจะใช้ชื่อโปรแกรมเป็น named

ปัญหาหนึ่งที่ค่อนข้างกวนใจสำหรับการใช้งาน คือมักจะขึ้นข้อความ error (network unreachable) resolving ตามด้วยชื่อหรือโดเมนที่ต้องการหา แล้วตามด้วยเลข IPv6

Continue reading “แก้ไขปัญหา BIND DNS ขึ้น named error (network unreachable) resolving”

คอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 2 เพิ่มโซนโดเมน

หลังจาก ติดตั้งและคอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 1 caching only เสร็จเรียบร้อย

ในตอนนี้จะมาดูวิธีการเพิ่มข้อมูลโดเมนใหม่เพื่อแปลงชื่อเป็น IP Address  เช่นไว้ใช้สำหรับภายในองค์กรเอง หรือถ้าเราจดทะเบียนชื่อโดเมนบนอินเตอร์เน็ตแล้ว ต้องการให้บริการแก่คนอื่น วิธีการที่จะแปลงชื่อเช่น www.example.com มาเป็น IP Address ของเครื่องเว็บเซิร์ฟเวอร์ของเรา แทนที่ต้องไปเสียค่าบริการเช่า DNS hosting เพิ่มเติม เรามาคอนฟิกตั้ง DNS Server แล้วชี้ name server มาที่ IP ของเซิร์ฟเวอร์ที่เรากันดีกว่า

Continue reading “คอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 2 เพิ่มโซนโดเมน”

ติดตั้งและคอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 1 caching only

ความเห็นส่วนตัว DNS Server จัดว่าเป็นโปรแกรมหรือเซอร์วิสที่อยู่เบื้องหลังความสำเร็จของอินเตอร์เน็ตอย่างหนึ่ง คือแทนที่ผู้ใช้จะต้องจำและระบุ IP Address ในการเรียกใช้บริการเซิร์ฟเวอร์เครื่องอื่นๆ ผู้ใช้ก็สามารถใช้ชื่อแทนได้ เช่นแค่ระบุชื่อ www.google.com ก็สามารถเข้าสู่เว็บไซต์ของ google ได้ แทนที่ต้องระบุ IP Address เครื่องเซิร์ฟเวอร์ของ google ซึ่งมีอยู่มากมาย และอาจมีการเปลี่ยนแปลงได้ตลอดเวลา

เรามาลองดูวิธีการติดตั้งและคอนฟิก DNS กัน ผู้เขียนขอเลือกใช้ BIND ซึ่งถือว่าเป็นโปรแกรม DNS Server ที่มีการใช้งานกันมากที่สุดบนโลกอินเตอร์เน็ตนี้ และรองรับคุณสมบัติมาตรฐานของ DNS Server โดยจะทดสอบการติดตั้งบน CentOS 6

ตอนแรกเราจะเริ่มติดตั้ง BIND และคอนฟิกเป็น caching only ความหมายคือ คอนฟิกให้ทำหน้าที่เป็น DNS เซิร์ฟเวอร์ที่ให้บริการเครื่องไคลเอ้นต์ในการถามชื่อแล้วตอบเป็น IP Address ให้ โดยเซิร์ฟเวอร์ที่ทำหน้าที่ caching only นี้ จะทำหน้าที่ไปค้นหาข้อมูล (recursion) โดยการถาม DNS เซิร์ฟเวอร์ตัวอื่นๆ ที่อยู่บนอินเตอร์เน็ต จนกว่าจะได้คำตอบว่า ชื่อที่ไคลเอ้นต์ถามมา มี IP Address เป็นอะไร

Continue reading “ติดตั้งและคอนฟิก BIND DNS เซิร์ฟเวอร์ – ตอนที่ 1 caching only”

ติดตั้ง VLC บนลีนุกซ์

ถ้าพูดถึงโปรแกรมเล่นไฟล์ Video ได้หลากหลาย format คงต้องนึกถึงโปรแกรม VLC ซึ่งสามารถติดตั้งได้เกือบทุก OS

วันนี้เรามาลองดูวิธีติดตั้ง VLC บนลีนุกซ์กัน โดยทดสอบบน CentOS 6

Continue reading “ติดตั้ง VLC บนลีนุกซ์”

ลืม root password บนลีนุกซ์ ต้องแก้ไขอย่างไร – ตอนที่ 2 แก้โดยใช้แผ่นดีวีดีติดตั้ง

หลังจากที่ได้นำเสนอวิธีแก้ไขตามบทความ ลืม root password บนลีนุกซ์ ต้องแก้ไขอย่างไร – ตอนที่ 1 แก้โดย single user mode ไปแล้วนั้น

ถ้ามีการใส่คอนฟิก password ใน GRUB แล้วเราเองก็ไม่ทราบหรือลืม password นี้ไปด้วย ต้องใช้อีกวิธีในการแก้ไข คือใช้แผ่นดีวีดีติดตั้ง

Continue reading “ลืม root password บนลีนุกซ์ ต้องแก้ไขอย่างไร – ตอนที่ 2 แก้โดยใช้แผ่นดีวีดีติดตั้ง”

ลืม root password บนลีนุกซ์ ต้องแก้ไขอย่างไร – ตอนที่ 1 แก้โดย single user mode

จะเนื่องด้วยสาเหตุใดก็แล้วแต่ หากลืมรหัสผ่านของ root หรือ root password บนลีนุกซ์ คุณก็ไม่สามารถแก้ไขคอนฟิกหรือทำอะไรได้เลยในระดับแอดมิน (root) ของเครื่อง ยกเว้นจะมีการใช้ sudo เพื่อเพิ่มสิทธิผู้ใช้ธรรมดา ให้เทียบเท่า root ได้

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

ในที่นี้ทดสอบกับ CentOS 6 ซึ่งสามารถนำวิธีการนี้ไปใช้ได้กับ CentOS 5 หรือ Fedora เวอร์ชั่นต่างๆ ได้ ส่วนลีนุกซ์ดิสทริบิวชั่นอื่นๆ วิธีการอาจแตกต่างกันไปเล็กน้อย แต่หลักการน่าจะใกล้เคียงกัน

Continue reading “ลืม root password บนลีนุกซ์ ต้องแก้ไขอย่างไร – ตอนที่ 1 แก้โดย single user mode”

copy ไฟล์ระหว่างเครื่องด้วย rsync

เคยไหมต้อง copy ไฟล์ จำนวนมาก จากเครื่องหนึ่งไปอีกเครื่องหนึ่ง เช่นต้องการย้ายข้อมูลไปอีกเซิร์ฟเวอร์นึง หรือต้องการสำรองข้อมูลไปไว้อีกเครื่อง

แต่ก่อนถือเป็นงานยากของผู้ดูแลระบบที่จะย้ายไฟล์ได้ ยิ่งถ้ามีหลายไดเร็คทอรีย่อย มีหลายไฟล์ หรือต้องการเก็บค่า permission หรือ owner, group ของไฟล์ไว้ด้วย อาจต้องใช้คำสั่ง tar ก่อน แล้วค่อย copy ไฟล์ไป

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

บทความนี้ขอแนะนำวิธีง่ายๆ คือใช้คำสั่ง rsync เพื่อใช้ copy ไฟล์ระหว่างเครื่อง

Continue reading “copy ไฟล์ระหว่างเครื่องด้วย rsync”