Archive for the ‘IP Network’ Category

0154 | script limit bandwidth UDP

Saturday, March 23rd, 2013 Posted in IP Network, Linux | 3 Comments »

เอา script ชาวบ้านมาดัดแปลงนิดหน่อยฮะ ต้นฉบับ shape ตาม IP แต่เอามาแก้ให้บีบเฉพาะ UDP
http://www.iplocation.net/tools/traffic-control.php

ซึ่งโดยการใช้งานปกติมันไม่จำเป็นต้องใช้ UDP เยอะอะไรขนาดนี้อยู่แล้ว ก็พอเอามาช่วยกันการยิง udp ออกได้อยู่หน่อยนึง

#!/bin/bash
#
# udplimiter This script limit the bandwidth for udp traffic
#
# chkconfig: - 13 87
 
### BEGIN INIT INFO
# Provides: $udplimiter
# Required-Start: $network
# Required-Stop: $network
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: start|stop|status|restart Bandwidth Limiter
# Description: This script limit the bandwidth for udp traffic
### END INIT INFO
 
 
#  tc uses the following units when passed as a parameter.
#  kbps: Kilobytes per second
#  mbps: Megabytes per second
#  kbit: Kilobits per second
#  mbit: Megabits per second
#  bps: Bytes per second
#       Amounts of data can be specified in:
#       kb or k: Kilobytes
#       mb or m: Megabytes
#       mbit: Megabits
#       kbit: Kilobits
#  To get the byte figure from bits, divide the number by 8 bit
#
 
#
# Name of the traffic control command.
TC=/sbin/tc
 
# The network interface we're planning on limiting bandwidth.
IF=eth0             # Interface
 
# Bandwidth limit (in mega bits)
BWLIMIT=5mbit          # DOWNLOAD Limit
 
# Filter options for limiting the intended interface.
U32="$TC filter add dev $IF protocol ip parent 1:0 prio 1 u32"
 
start() {
 
# We'll use Hierarchical Token Bucket (HTB) to shape bandwidth.
# For detailed configuration options, please consult Linux man
# page.
 
    $TC qdisc add dev $IF root handle 1: htb default 30
    $TC class add dev $IF parent 1: classid 1:1 htb rate $BWLIMIT
    $U32 match ip protocol 17 0xff flowid 1:1
 
# The first line creates the root qdisc, and the next two lines
# create two child qdisc that are to be used to shape download
# and upload bandwidth.
#
# The 4th and 5th line creates the filter to match the interface.
# The 'dst' IP address is used to limit download speed, and the
# 'src' IP address is used to limit upload speed.
 
}
 
stop() {
 
# Stop the bandwidth shaping.
    $TC qdisc del dev $IF root
 
}
 
restart() {
 
# Self-explanatory.
    stop
    sleep 1
    start
 
}
 
show() {
 
# Display status of traffic control status.
    $TC -s qdisc ls dev $IF
 
}
 
case "$1" in
 
  start)
 
    echo -n "Starting bandwidth shaping: "
    start
    echo "done"
    ;;
 
  stop)
 
    echo -n "Stopping bandwidth shaping: "
    stop
    echo "done"
    ;;
 
  restart)
 
    echo -n "Restarting bandwidth shaping: "
    restart
    echo "done"
    ;;
 
  show)
 
    echo "Bandwidth shaping status for $IF:"
    show
    echo ""
    ;;
 
  *)
 
    pwd=$(pwd)
    echo "Usage: $0 {start|stop|restart|show}"
    ;;
 
esac
 
exit 0

เอาไปเซฟใส่ /etc/init.d/udplimiter แล้วสั่ง /etc/init.d/udplimiter start ได้เลย ถ้าจะให้ทำงานตอนเปิดเครื่องอัตโนมัติด้วยก็ chkconfig udplimiter on

อ้อ อย่าลืมแก้ชื่อ interface ด้วยนะครับ ตรง IF=eth0

Tags: , ,

0145 | ตั้งค่า zabbix เบื้องต้นคร่าวๆ

Monday, January 28th, 2013 Posted in IP Network, Linux, Web Server | 1 Comment »

ต่อเนื่อง(กันแบบห่างไกลสุดกู่)จาก entry ที่แล้ว (ติดตั้ง zabbix server บน centos) คราวนี้จะมาเริ่ม config กันจริงๆ จังๆ ละนะครับ อุอิ (ส่วนที่ค้างดองนานๆ ก็ช่างแม่งไปก่อนละกัน)

หลังจากที่เข้า http://IP/zabbix/ ครั้งแรก มันจะ check การตั้งค่า php หลักๆ ก็ post_max_size , max_execution_time , max_input_time ที่ต้องแก้ แล้วก็กรอกข้อมูล database กับ zabbix server ซึ่งก็ไม่ลำบากเท่าไหร่ เหมือนกับติดตั้ง CMS ทั่วๆ ไป ข้ามไปเลยนะครับ (จริงๆ คือลงเสร็จแล้ว แล้วเพิ่งนึกได้ว่าลืม capture หน้าจอ แถหน้าด้านๆ เลยละกัน)

User แรกสุดในระบบคือ admin รหัสผ่านคือ zabbix ครับ login เข้าไปได้เลย แล้วก็มาเริ่ม config กันดีกว่า

Read the rest of this entry »

Tags: , , ,