Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: cna в Feb 21, 2008, 12:35



Титла: Flat tc + pppoe server
Публикувано от: cna в Feb 21, 2008, 12:35
Здравейте,
ако са две машини(една за ФлатТЦ, една за РРРоЕ сървъра) тази схема, ще сработи без проблем, но идеята е да ползвам само една.
От няколко дни се опитвам да го подкарам, но все получавам грешки.  Ако потребителя е само един и ползва "ррр0", при изпълнение на скриптовете на ФлатТЦ-то всичко работи чудесно, но при пускане на "ррр1" ...
Пробвах да изпълнявам различни части от кода на ФлатТЦ, засягащи $INT_ETH - но безуспешно...

Някой да удари едно рамо, че аз ... дали от четене на хиляди неща или от нерви заради грешките малко спекох...


Титла: Flat tc + pppoe server
Публикувано от: VladSun в Feb 25, 2008, 10:28
Трябва ти IMQ patch.


Титла: Flat tc + pppoe server
Публикувано от: cna в Feb 26, 2008, 09:34
Ще го пробвам...


Титла: Re: Flat tc + pppoe server
Публикувано от: VladSun в Jan 27, 2010, 21:32
Получи ли се?
Интересно ми е, защото при мен PPPoE сърверът винаги е бил на друга машина. Теоретично ми е ясно какво трябва да се прави, но на практика дали става - не.


Титла: Re: Flat tc + pppoe server
Публикувано от: lod в Jan 28, 2010, 12:53
Трябва ти IMQ patch.

imq е история..

http://www.linuxfoundation.org/collaborate/workgroups/networking/ifb


Титла: Re: Flat tc + pppoe server
Публикувано от: VladSun в Jan 29, 2010, 12:17
И аз мерси. Трябва вече да се позанимая с това, но все време не остава ...


Титла: Re: Flat tc + pppoe server
Публикувано от: samiboy в Feb 01, 2010, 00:27
Прост но ефективен вариант доскоро работил на pptp сървър с 500 клиента ...

Код
GeSHi (Bash):
  1. core1:~# cat /etc/ppp/ip-up
  2. #!/bin/bash
  3.  
  4. DEVICE=$1
  5. LOCALIP=$5
  6. REMOTEIP=$6
  7.  
  8. shaper () {
  9. DEVICE=$1
  10. DOWN=$2
  11. UP=$3
  12.  
  13. /sbin/tc qdisc del dev $DEVICE root &> /dev/null
  14. /sbin/tc qdisc add dev $DEVICE root tbf rate ${DOWN}Kbit latency 50ms burst 200k
  15.  
  16. /sbin/tc qdisc del dev $DEVICE handle ffff: ingress &> /dev/null
  17. /sbin/tc qdisc add dev $DEVICE handle ffff: ingress
  18. /sbin/tc filter add dev $DEVICE parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 \
  19. police rate ${UP}Kbit burst 200k drop flowid :1
  20. }
  21.  
  22. speed="93.155.130.61 93.155.130.62";
  23. DOWN=10240
  24. UP=10240
  25.  
  26. speed0="93.155.130.63 93.155.130.64";
  27. DOWN0=10240
  28. UP0=10240
  29.  
  30. ip=`echo $LOCALIP`
  31.  
  32. for speeds in $speed
  33. do
  34.  if [ $speeds == $ip ]; then
  35.  shaper $DEVICE $DOWN $UP
  36.  SPEED=10240
  37.  echo "Session start `date +%F/%R:%S` on device $DEVICE local ip $LOCALIP remote $REMOTEIP and speed $SPEED " >> /etc/ppp/ppp.log
  38.  exit
  39.  fi
  40. done
  41.  
  42. for speeds in $speed0
  43. do
  44.  if [ $speeds == $ip ]; then
  45.  shaper $DEVICE $DOWN0 $UP0
  46.  SPEED=5120
  47.  echo "Session start `date +%F/%R:%S` on device $DEVICE local ip $LOCALIP remote $REMOTEIP and speed $SPEED " >> /etc/ppp/ppp.log
  48.  exit
  49.  fi
  50. done
  51.  

Без малко и да забравя края на сесията ...
Код
GeSHi (Bash):
  1. core1:~# cat /etc/ppp/ip-down
  2. #!/bin/bash
  3.  
  4. echo "$1 $2 $3 $4 $5 $6"
  5. DEVICE=$1
  6. LOCALIP=$5
  7. REMOTEIP=$6
  8.  
  9. echo "Session stop `date +%F/%R:%S` on device $DEVICE local ip $LOCALIP remote $REMOTEIP " >> /etc/ppp/ppp.log
  10.