Входные данные
Linux CentOS (далее mailhost), один интерфейс eth0, sendmail, iptables, стоит полностью в локалке, шлюз по умочанию - циска торчащая в инет, порт 25 пробрасывается с нее на mailhost
хочу ограничить SMTP по скорости. Для локальных клиентов сделал
Код: Выделить всё
*mangle
-A OUTPUT -p tcp --dport 25 -j LOG --log-level debug --log-codefix 'OUTPUT:'
-A OUTPUT -p tcp --dport 25 -j MARK --set-mark 0x5Код: Выделить всё
tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1:1 classid 1:13 htb rate 10kbit ceil 25kbit prio 3
tc filter add dev eth0 parent 1:0 protocol ip prio 3 handle 5 fw classid 1:13локальный клиент засылает письмо на mailhost - скорость максимальная, с mailhost в инет согласно политике tc
проверяю
Код: Выделить всё
tc -s class show dev eth0все ок, попадает по 1:13 и шейпится.
теперь хочу тоже самое но для входящей извне почты.
решил в PREROUTING (пробовал и в INPUT), согласно логам и там и там одно и тоже. 192.168.X.X - mailhost IP.
Код: Выделить всё
*mangle
-A PREROUTING -p tcp --dport 25 -d 192.168.X.X -j LOG --log-level debug --log-codefix 'PREROUTING:'
-A PREROUTING -p tcp --dport 25 -d 192.168.X.X -j MARK --set-mark 4Код: Выделить всё
tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1:1 classid 1:14 htb rate 10kbit ceil 25kbit prio 3
tc filter add dev eth0 parent 1:0 protocol ip prio 3 handle 4 fw classid 1:14По логам - все ок, в цепочку попадает вхоядщая почта, все ок
но пакеты видимо не маркируются, и в правила tc ничего не попадает,и как следствие, скорость не режится..
Код: Выделить всё
iptables -L -n -v -t mangleКод: Выделить всё
Chain PREROUTING (policy ACCEPT 5645 packets, 1126K bytes)
pkts bytes target prot opt in out source destination
10 1544 LOG tcp -- * * 0.0.0.0/0 192.168.X.X tcp dpt:25 LOG flags 0 level 7 prefix `'PREROUTING:''
10 1544 MARK tcp -- * * 0.0.0.0/0 192.168.X.X tcp dpt:25 MARK set 0x4
Chain OUTPUT (policy ACCEPT 5508 packets, 1020K bytes)
pkts bytes target prot opt in out source destination
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 LOG flags 0 level 7 prefix `'OUTPUT:''
0 0 MARK tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 MARK set 0x5Уже все перепробовал, в чем может быть дело?