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

Ограничьте скорость загрузки одним IP-адресом LAN с помощью TC на WAN-интерфейсе маршрутизатора

В настоящее время я контролирую скорость загрузки с помощью

tc filter add dev ppp0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 9900kbit burst 10k drop flowid :1

У меня есть один клиент в моей локальной сети, допустим, его IP-адрес 192.168.200.200

Я пробовал это, но это не ограничивало его скорость загрузки.

tc filter add dev ppp0 parent ffff: protocol ip prio 50 u32 match ip dst 192.168.200.200 police rate 10kbit burst 10k drop flowid :1

У меня есть теория.

Вы ограничиваете ingres (родительский ffff) на основе dst IP. Если он находится в блоке NAT, IP-адрес назначения в пакете - это внешний IP-адрес блока NAT, а не внутренний немаршрутизируемый IP-адрес фактического пункта назначения. Пакет не получит это место назначения до тех пор, пока NAT-блок не выполнит свои манипуляции.

Я думаю, вам нужна ручка с выходом, а не энгр. Вот пример из инструкции по lartc:

  tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit 

  tc class add dev $DEV parent 1: classid 1:1 cbq rate 512kbit \
  allot 1500 prio 5 bounded isolated 

  tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
  match ip dst 195.96.96.97 flowid 1:1

http://lartc.org/howto/lartc.ratelimit.single.html

Надеюсь, это поможет! -Дилан