Перейти до

Помогите. Шейпер режет локалку


Рекомендованные сообщения

Я вешал свой шейпер на внешний ай пи и ничего не происходит. он вообще не направляет трафик в эти очереди. А как именно поменять конфиг фаервола?

Ссылка на сообщение
Поделиться на других сайтах

Ну так кто же мне подскажет как справиться с этой ситуацией. Я пробовал использовать sbq как указанно в примере выше, но ничего не получилось

Ссылка на сообщение
Поделиться на других сайтах

#!/bin/bash

 

# http://al.ndd.ru/routing/lartc3.html

# Объявляем переменные

# Скорость доступа в Инет

INET_TO_USER="800kbit"

USER_TO_INET="128kbit"

# Скорость досутупа на сервер

SRV_TO_USER="70mbit"

USER_TO_SRV="70mbit"

# Диапазон IP-адресов, для которых применяем шейпер

START_IP=2

#END_IP=254

# Диапазон создаваемых классов для шейпера

START_CLASS=2

END_CLASS=254

# Класс для доступа к локальным сетям (серверу)

LAN_CLASS=255

# Класс по-умолчанию для доступа в Интернет

DEFAULT_INET_CLASS=256

# На каком интерфейсе применять шейпер

DEVICE="eth0"

# Локальная сеть (в нашем случае сервер)

#LOCAL_LAN="192.168.0.0/24"

LOCAL_LAN="192.168.0.1/32"

 

# ================================================================================

# Итак, начнём.

# Очистка правил для интерфейса (входящих и исходящих qdisc).

/sbin/tc qdisc del dev $DEVICE root

/sbin/tc qdisc del dev $DEVICE ingress

/sbin/tc qdisc add dev $DEVICE handle ffff: ingress

 

# === Исходящая скорость от сервера (для пользователя будет входящей скоростью).

/sbin/tc qdisc add dev $DEVICE root handle 1: htb default $DEFAULT_INET_CLASS

# Общая исходящая скорость интерфейса.

/sbin/tc class add dev $DEVICE parent 1: classid 1:1 htb rate 100mbit burst 200k

# Класс по-умолчанию. Режем скорость (только не шибко сильно, потому как не будет резать),

# выдаем наименьший приоритет.

/sbin/tc class add dev $DEVICE parent 1:1 classid 1:$DEFAULT_INET_CLASS htb rate 10kbit prio 3

/sbin/tc qdisc add dev $DEVICE parent 1:$DEFAULT_INET_CLASS handle $DEFAULT_INET_CLASS: sfq perturb 10

# Исходящая скорость от файлового сервера (или подсетей) к пользователям.

/sbin/tc class add dev $DEVICE parent 1:1 classid 1:$LAN_CLASS htb rate $SRV_TO_USER burst 200k prio 1

/sbin/tc qdisc add dev $DEVICE parent 1:$LAN_CLASS handle $LAN_CLASS: sfq perturb 10

/sbin/tc filter add dev $DEVICE parent 1:0 protocol ip prio 1 u32 match ip src $LOCAL_LAN flowid 1:$LAN_CLASS

 

# === Входящий трафик на сервер (для пользователя будет исходящей скоростью).

/sbin/tc filter add dev $DEVICE parent ffff: protocol ip prio 1 u32 match ip dst $LOCAL_LAN police rate $USER_TO_SRV burst 200k drop flowid :1

 

# ПРИМЕЧАНИЕ. Параметр prio определяет приоритет правил (чем ниже цифра - тем приоритет выше,

# наивысший приоритет равен prio 0). В нашем случае, сначала отработают правила для

# ограничения скорости локальной сети, и если трафик не соотвтетствует этим правилам, будут

# вступать в силу правила для ограничения скорости Интернет.

 

# Собственно, правила для нарезки скорости для Интернет ресурсов.

while [ $START_CLASS -le $END_CLASS ]

do

CURRENT_USER_IP=192.168.0.$START_IP

 

# Весь исходящий от сервера трафик не относящийся к городской сети ограничивать по скорости.

/sbin/tc class add dev $DEVICE parent 1:1 classid 1:$START_CLASS htb rate $INET_TO_USER burst 10k prio 2

/sbin/tc qdisc add dev $DEVICE parent 1:$START_CLASS handle $START_CLASS: sfq perturb 10

/sbin/tc filter add dev $DEVICE parent 1:0 protocol ip prio 2 u32 match ip dst $CURRENT_USER_IP flowid 1:$START_CLASS

 

# Весь входящий от пользователей трафик ограничивать по скорости.

/sbin/tc filter add dev $DEVICE parent ffff: protocol ip prio 2 u32 match ip src $CURRENT_USER_IP police rate $USER_TO_INET burst 6k drop flowid :1

 

((START_CLASS++))

((START_IP++))

#echo "$CURRENT_USER_IP"

done

 

# P.S. Для более корректной и точной нарезки исходящей скорости от пользователей в Интернет,

# лучше создать ряд правил для WAN-интерфейса.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...