LinuxForum.Fans
Тема

Tc-шейпинг

Автор: kraftu 50 сообщений 12088 просмотров
#101190
zerg написал:
[quote=Kettler]А трафик где надо помечать на входе правильно но не как на выходе.

Неоднозначно... Зависит от того, какой трафик, и как проходит. Мне задача не ясна. Надо шейпить трафик для vpn-клиентов? Почему его тогда не шейпить средствами vpn-терминатора?[/quote]
А где там шейпить? напишите где что писать:) что ли:)

#101191

Нашол заначку не помню где находил всё делать под root

nano /etc/ppp/ip-up.d/shaper
туда пишем код ниже.

text

#!/bin/sh

# Интерфейс IFACE=${1}

# Ширина канала LIMIT="256kbit"

# Гарантированная полоса для http и https LIMIT_1="64kbit"

# Гарантированная полоса для smtp и dns LIMIT_2="32kbit"

tc qdisc add dev ${IFACE} root handle 1: htb default 30 # Задаём верхний порог на интерфейсе tc class add dev ${IFACE} parent 1: classid 1:1 htb rate ${LIMIT} burst 4k

# Создаём "трубу" с гарантированной полосой пропускания LIMIT_1 tc class add dev ${IFACE} parent 1:1 classid 1:10 htb rate ${LIMIT_1} burst 4k tc qdisc add dev ${IFACE} parent 1:10 handle 10: sfq perturb 1

# Создаём "трубу" с гарантированной полосой пропускания LIMIT_2 tc class add dev ${IFACE} parent 1:1 classid 1:20 htb rate ${LIMIT_2} ceil ${LIMIT} burst 4k tc qdisc add dev ${IFACE} parent 1:20 handle 20: sfq perturb 1

# "Труба" по умолчанию. Полоса пропускания динамически меняется от 16k до всей ширины канала. tc class add dev ${IFACE} parent 1:1 classid 1:30 htb rate 16kbit ceil ${LIMIT} burst 4k tc qdisc add dev ${IFACE} parent 1:30 handle 30: sfq perturb 1

# Кладём http и https в трубу с гарантированной полосой LIMIT_1 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip sport 80 0xffff flowid 1:10 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip sport 443 0xffff flowid 1:10

# Кладём smtp и dns в трубу с гарантированной полосой LIMIT_2 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip sport 25 0xffff flowid 1:20 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip sport 53 0xffff flowid 1:2

#101192

kraftu, тут я пас. По простой причине, что всегда делал ipoe. Считал vpn'ы - костылём прошлого века.

А так бы я посмотрел в сторону mpd. Навскидку...

#101200

Не работает...

#101202

Что именно?

#101203
kraftu написал:
Не работает...

Что не работает? В mpd же был шейпер? oO

#101205

mpd под фряку вроде.

#101206
kraftu написал:
Не работает...

Скрипт под себя правил?

#101207
Kettler написал:
mpd под фряку вроде.

Ну а инструменты надо выбирать под задачу wink

#101208

Ну эт ды) ток в pptpd нет ограничений без дополнительных при блуд.

#101211

Млин, как урезать трафик?)

#101215

Потерпи щас тоже тестю завтра напишу готовый.

#101218

eth0 Link encap:Ethernet HWaddr 00:11:6b:33:8a:68
inet addr:10.15.1.119 Bcast:10.15.1.127 Mask:255.255.255.192
inet6 addr: fec0::b:211:6bff:fe33:8a68/64 Scope:Site
inet6 addr: 2002:b2d5:d734:b:211:6bff:fe33:8a68/64 Scope:Global
inet6 addr: fe80::211:6bff:fe33:8a68/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2301 errors:0 dropped:0 overruns:0 frame:0
TX packets:2031 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:229952 (224.5 KiB) TX bytes:190904 (186.4 KiB)
Interrupt:16 Base address:0xd000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:50 errors:0 dropped:0 overruns:0 frame:0
TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4825 (4.7 KiB) TX bytes:4825 (4.7 KiB)

ppp0 Link encap:Point-to-Point Protocol
inet addr:213.108.148.19 P-t-P:213.108.144.29 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1
RX packets:793 errors:0 dropped:0 overruns:0 frame:0
TX packets:1069 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:800258 (781.5 KiB) TX bytes:109148 (106.5 KiB)


ppp2 Link encap:Point-to-Point Protocol
inet addr:192.168.0.1 P-t-P:192.168.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:644 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:37580 (36.6 KiB) TX bytes:3281 (3.2 KiB)

ppp2- это клиент, VPN соединения... кому раздаю инет провайдера..
ppp0 - это VPN до провайдера, для внеши..
eth0 - тут локалка провайдера, и также для VPN клиентов
Что куда прописывать... когда ставил на ppp0 до этого работало,как переустановил linux вот и получилось так..

#101222

Выложил результат
http://narod.ru/disk/182461001/%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82.rar.html

Сам скрипт

#!/bin/sh
lan=eth0
tc=`which tc`
tc qdisc del dev $lan root
$tc qdisc add dev $lan root handle 1: htb default 2
$tc class add dev $lan parent 1: classid 1:1 htb rate 1024kbit
$tc class add dev $lan parent 1:1 classid 1:2 htb rate 24kbit ceil 512kbit prio 1
$tc filter add dev $lan protocol ip parent 1: u32 match ip dst 172.16.0.2 flowid 1:2

На твоём примере ограничим скорость до 24kbit максимальная 512kbit
#!/bin/sh
lan=ppp2
tc=`which tc`
tc qdisc del dev $lan root
$tc qdisc add dev $lan root handle 1: htb default 2
$tc class add dev $lan parent 1: classid 1:1 htb rate 1024kbit
$tc class add dev $lan parent 1:1 classid 1:2 htb rate 24kbit ceil 512kbit prio 1
$tc filter add dev $lan protocol ip parent 1: u32 match ip dst 192.168.0.1 flowid 1:2

или
lan=ppp0
tc=`which tc`
tc qdisc del dev $lan root
$tc qdisc add dev $lan root handle 1: htb default 2
$tc class add dev $lan parent 1: classid 1:1 htb rate 1024kbit
$tc class add dev $lan parent 1:1 classid 1:2 htb rate 24kbit ceil 512kbit prio 1
$tc filter add dev $lan protocol ip parent 1: u32 match ip dst 192.168.0.1 flowid 1:2

#101225

Это в консоли прописать и все?

#101226

Писец создай файл
nano /home/tc
впиши сюда всё.
chmod +x /home/tc
sh /home/tc

#101227

Я больше не могу пиши в асю помогу.
Или дал направление дальше сам.

#101229

Аську в пм напиши ка:)

#101233

Kettler спасибо реально, помог разобрались:)

#101235

kraftu, пишите сюда решение.

Войдите или зарегистрируйтесь, чтобы ответить.