Шейпер

Linux, безопасность, сети и все что с этим связано
White
Заглянувший
Сообщения: 5
Зарегистрирован: 07 окт 2010, 11:36

Шейпер

Сообщение White »

Есть шлюз с 2-мя интерфейсами, eth1 - локалка и ppp0 - Internet.
На ppp0 прикручен шейпер:
RATEUP=340
# добавить корневую дисциплину HTB
tc qdisc add dev ppp0 root handle 1: htb default 40
# добавить общее ограничение скорости по классу
tc class add dev ppp0 parent 1: classid 1:1 htb rate ${RATEUP}kbit
# добавляем подклассы - мы гарантируем каждаму классу МИНИМУМ "честную часть" полосы пропускания.
# Этим способом мы избегаем возможности "голодания" классов. Каждому классу
# разрешается занимать всю полосу пропускания, если другие классы не
# используются.
tc class add dev ppp0 parent 1:1 classid 1:10 htb rate $[$RATEUP/3]kbit ceil ${RATEUP}kbit prio 0
tc class add dev ppp0 parent 1:1 classid 1:20 htb rate $[$RATEUP/15]kbit ceil 100kbit prio 1
tc class add dev ppp0 parent 1:1 classid 1:30 htb rate $[$RATEUP/35]kbit ceil 100kbit prio 2
tc class add dev ppp0 parent 1:1 classid 1:40 htb rate $[$RATEUP/200]kbit ceil 100kbit prio 3
# подключаем дисциплины обработки очереди к подклассам - здесь мы используем SFQ для каждого класса.
# SFQ обеспечит почти честное деление полосы пропусканиямежду соединениями
# внутри каждого класса.
tc qdisc add dev ppp0 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev ppp0 parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev ppp0 parent 1:30 handle 30: sfq perturb 10
# направляем трафик в классы по fwmark
tc filter add dev ppp0 parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10
tc filter add dev ppp0 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20
tc filter add dev ppp0 parent 1:0 prio 0 protocol ip handle 30 fw flowid 1:30
#online игры попадают в высокоприорететный класс
#WarCraft
iptables -t mangle -A POSTROUTING -p tcp -m multiport --destination-port 3724,1119,4000,6111,6112,6113,6114 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p tcp -m multiport --destination-port 3724,1119,4000,6111,6112,6113,6114 -j RETURN
iptables -t mangle -A POSTROUTING -p udp -m multiport --destination-port 3724 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p udp -m multiport --destination-port 3724 -j RETURN
#Линейка
iptables -t mangle -A POSTROUTING -p tcp -m multiport --destination-port 7777,2106,17453 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p tcp -m multiport --destination-port 7777,2106,1745 -j RETURN
#iptables -t mangle -A POSTROUTING -p udp -m multiport --destination-port .,.,. -j MARK --set-mark 10
#iptables -t mangle -A POSTROUTING -p udp -m multiport --destination-port .,.,. -j RETURN
#Контра
iptables -t mangle -A POSTROUTING -p tcp -m multiport --destination-port 27000:27050 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p tcp -m multiport --destination-port 27000:27050 -j RETURN
#для ping
iptables -t mangle -A POSTROUTING -p icmp -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p icmp -j RETURN
#для пакетов, с которых начинается TCP-соединение, т.е. SYN-пакетов
iptables -t mangle -I POSTROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 20
iptables -t mangle -I POSTROUTING -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j RETURN
#для www
iptables -t mangle -A POSTROUTING -p tcp --dport 80 -j MARK --set-mark 30
iptables -t mangle -A POSTROUTING -p tcp --dport 80 -j RETURN

По идее при полной загрузке канала на ping и всё что попадает в класс 1:10 эта загрузка ни как влиять не должна.
Но ping увеличивается и с игрушек выкидывает. Хотя трафик, вроде,разруливается по классам Что я сделал не так??? Помогите разобраться!!!!!

P.S. Сильно не наезжайте я в Linux новичок!!!!!

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Re: Шейпер

Сообщение Llama »

White, а почему вы решили, что у вас проблема именно с исходящим трафиком, посмотрите, возможно проблема всё-таки именно со входящим трафиком..?
Опыт растет прямо пропорционально выведенному из строя оборудованию

Ответить