Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
HTB i samba http://forum.freesco.pl/viewtopic.php?f=22&t=16200 |
Strona 1 z 1 |
Autor: | Pele [ czwartek, 8 listopada 2007, 01:42 ] |
Tytuł: | HTB i samba |
Witam Co mam zmienić aby HTB nie przycinało mi transferu lokalnie z serwera to znaczy mam serwer samby i jak coś z niego kopiuje przez sieć to strasznie długo to idzie jak wyłączę kolejkowanie czas skraca się kilkukrotnie. oto mój plik Cytuj: . /etc/rc.conf
. /etc/rc.d/functions . /etc/rchtb/htb.conf if [ $SFQ = SFQ ];then SFQ_WAN="sfq perturb 10" # SFQ SFQ_LAN=$SFQ_WAN else SFQ_WAN="esfq perturb 10 hash dst" #ESFQ SFQ_LAN="esfq perturb 10 hash src" #ESFQ fi STARTMRK=2 # Startowy MARK h=tc #h=echo i=/usr/sbin/iptables #i=echo grupa=0 WANINT=imq0 # iterfejs wirtualny internetu nie zmieniac! LANINT=imq1 # interfejs wirtualny Lanu nie zmieniac! stop() { $i -F -t mangle $i -X -t mangle $h qdisc del root dev $WANINT 2> /dev/null $h qdisc del root dev $LANINT 2> /dev/null /sbin/ifconfig imq0 down &>/dev/null /sbin/ifconfig imq1 down &>/dev/null /sbin/rmmod imq &>/dev/null } start() { stop # dla bezpieczeństwa /sbin/modprobe imq numdevs=2 &>/dev/null /sbin/ifconfig imq0 up &>/dev/null /sbin/ifconfig imq1 up &>/dev/null for ETH in $LANINTERFACE; do $i -t mangle -A PREROUTING -i $ETH -d ! `ifconfig $ETH|awk 'gsub("addr:","") {print $2}'` -j IMQ --todev 0 $i -t mangle -A POSTROUTING -o $ETH -j IMQ --todev 1 done $i -t mangle -A OUTPUT -o $WANINTERFACE -j IMQ --todev 0 if [ $wieczor -le $noc ];then war="-a" else war="-o" fi godz=`date +%H%M` dzien=`date +%w` if [ $godz -ge $rano -a $godz -lt $wieczor ];then pora=1 # dzien" if [ $dzien = "0" -o $dzien = "6" ];then pora=2 # sobota/niedziela fi elif [ $godz -ge $wieczor $war $godz -lt $noc ];then pora=2 # wieczor" else pora=3 # noc" fi if [ $1 ];then if [ $1 = "panic" ];then pora=4 # Zjadla nas panika ![]() fi fi # obliczenia WANDOWN=$[$WANDOWN*98/100] WANUP=$[$WANUP*98/100] LANSPD=$[$LANSPD*95/100] LOCAL=$[$LANSPD-$WANDOWN] ACKSPD=$[$WANDOWN/20] CNT=0 for ii in `sed 's/^[ \t]*//' /etc/rchtb/htb.hosts |grep ^[0123456789G] |awk '{print $1}'`;do if [ $ii = GRUP ]; then grupa=1 else if [ $ii = GRUP_END ]; then grupa=0 else if [ $grupa = 0 ]; then CNT=$[$CNT+1] else if [ $grupa = 1 ]; then CNT=$[$CNT+1] grupa=2 fi fi fi fi done grupa=0 if [ $CNT = 0 ]; then CNT=1 fi USERDOWN=$[$WANDOWN/$CNT] USERUP=$[$WANUP-$ACKSPD-$ICMPSPD-$SERVSPD] USERUP=$[$USERUP/$CNT] if [ $USERDOWN \< 1 ];then USERDOWN=1 fi if [ $USERUP \< 1 ];then USERUP=1 fi # INTERFEJS LANINT (ruch przychodz±cy) $h qdisc add dev $LANINT root handle 1:0 htb default 3 r2q 8 # Główna klasa dla LANINT $h class add dev $LANINT parent 1:0 classid 1:1 htb rate ${LANSPD}kbit ceil ${LANSPD}kbit # Podział na pasmo dla ł±cza internetowego i resztę $h class add dev $LANINT parent 1:1 classid 1:2 htb rate ${WANDOWN}kbit ceil ${WANDOWN}kbit $h class add dev $LANINT parent 1:1 classid 1:3 htb rate ${LOCAL}kbit ceil ${LOCAL}kbit prio 5 $h qdisc add dev $LANINT parent 1:3 $SFQ_LAN # pasmo priorytetowe dla ICMP, TOS 0x10 (min. delay) oraz wybranego portu 22 $h class add dev $LANINT parent 1:2 classid 1:4 htb rate ${USERDOWN}kbit ceil ${WANDOWN}kbit prio 1 quantum 1500 $h qdisc add dev $LANINT parent 1:4 $SFQ_LAN $h filter add dev $LANINT protocol ip prio 2 parent 1:0 u32 match ip sport $PRIOPORT 0xffff flowid 1:4 # $h filter add dev $LANINT protocol ip prio 2 parent 1:0 u32 match ip tos 0x10 0xff flowid 1:4 $h filter add dev $LANINT protocol ip prio 2 parent 1:0 u32 match ip protocol 1 0xff flowid 1:4 # transfer serwer->LAN $h filter add dev $LANINT protocol ip prio 1 parent 1:0 handle 1 fw flowid 1:3 # squid transparent proxy # W konfiguracji squida dopisz # #Ustawienia Tos # zph_tos_local 8 # zph_tos_peer 0 # zph_tos_parent off if [ $SQUID_PORT ]; then # Jesli squid nie jest transparentntny lub krztaltowanie nie jest na interfejsie imq #$h filter add dev $LANINT protocol ip prio 2 parent 1:0 u32 match ip sport 80 0xffff match ip tos 0x08 0xff flowid 1:3 # Dla squida transparentnego i na interfejsie imq $h filter add dev $LANINT protocol ip prio 2 parent 1:0 u32 match ip sport $SQUID_PORT 0xffff match ip tos 0x08 0xff flowid 1:3 $i -t mangle -A OUTPUT -p tcp --sport ! $SQUID_PORT -j MARK --set-mark 1 $i -t mangle -A OUTPUT -p udp -j MARK --set-mark 1 else $i -t mangle -A OUTPUT -j MARK --set-mark 1 fi # INTERFEJS (ruch wychodz±cy) $h qdisc add dev $WANINT root handle 2:0 htb default 11 r2q 3 # główna klasa $h class add dev $WANINT parent 2:0 classid 2:1 htb rate ${WANUP}kbit ceil ${WANUP}kbit # klasa priorytetowa ACK $h class add dev $WANINT parent 2:1 classid 2:2 htb rate ${ACKSPD}kbit ceil ${WANUP}kbit prio 1 quantum 1500 $h qdisc add dev $WANINT parent 2:2 $SFQ_WAN $h filter add dev $WANINT parent 2:0 protocol ip prio 1 u32 match ip protocol 6 0xff \ match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 1 match u8 0x10 0xff at 33 flowid 2:2 # ACK # klasa priorytetowa TOS 0x10 oraz ICMP i DNS $h class add dev $WANINT parent 2:1 classid 2:4 htb rate ${ICMPSPD}kbit ceil ${WANUP}kbit prio 2 quantum 1500 $h qdisc add dev $WANINT parent 2:4 $SFQ_WAN # Priorytet dla TOS # $h filter add dev $WANINT parent 2:0 protocol ip prio 1 u32 match ip tos 0x10 0xff flowid 2:4 # TOS $h filter add dev $WANINT parent 2:0 protocol ip prio 2 u32 match ip dport $PRIOPORT 0xffff flowid 2:4 # port 22 $h filter add dev $WANINT parent 2:0 protocol ip prio 2 u32 match ip sport $PRIOPORT 0xffff flowid 2:4 # port 22 $h filter add dev $WANINT parent 2:0 protocol ip prio 2 u32 match ip dport 53 0xffff flowid 2:4 # port 53 # Priorytet dla www # $h filter add dev $WANINT parent 2:0 protocol ip prio 2 u32 match ip dport 80 0xffff flowid 2:4 # $h filter add dev $WANINT parent 2:0 protocol ip prio 2 u32 match ip dport 443 0xffff flowid 2:4 $h filter add dev $WANINT parent 2:0 protocol ip prio 2 u32 match ip protocol 1 0xff flowid 2:4 # ICMP # ruch dla gosci $h class add dev $WANINT parent 2:1 classid 2:3 htb rate ${SERVSPD}kbit ceil ${WANUP}kbit prio 5 quantum 1500 $h qdisc add dev $WANINT parent 2:3 $SFQ_WAN $h filter add dev $WANINT parent 2:0 protocol ip prio 6 handle 1 fw flowid 2:3 # $i -t mangle -A OUTPUT -o $WANINT -j MARK --set-mark 1 # Userzy CNT=1 MARK=$[$STARTMRK+2] sed 's/^[ \t]*//' /etc/rchtb/htb.hosts|grep ^[0123456789G] | while read IP USERDOWN[1] USERUP[1] USERDOWN[2] USERUP[2] USERDOWN[3] USERUP[3] USERDOWN[4] USERUP[4] REM; do # echo $IP ${USERDOWN[1]} ${USERUP[1]} ${USERDOWN[2]} ${USERUP[2]} ${USERDOWN[3]} ${USERUP[3]} $REM if [ $IP = GRUP ]; then grupa=1 else if [ $IP = GRUP_END ]; then grupa=0 MARK=$[$MARK+1] CNT=$[$CNT+1] else if [ $grupa != 2 ]; then USERDOWN0=$USERDOWN USERUP0=$USERUP if [ $USERDOWN -gt ${USERDOWN[$pora]} ]; then USERDOWN0=${USERDOWN[$pora]} fi if [ $USERUP -gt ${USERUP[$pora]} ]; then USERUP0=${USERUP[$pora]} fi if [ $WANDOWN -lt ${USERDOWN[$pora]} ]; then USERDOWN[$pora]=$WANDOWN fi if [ $WANUP -lt ${USERUP[$pora]} ]; then USERUP[$pora]=$WANUP fi $h class add dev $LANINT parent 1:2 classid 1:$[10+$CNT] htb rate ${USERDOWN0}kbit ceil ${USERDOWN[$pora]}kbit prio 3 quantum 1500 $h qdisc add dev $LANINT parent 1:$[10+$CNT] $SFQ_LAN $h filter add dev $LANINT protocol ip prio 5 parent 1:0 u32 match ip dst $IP flowid 1:$[10+$CNT] $i -t mangle -A PREROUTING -s $IP -j MARK --set-mark $MARK $h class add dev $WANINT parent 2:1 classid 2:$[10+$CNT] htb rate ${USERUP0}kbit ceil ${USERUP[$pora]}kbit prio 4 quantum 1500 $h qdisc add dev $WANINT parent 2:$[10+$CNT] $SFQ_WAN $h filter add dev $WANINT parent 2:0 protocol ip prio 5 handle $MARK fw flowid 2:$[10+$CNT] # MARK=$[$MARK+1] # CNT=$[$CNT+1] if [ $grupa = 1 ]; then grupa=2 else MARK=$[$MARK+1] CNT=$[$CNT+1] fi else $h filter add dev $LANINT protocol ip prio 5 parent 1:0 u32 match ip dst $IP flowid 1:$[10+$CNT] $i -t mangle -A PREROUTING -s $IP -j MARK --set-mark $MARK fi fi fi done # Pasmo dla p2p $h class add dev $LANINT parent 1:2 classid 1:5 htb rate ${USERDOWN}kbit ceil ${P2PDOWN}kbit prio 4 quantum 1500 $h qdisc add dev $LANINT parent 1:5 $SFQ_LAN $h class add dev $WANINT parent 2:1 classid 2:5 htb rate ${USERUP}kbit ceil ${P2PUP}kbit prio 6 quantum 1500 $h qdisc add dev $WANINT parent 2:5 $SFQ_WAN if [ $pora != 3 -a $P2P_ON = 1 ];then # w tymm miejscu mozna znakowac w dowolny sposob pakiety p2p na mark 2 $i -t mangle -A PREROUTING -i $LANINT -p tcp --dport 1024:6110 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $WANINT -p tcp --sport 1024:6110 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $LANINT -p tcp --dport 6113:6664 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $WANINT -p tcp --sport 6113:6664 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $LANINT -p tcp --dport 6670:8073 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $WANINT -p tcp --sport 6670:8073 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $LANINT -p tcp --dport 8075:8499 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $WANINT -p tcp --sport 8075:8499 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $LANINT -p tcp --dport 8501:65535 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $WANINT -p tcp --sport 8501:65535 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $LANINT -p udp --dport 1024:65535 -j MARK --set-mark 2 $i -t mangle -A PREROUTING -i $WANINT -p udp --sport 1024:65535 -j MARK --set-mark 2 $h filter add dev $LANINT parent 1:0 protocol ip prio 4 handle 2 fw flowid 1:5 $h filter add dev $WANINT parent 2:0 protocol ip prio 4 handle 2 fw flowid 2:5 fi # -----------------------------8><------------------------------ # Pasmo dla gier, zaplotkuj lub wykasuj jesli nie uzywasz #$h class add dev $LANINT parent 1:2 classid 1:6 htb rate 40kbit ceil 200kbit prio 2 quantum 1500 #$h qdisc add dev $LANINT parent 1:6 $SFQ_WAN #$h class add dev $WANINT parent 2:1 classid 2:6 htb rate 40kbit ceil 200kbit prio 3 quantum 1500 #$h qdisc add dev $WANINT parent 2:6 $SFQ_WAN #$i -t mangle -A PREROUTING -p tcp -m multiport --port 80,443 -j MARK --set-mark 3 #$h filter add dev $LANINT parent 1:0 protocol ip prio 3 handle 3 fw flowid 1:6 #$h filter add dev $WANINT parent 2:0 protocol ip prio 3 handle 3 fw flowid 2:6 # -----------------------------><8------------------------------- # reszta $h filter add dev $WANINT parent 2:0 protocol ip prio 9 u32 match ip dst 0/0 flowid 2:3 } case "$1" in 'start') stat_busy "Uruchamiam kolejkowanie rchtb" ck_daemon rchtb && start $2 if [ $? == 0 ]; then add_daemon rchtb stat_done else stat_fail fi ;; 'stop') stat_busy "Zatrzymuję kolejkowanie rchtb" ck_daemon rchtb if [ $? == 1 ]; then stop rm_daemon rchtb stat_done else stat_fail fi ;; 'restart') $0 stop sleep 3 $0 start $2 ;; 'status') echo "Klasy na interfejsie $LANINT" echo "================================" tc class show dev $LANINT | grep root tc class show dev $LANINT | grep -v root | sort | nl echo "Klasy na interfejsie $WANINT" echo "===================================" tc class show dev $WANINT | grep root tc class show dev $WANINT | grep -v root | sort | nl ;; *) echo $"Użycie: $0 {start [panic]|stop|restart [panic]|status}" ;; esac |
Autor: | MAC!EK [ piątek, 9 listopada 2007, 02:39 ] |
Tytuł: | |
to jest najnowszy pakiet z testing? spróbuj odhaszować dwie linie: #h=echo #i=echo i wkleić tu co się pokaże przy restarcie rchtb |
Autor: | Pele [ piątek, 9 listopada 2007, 13:34 ] |
Tytuł: | |
Witam Tak jest to HTB z testing na poprzedniej wersji miałem to samo aby nie robić śmietniska pod tym linkiem jest to co wywaliło przy restarcie htb po odhaszowaniu #h=echo #i=echo http://szklarska.nazwa.pl/htb.txt[/url] |
Autor: | MAC!EK [ piątek, 9 listopada 2007, 13:58 ] |
Tytuł: | |
czy na eth1 masz lan? i czy IP routera to 192.168.0.10 ? |
Autor: | Pele [ piątek, 9 listopada 2007, 14:09 ] |
Tytuł: | |
dokładnie eth1 lan eth0 internet serwer 192.168.0.10 |
Autor: | zciech [ piątek, 9 listopada 2007, 17:16 ] |
Tytuł: | |
dlatego: class add dev imq1 parent 1:1 classid 1:3 htb rate 2150kbit ceil 2150kbit prio 5 podales zbyt mala predkasc lacza lokalnego. |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |