Покажи Публикации - GuessWho
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: [1]
1  Linux секция за начинаещи / Настройка на хардуер / Търся драйвър за видео карта XGI Volari V3XT/V5/V8 за SlackWare 14.0 -: Nov 28, 2014, 12:01
Видеото е AGP. Доста е старичко но е на служебния комп и няма вариант за смяна за сега. Максималната резолюция е 1024х768 но за програмата с която работя ми е нужна 1280х1024.
2  Linux секция за начинаещи / Настройка на програми / Re: Скрипт за ограничаване на трафика -: Apr 14, 2009, 18:32
Успех тогава за събота :)
3  Linux секция за начинаещи / Настройка на програми / Re: Скрипт за ограничаване на трафика -: Apr 14, 2009, 18:02
Кажи после какво е станало :)
4  Linux секция за начинаещи / Настройка на програми / Re: Скрипт за ограничаване на трафика -: Apr 14, 2009, 17:16
Не виждам причина за да НЕ работи ! Сложи вместо ppp0 интерфейса към доставчика и тествай.
5  Linux секция за начинаещи / Настройка на програми / Re: Скрипт за ограничаване на трафика -: Apr 14, 2009, 11:06
Току що пробвах с "qdisc" ..... за сега изглежда да работи нормално, и ъплоуда и даунлоуда си се ограничават  :) Благодаря на всички които ми помогнаха.
И разбира се ето и кода:
Код:
#!/bin/bash
#
###################################################################################################################################
tc="/sbin/tc" # Pytqt do TC
ipt="/usr/sbin/iptables" # Pytqt do iptables

net="192.168.0" # Klientskata mreja .... "192.168.0" .... "172.16.242" ... primerno
mark_ip_s="10" # Nachalno IP (samo poslednata cifra)
mark_ip_e="200" # Poslednoto IP (samo poslednata cifra)
down_speed="2560" # Download rate
up_speed="2048"     # Upload rate
metric="kbit" # kbit/mbit .....
lan="eth0"         # Vytreshen Interfase
wan="ppp0" # Vynshen interfase
###################################################################################################################################
#

function shape_start () {

echo "Start shapes ..."

## Delete Rules First
$ipt -t mangle -F
$tc qdisc del dev $lan root 2> /dev/null > /dev/null
$tc qdisc del dev $wan root 2> /dev/null > /dev/null
## End

sleep 2

## Syzdavame ROOT klasovete za interfeisite ...
$tc qdisc add dev $lan root handle 1: htb
$tc qdisc add dev $wan root handle 1: htb
## End

m="3"
burst="100k"

## Add Download/Upload Rules

while test $mark_ip_s -le $mark_ip_e
do
    #Clients Download Limit
$tc class add dev $lan parent 1: classid 1:$m htb rate $down_speed$metric
    $tc qdisc add dev $lan parent 1:$m handle $m sfq perturb 10
    $tc filter add dev $lan parent 1: protocol ip prio 1 u32 match ip dst $net.$mark_ip_s classid 1:$m
   
    #Clients Upload Limit
$ipt -t mangle -A FORWARD -s $net.$mark_ip_s -j MARK --set-mark 0x$m
$tc class add dev $wan parent 1: classid 1:$m htb rate $up_speed$metric burst $burst
$tc qdisc add dev $wan parent 1:$m handle $m sfq perturb 10
$tc filter add dev $wan parent 1: protocol ip prio 1 handle 0x$m fw classid 1:$m
   
    m=$[m+1]
    mark_ip_s=$[mark_ip_s+1]
   
done
## End

###################################################################################################################################

echo "OK"
}


function shape_stop ()
{

echo "Spirane na ogranicheniqta ..."
$ipt -t mangle -F
$tc qdisc del dev $lan root 2> /dev/null > /dev/null
$tc qdisc del dev $wan root 2> /dev/null > /dev/null
echo "OK"

}

###################################################################################################################################

case $1 in
   
    start)
     shape_start
   
    ;;

    stop)
     shape_stop
   
    ;;
   
    restart)
     shape_stop
     sleep 2
     shape_start
   
    ;;
   
    *)
    echo "Useg: rc.shape (start|stop|restart)"
    exit 1
    ;;
