Назад | Перейти на главную страницу

управление полосой пропускания с помощью tc

У меня две сетевые карты. eth0 подключен к Интернету, а eth1 подключен к локальной сети.

Я хочу ограничить лимит загрузки с помощью iptables и linux tc.

Поэтому я написал тестовый сценарий, чтобы проверить, работает ли он.

Моя конфигурация iptables приведена ниже.

iptables -t mangle -N INBOUND
iptables -t mangle -I PREROUTING -i eth0 -j INBOUND
iptables -t mangle -A INBOUND  -j MARK --set-mark 60

Моя конфигурация входа приведена ниже.

tc qdisc add dev eth0 handle 1: ingress
tc filter add dev eth0 parent 1: protocol ip prio 1 handle 60 fw police rate 100kbit burst 20kbit drop flowid :1

Подскажите, пожалуйста, чего мне здесь не хватает?

NIC -> INGRESS -> NETFILTER -> EGRESS -> NIC
                   (MARK)

Трафик в netfilter падает после прохождения входной дисциплины на интерфейсе, так что вашей отметке все равно.

Используйте tc filter ... u32.

Взгляните на Wonder Shaper:

http://lartc.org/wondershaper/

Это фантастическое использование tc для управления скоростью загрузки / выгрузки.