LINUX.ORG.RU
ФорумAdmin

iptables - ограничение вход. трафика по портам


0

0

Есть: Linux -ядро 2.4.x, кот. служит шлюзом в инет.
eth0 - внешний (интернет), eth1 - внутренний (локалка)
Требуется ограничить полосу пропускания для входящего трафика по портам.
Например, для smtp - полосу в 128к, для ftp - 28к - и то не всем, а только 10.10.0.5.
Есть работающий пример, который позволяет ограничивать вход. трафик для определенного IP при помощи iptables + cbq.
iptables -t mangle -A POSTROUTING -s 10.10.0.5 -j MARK --set-mark 6
для cbq:
DEVICE=eth1,10Mbit,1Mbit
RATE=28Kbit
WEIGHT=3Kbit
PRIO=5
MARK=6
При этом для 10.10.0.5 ограничивается весь трафик, но нужно чтоб ограничивался трафик по портам. Много чего было перепробовано, но результата не дало - трафик либо вообще не ограничивался, либо ограничивался весь.
Если есть подобный опыт, пжлст поделитесь.

anonymous

Ответ на: комментарий от fagot

В том то и дело, что cbq не работает с портами, т.е. если в cbq
DEVICE=eth1,10Mbit,1Mbit
RATE=28Kbit
WEIGHT=3Kbit
PRIO=5
RULE=*:21,10.10.0.5
RULE=*:20,10.10.0.5
это не работает

anonymous
()
Ответ на: комментарий от anonymous

Не знаю, как там в cbq.init, а в htb.init все работает

fagot ★★★★★
()

А так - то вообще работать должно адназначна :)

# Install root HTB
$TC qdisc del dev $DEV root 2> /dev/null > /dev/null
$TC qdisc add dev $DEV root handle 1: htb

$TC class add dev $DEV parent 1:1 classid 1:10 htb rate ${DLINK}kbit burst 6k

# SMTP traffic
$TC class add dev $DEV parent 1:10 classid 1:11 htb rate ${SMTP}kbit ceil ${DLINK}kbit burst 6k prio 0

# FTP traffic
$TC class add dev $DEV parent 1:10 classid 1:12 htb rate ${FTP}kbit ceil ${ULINK}kbit burst 6k prio 1

#### Filters

# SMTP traffic
$TC filter add dev $DEV parent 1:0 protocol tcp prio 1 match ip src 10.10.0.5/32 match ip dport 25 0xffff flowid 1:11

# FTP traffic
$TC filter add dev $DEV parent 1:0 protocol tcp prio 2 match ip src 10.10.0.5/32 match ip dport 20 0xffff flowid 1:12

Это так, приблизительно. Все пакеты *С* 10.10.0.5 *НА* SMTP-порт режутся до скорости $SMTP, все пакеты *НА* FTP-DATA режутся до $FTP. Поскольку дело имеем только с одной машиной, SFQ не добавляем.

lartc.org рулит :)

fagot ★★★★★
()
Ответ на: комментарий от fagot

В общем я понял в чем затык - ftp работает в двух режимах - активный и пассивный. У меня клиенты работают в пассивном режиме - отсюда весь геммор! Для пассивного режима надо ставить порты > 1024.
Например вот это правило прекрасно режет трафик с 80 порта
iptables -t mangle -A POSTROUTING -p tcp --sport 80 -j MARK --set-mark 6
Спасибо за ответы!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.