esac

Знам че не е кой знае какво но поне върши работа :)
6  Linux секция за начинаещи / Настройка на програми / Re: Скрипт за ограничаване на трафика -: Apr 13, 2009, 21:01
За тест ползвам ввв.спеедтест.нет... мисля че резултатите са задоволително точни ....

п.п: за тест ползвм дестинация която е ... доставчика на моя доставчик, а без шеип си изпълвам максималния даунлоуд/уплоуд на канала .... за това мисля че резултатите от теста са точни.
7  Linux секция за начинаещи / Настройка на програми / Re: Скрипт за ограничаване на трафика -: Apr 13, 2009, 19:39
Е вече наистина започвам да се отчайвам .....
Порових се в нета и разгледах как става схемата с маркирането на пакетите .... по това което видях направих промени в скрипта но се получи "малка" аномалия.Както преди download-а се ограничава нормално но пак има някакъв странен проблем с upload-а.Ще се опитам да обесня .... задавам стойност на "up_speed" да речем 2048kbit (2Mbit), което трябва да е 256Kb/s, но максималния upload не превишава "0,2Mbit"-та. Същата стойност (0,2Mbit) се запазва до към 9500-10000Kbit-та. Следващия тест беше със стойност 10240Kbit-та, като този път upload-a ми се ограничи на ~6Mbit-та.
Кажете ми какво пропускам ???
Ето и частта от сорса където слагам марките, правя класовете и закачам филтрите към марките + роот класовете (принципът на останалата част от кода е същия като в първия пост):

Код:
## Syzdavame ROOT klasovete za interfeisite ...
#$lan - eth0
#$wan - ppp0

$tc qdisc add dev $lan root handle 1: htb
$tc qdisc add dev $wan root handle 1: htb
## End

m="3"
burst="100k"

## Add Download/Upload Rules

while test $mark_ip_s -le $mark_ip_e
do
    #Clients Download Limit
$ipt -t mangle -A FORWARD -d $net.$mark_ip_s -j MARK --set-mark 0x$m
$tc class add dev $lan parent 1: classid 1:$m htb rate $down_speed$metric burst $burst
$tc filter add dev $lan parent 1: protocol ip prio 1 handle 0x$m fw classid 1:$m
   
    m=$[m+1]
   
        #Clients Upload Limit
$ipt -t mangle -A FORWARD -s $net.$mark_ip_s -j MARK --set-mark 0x$m
$tc class add dev $wan parent 1: classid 1:$m htb rate $up_speed$metric burst $burst
$tc filter add dev $wan parent 1: protocol ip prio 2 handle 0x$m fw flowid 1:$m
   
    m=$[m+1]
    mark_ip_s=$[mark_ip_s+1]
   
done
## End
8  Linux секция за начинаещи / Настройка на програми / Re: Скрипт за ограничаване на трафика -: Apr 10, 2009, 12:07
bnight,  искам да ти благодаря че въобще се вкючи в темата :)
Та така де ... за да огранича download-a на клиентите ограничавам уплоад-а на eth0 към тях.....
Следователно ако направим същото нещо само че на WAN интерфейса ppp0 (което и съм направил) трябва да се ограничи и уплоад-а на клиентите нали така ?

Или може би, ще проявиш добра воля и ще ми покажеш нагледно каде бъркам ?  :)
9  Linux секция за начинаещи / Настройка на програми / Скрипт за ограничаване на трафика -: Apr 09, 2009, 16:30
След няколко теми без отговор по форумите,  реших да се опитам да си направя сам скрип за ограничаване на входящата/изходящата скорост на клиентите, като идеята е едни и същи правила да въжат за всички клиенти. Порових се малко в гугъл-а попрочетох няколко статиики и всичко взе да ми изглежда много лесно ....  ;D  до момента в които забелязах, че нямам ограничение на upload-а.
Ето и кода:

Код:
#!/bin/bash
#
#
#
#
##################################
tc="/sbin/tc"
network="192.168.0."
start_ip="10"
end_ip="50"
download="2048"
upload="2048"
metric="Kbit"
clsid="2"
lan="eth0"
wan="ppp0"
##################################

function shape_start ()
{


$tc qdisc del dev eth0 root    &> /dev/null
$tc qdisc del dev $wan root    &> /dev/null
$tc qdisc del dev eth0 ingress &> /dev/null
$tc qdisc del dev $wan ingress &> /dev/null

##
sleep 2

$tc qdisc add dev eth0  root handle 1:0 htb
$tc qdisc add dev $wan  root handle 1:0 htb

$tc class add dev eth0  parent 1:0 classid 1:1 htb rate 102400Kbit
$tc class add dev $wan  parent 1:0 classid 1:1 htb rate 102400Kbit

echo "Start shapes ..."
###################################################################################################################################
#Users Rules .....
while test $start_ip -le $end_ip
do

#Clients Download Limit
$tc class add dev $lan parent 1:1 classid 1:$clsid htb rate $download$metric
$tc qdisc add dev $lan parent 1:$clsid handle "$clsid": sfq perturb 10
$tc filter add dev $lan parent 1:0 protocol ip prio 1 u32 match ip dst $network$start_ip classid 1:$clsid

#Clients Upload Limit
$tc class add dev $wan parent 1:1 classid 1:$clsid htb rate $upload$metric
$tc qdisc add dev $wan parent 1:$clsid handle "$clsid": sfq perturb 10
$tc filter add dev $wan parent 1:0 protocol ip prio 1 u32 match ip src $network$start_ip classid 1:$clsid

clsid=$[clsid+1]
start_ip=$[start_ip+1]
done

###################################################################################################################################

echo "OK"
}


function shape_stop ()
{
    echo "Stop all shapes ..."
    $tc qdisc del dev eth0 root    &> /dev/null
    $tc qdisc del dev $wan root    &> /dev/null
   
    $tc qdisc del dev eth0 ingress &> /dev/null
    $tc qdisc del dev $wan ingress &> /dev/null
   
    echo "OK"
}

###################################################################################################################################

case $1 in
   
    start)
     shape_start
   
    ;;

    stop)
     shape_stop
   
    ;;
   
    restart)
     shape_stop
     sleep 3
     shape_start
   
    ;;
   
    *)
    echo "Useg: rc.shape (start|stop|restart)"
    exit 1
    ;;
esac

Някой има ли на идея защо нямам ограничение за изходящия трафик на потребителите ?
Със Slackware 12 съм, за да споделям нет-а правя следното:
Код:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
10  Linux секция за начинаещи / Настройка на програми / CBQ - Проблем с имената на конфигурационните файлове -: Apr 07, 2009, 18:18
Знам, че има много теми изписани по форумите, ама не мога да се справя :(
Проблема е следния .... имам 3 мрежови карти (eth0, eth1, eth2) и не мога да разбера какъв е правилния начин да се именуват конфигурационните фаилове за отделните класове/подкласове.
eth2 е към доставчика, eth1 е към офиса а eth0 е към няколко съседа :) Идеята е на eth1 и eth2 да има по 2 шейпа за download и upload, а на eth0 за всяко свързано IP да има отделен шеип за download и upload.
Моля някой ако е по-навътре в нещата да драсне 2-3 реда и да хвърли светлина по тоя въпрос.

п.п. Със Slackware 12.0 и CBQ съм.

Благодаря Ви.
11  Linux секция за начинаещи / Настройка на програми / Re: Проблем с Shell скрипт за НТВ -: Mar 14, 2009, 13:17
И на мен ми е ясно че нещо не е наред само дето немоа да разбера какво :)
12  Linux секция за начинаещи / Настройка на програми / Проблем с Shell скрипт за НТВ -: Mar 13, 2009, 17:59
Такаа .... след дълга и мъчителна битка с Load Balancing-а (м/у другото ако някой го интерисува скрипта за лоад балансинг нека ми пише ЛС) стигнах до момента в който трябва да си изградя шейповете за интерфейсите и за клиентите. Спрях се на НТВ ....
Тъй като правилата ми дойдоха в повечко (а и м/у другото немога да се оправя с класовете нс ТС-то) се опитах да проявя малко творчество, като взех кеша от НТВ-то и по него да си направя направя едно Shell-че с което да се прескочи момента в които трябва да се създадат "928437693847698346" фаила за отделните интерфейси и отделните клиенти. Като замисъл нали ми се стори мн добре докато не стигнах момента в който да напиша "./rc.shape start" :) Започна да ми връща съобщение:

RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
...............

и така без да спира и разбира се никакъв ефект освен че изгубих връзка със сървъра :)

Ето го и rc.shape-а:

Код:

#!/bin/sh
#
#
#
#
#############################################################################################################
IF0="eth0" #Modem 1
IF0_IP="192.168.1.2"
IF1="eth1" #Modem 2
IF1_IP="192.168.121.2"
IF2="eth2" #Vytreshna mreja
IF2_IP="192.168.197.2"

IF0_IN="10400Kbit"
IF0_OUT="768Kbit"

IF1_IN="10400Kbit"
IF1_OUT="768Kbit"

IF2_IN="20800Kbit"
IF2_OUT="1400"

CNET="192.168.197."
START_IP="8"
END_IP="254"
CSPEED="2560"
CLN_UPL="240"
CMETRIC="Kbit"
CLSID="10"
#################



function htb_start ()
{
echo "Startirane..."
/sbin/tc qdisc del dev $IF0 root
/sbin/tc qdisc add dev $IF0 root handle 1 htb default 50 r2q 2

/sbin/tc qdisc del dev $IF1 root
/sbin/tc qdisc add dev $IF1 root handle 1 htb default 50 r2q 2

/sbin/tc qdisc del dev $IF2 root
/sbin/tc qdisc add dev $IF2 root handle 1 htb default 50 r2q 2

/sbin/tc class add dev $IF0 parent 1: classid 1:2 htb rate 10Mbit
/sbin/tc class add dev $IF1 parent 1: classid 1:2 htb rate 10Mbit
/sbin/tc class add dev $IF2 parent 1: classid 1:2 htb rate 20Mbit
#################################################################################################
#IF0 Download Limit
/sbin/tc class add dev $IF0 parent 1:2 classid 1:3 htb rate $IF0_IN
/sbin/tc qdisc add dev $IF0 parent 1:3 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF0 parent 1:0 protocol ip prio 100 u32 match ip dst $IF0_IP classid 1:3
#IF0 Upload Limit
/sbin/tc class add dev $IF0 parent 1:2 classid 1:4 htb rate $IF0_OUT
/sbin/tc qdisc add dev $IF0 parent 1:4 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF0 parent 1:0 protocol ip prio 100 u32 match ip src $IF0_IP classid 1:4
#################################################################################################
#IF1 Download Limit
/sbin/tc class add dev $IF1 parent 1:2 classid 1:5 htb rate $IF1_IN
/sbin/tc qdisc add dev $IF1 parent 1:5 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF1 parent 1:0 protocol ip prio 100 u32 match ip dst $IF1_IP classid 1:5
#IF1 Upload Limit
/sbin/tc class add dev $IF1 parent 1:2 classid 1:6 htb rate $IF1_OUT
/sbin/tc qdisc add dev $IF1 parent 1:6 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF1 parent 1:0 protocol ip prio 100 u32 match ip src $IF1_IP classid 1:6
#################################################################################################
#IF2 Download Limit
/sbin/tc class add dev $IF2 parent 1:2 classid 1:7 htb rate $IF0_IN
/sbin/tc qdisc add dev $IF2 parent 1:7 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip dst $IF0_IP classid 1:7
#IF2 Upload Limit
/sbin/tc class add dev $IF2 parent 1:2 classid 1:8 htb rate $IF2_OUT
/sbin/tc qdisc add dev $IF2 parent 1:8 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip src $IF2_IP classid 1:8

#################################################################################################
#Users Rules .....
while test $START_IP -le $END_IP
    do
#Clients Download Limit
/sbin/tc class add dev $IF2 parent 1:2 classid 1:$CLSID htb rate $CSPEED$CMETRIC
/sbin/tc qdisc add dev $IF2 parent 1:$CLSID handle 10 sfq perturb 10
/sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip dst $CNET$START_IP classid 1:$CLSID
#Clients Upload Limit
CLSID=$[CLSID+1]
/sbin/tc class add dev $IF2 parent 1:2 classid 1:$CLSID htb rate $CLN_UPL$CMETRIC
/sbin/tc qdisc add dev $IF2 parent 1:$CLSID handle 10 sfq perturb 10
/sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip src $CNET$START_IP classid 1:$CLSID
   
CLSID=$[CLSID+1]
START_IP=$[START_IP+1]
    done
echo "... OK"
##################################################################################################
}


