Используйте формирование трафика с tc на debian jessie для ограничения только одного виртуального IP

Мой сервер имеет несколько дюйм/с, на котором только один - картопостроитель к входящему физическому интерфейсу eth0. Другой дюйм/с обрабатывается виртуальным способом через iptables/DNAT.

Я хочу ограничить трафик одним из моих lxc контейнеров, названных "service1" (192.168.123.2 внутренне) к макс. 50MBit/s.

От внешнего я достигаю своего основного сервера "гипервизор" через x.x.x.90, но Брандмауэр направляет все необходимые порты для x.x.x.89 к "service1" (я только использую Порт 10000 и 5666),

Как я могу сформировать трафик с tc к макс. пределу 50Mbit/s для трафика, который достигает service1 contianer на IP x.x.x.89?

Я запустил бы с

DEV=eth0
IPT=/sbin/iptables
TC=/sbin/tc
$IPT -t mangle -F
# clear old rules:
$TC qdisc del dev $DEV ingress > /dev/null 2>&1
$TC qdisc del dev $DEV root > /dev/null 2>&1
$TC qdisc del dev lo root > /dev/null 2>&1
# initialize shaping and set default to channel 12: 
$TC qdisc add dev $DEV root handle 1:0 htb default 12 r2q 6
# set max limit to 1GBit
$TC class add dev $DEV parent 1:0 classid 1:1 htb rate 1Gbit ceil 1Gbit

Это мои правила iptables (iptables-save):

-A PREROUTING -d x.x.x.89/32 -i eth0 -p tcp -m tcp --dport 5666 -j DNAT --to-destination 192.168.123.2:5666
-A PREROUTING -d x.x.x.89/32 -i eth0 -p udp -m udp --dport 5666 -j DNAT --to-destination 192.168.123.2:5666
-A PREROUTING -d x.x.x.89/32 -i eth0 -p tcp -m tcp --dport 10000 -j DNAT --to-destination 192.168.123.2:10000
-A PREROUTING -d x.x.x.89/32 -i eth0 -p udp -m udp --dport 10000 -j DNAT --to-destination 192.168.123.2:10000
-A POSTROUTING -s 192.168.123.0/24 -o eth0 -j SNAT --to-source x.x.x.89

Теперь, как я должен был бы определить правила ограничить трафик макс. 50Mit только для тех двух портов 10000 и 5666 от и до "service1"?

2
задан 29 December 2018 в 07:19
1 ответ

Для начала вы должны использовать tcng для генерации правил tc:

http://linux-ip.net/gl/tcng/node10.html

0
ответ дан 3 December 2019 в 14:46

Теги

Похожие вопросы