setelah melihat script saya yang sebelumnya maka saya akan tunjukkan contoh
script untuk membatasi bandwidth dengan ip tertentu
bwmgmnt.sh (dengan tbf rubah sendiri jika menggunakan sfq /prio )
#!/bin/bash
clear
jumlah=`wc -l $1 |awk '{print$1}'`
echo tc qdisc add dev eth1 root handle 1:0 htb
echo tc class add dev eth1 parent 1:0 classid 1:1 htb rate 1000kbit ceil
1000kbit
echo tc qdisc add dev eth1 handle ffff: ingress
for ((i=1; i<=$jumlah;i++)); do
ipdstsrc=`head -n$i $1 |tail -n1 |awk '{print$1}'`
sportdport=`head -n$i $1 |tail -n1 |awk '{print$2}'`
setmarkdl=`head -n$i $1 |tail -n1 |awk '{print$3}'`
parentdl=`head -n$i $1 |tail -n1 |awk '{print$4}'`
classidflowiddl=`head -n$i $1 |tail -n1 |awk '{print$5}'`
rateuldl=`head -n$i $1 |tail -n1 |awk '{print$6}'`
ceildl=`head -n$i $1 |tail -n1 |awk '{print$7}'`
setmarkulhandle2=`head -n$i $1 |tail -n1 |awk '{print$8}'`
prioul=`head -n$i $1 |tail -n1 |awk '{print$9}'`
burstul=`head -n$i $1 |tail -n1 |awk '{print$10}'`
flowidul=`head -n$i $1 |tail -n1 |awk '{print$11}'`
echo iptables -t mangle -A POSTROUTING -o eth1 -p tcp -d $ipdstsrc --sport
$sportdport -j MARK --set-mark $setmarkdl
echo tc class add dev eth1 parent $parentdl classid $classidflowiddl htb
rate $rateuldl ceil $ceildl
echo tc qdisc add dev eth1 parent $classidflowiddl handle $setmarkdl: tbf
rate $rateuldl burst $burstul latency 70ms
echo tc filter add dev eth1 parent 1:0 protocol ip handle $setmarkdl fw
flowid $classidflowiddl
echo iptables -t mangle -A PREROUTING -i eth1 -p tcp -s $ipdstsrc --dport
$sportdport -j MARK --set-mark $setmarkulhandle2
echo tc filter add dev eth1 parent ffff: protocol ip prio $prioul handle
$setmarkulhandle2 fw police rate $rateuldl burst $burstul drop flowid
$flowidul
done
ip.txt
192.168.1.1 3128 1002 1:2 1:2001 1000kbit 1000kbit 4001 1 50k 4:4001
192.168.1.2 3128 1003 1:2 1:2002 1000kbit 1000kbit 4002 1 50k 4:4002
192.168.1.3 3128 1004 1:2 1:2003 1000kbit 1000kbit 4003 1 50k 4:4003
192.168.1.4 3128 1005 1:2 1:2004 1000kbit 1000kbit 4004 1 50k 4:4004
cara nya : ./bwmgmnt.sh ip.txt >> rulesbw.sh
chmod 755 rulesbw.sh
./rulesbw.sh
----- Original Message -----
From: "victor" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, June 12, 2006 12:38 PM
Subject: Re: [tanya-jawab] Bandwidth Management LAN dan Internet
mungkin untuk memperjelas contoh scriptnya seperti ini
iptbls.sh
#!/bin/bash
clear
jumlah=`wc -l $1 |awk '{print$1}'`
for ((i=1; i<=$jumlah;i++)); do
ipsrc=`head -n$i $1 |tail -n1 |awk '{print$1}'`
mac=`head -n$i $1 |tail -n1 |awk '{print$2}'`
dport=`head -n$i $1 |tail -n1 |awk '{print$3}'`
echo iptables -A INPUT -s $ipsrc -p tcp -m mac --mac-source $mac --dport
$dport -j ACCEPT
done
ip.txt
192.168.1.1 00:11:22:33:44:55 3128
192.168.1.2 00:22:33:44:55:66 3128
dst formatnya : ip spasi/tab macaddress spasi/tab port
penggunaan :
./iptbls.sh ip.txt >>rules.sh
chmod 755 rules.sh
./rules.sh
untuk untuk flushnya silahkan buat sendiri :)
----- Original Message -----
From: "Rio Martin." <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, June 12, 2006 6:25 PM
Subject: Re: [tanya-jawab] Bandwidth Management LAN dan Internet
Memang, kalau iptablesnya liat dari iptables -L (listing dari rule yang
diapply di server) bisa bikin mabok plus bikin mata kita berkunang -
kunang .. :p
Tapi kalau bikin script sendiri, terus kita kan bisa cek dari scriptnya
kalau
mau tambah atau kurangi ip yang konek.
Prosedur saya bikin script iptables sendiri:
1. Flush rule di table FILTER (Input, Forward, Output)
2. Flush rule di table NAT ( PREROUTING, POSTROUTING)
3. Flush rule di table MANGLE ( PREROUTING, POSTROUTING)
4. Set POLICY FORWARD to DROP
5. Bikin rule untuk network yang dikasih ACCEPT Policy
6. Done
Kalau oprek - oprek dari yang GUI, kayaknya step mereka gak jauh beda
dengan
step step yang saya berikan di atas koq.
- Rio.Martin -
--
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke [EMAIL PROTECTED]
Arsip dan info milis selengkapnya di http://linux.or.id/milis
--
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke [EMAIL PROTECTED]
Arsip dan info milis selengkapnya di http://linux.or.id/milis
--
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke [EMAIL PROTECTED]
Arsip dan info milis selengkapnya di http://linux.or.id/milis