function htb_stop ()
{
    echo "Stop ..."
    /sbin/tc qdisc del dev $IF0 root 2> /dev/null
    /sbin/tc qdisc del dev $IF1 root 2> /dev/null
    /sbin/tc qdisc del dev $IF2 root 2> /dev/null
    echo "... OK"
}

#####################################################################################################################################################33


case $1 in
   
    start)
     htb_start
   
    ;;

    stop)
     htb_stop
   
    ;;
   
    restart)
     htb_stop
     sleep 3
     htb_start
   
    ;;
   
    *)
    echo "Useg: rc.shape (start|stop|restart)"
    exit 1
    ;;
esac


Моля някой с повече опит да удари едно рамо :)

п.п. дистрото е Slackware 12.0
13  Linux секция за начинаещи / Настройка на програми / Re: Дроп на някой чат клиенти при "лоуд балансинг" -: Feb 24, 2009, 19:57
Никой ли не се е сблъсквал с този проблем ? :-[
14  Linux секция за начинаещи / Настройка на програми / Дроп на някой чат клиенти при "лоуд балансинг" -: Feb 05, 2009, 14:40
Такаааа .... днес пуснах "load balance" на Slackware 12.2. Всичко тръгна много добре .... канала се удвои връзка колкото си искаш  :) Оставих го да поработи малко но ми направи впечатление, че от време на време ICQ-то и IRC-то Drop-ят (прекъсват).

Моля ако някой се е сблъсквал със същия проблем или знае някакво решение да сподели ???

Ето и кода:

Код
GeSHi (Bash):
  1. #!/bin/sh
  2. #
  3.  
  4. #speedy1 i speedy2 sa tablicite v /etc/iproute2/rt_tables
  5. #10 speedy1
  6. #20 speedy2
  7. #
  8.  
  9.  
  10. T1="speedy1"
  11. IF1="eth1"
  12. IP1="192.168.2.3"
  13. GW1="192.168.2.1"
  14. P1_NET="192.168.2.0/24"
  15.  
  16.  
  17. T2="speedy2"
  18. IF2="eth2"
  19. IP2="192.168.197.3"
  20. GW2="192.168.197.2"
  21. P2_NET="192.168.197.0/24"
  22.  
  23.  
  24. ip route add $P1_NET dev $IF1 src $IP1 table $T1
  25. ip route add default via $GW1 table $T1
  26.  
  27. ip route add $P2_NET dev $IF2 src $IP2 table $T2
  28. ip route add default via $GW2 table $T2
  29.  
  30. ip route add $P1_NET dev $IF1 src $IP1
  31. ip route add $P2_NET dev $IF2 src $IP2
  32.  
  33. ip rule add from $IP1 table $T1
  34. ip rule add from $IP2 table $T2
  35.  
  36. ip route add default scope global nexthop via $GW1 dev $IF1 weight 1 nexthop via $GW2 dev $IF2 weight 1
  37.  
  38. iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
  39. iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE
  40.  
  41. #mrejata kym klientite e eth0 s adres 192.168.0.1

Преди време ми беше попаднало нещо което е служило предполагам точно за това но така и не можах да го подкарам (знам че някои неща са сменени в новите версии на iptables  но все пак ....), ето за какво говоря:

Код
GeSHi (Scheme):
  1.  
Страници: [1]