А можно поподробнее? на интерфейс eth1 приходит пакет из сети 10.11.11.0, но кому из клиентов этот пакет предназначен - неизвестно, ибо клиенты за НАТом... пакет маркируется, а с интерфейса eth0 он сначала обрабатывается классом eth0-2:10
RATE=2Mbit
CEIL=2Mbit
LEAF=sfq
PRIO=1
MARK=101
а потом классами eth0-2:10:11
RATE=1Mbit
CEIL=2Mbit
LEAF=sfq
RULE=192.168.100.1
и eth0-2:10:12
RATE=1Mbit
CEIL=2Mbit
LEAF=sfq
RULE=192.168.100.2
по-моему, имена типа eth1-2:10:11 в htbinit допустимы и означают вложенные классы...
а для немаркированных пакетов работают классы eth0-2:21
RATE=60Kbit
CEIL=120Kbit
LEAF=sfq
RULE=192.168.100.1
и eth0-2:22
RATE=60Kbit
CEIL=120Kbit
LEAF=sfq
RULE=192.168.100.2
Пользователь решил продолжить мысль: 19 Марта 2009, 04:23:33
попробовал сделать так:
iptables -t nat -A POSTROUTING -s 192.168.100.1 -o eth1 -j SNAT --to-source 192.168.1.2
iptables -t mangle -A POSTROUTING -s 10.11.11.0/24 -j MARK --set-mark 11
iptables -t mangle -A POSTROUTING -j RETURN
и так
iptables -t nat -A POSTROUTING -s 192.168.100.1 -o eth1 -j SNAT --to-source 192.168.1.2
iptables -t mangle -A PREROUTING -s 10.11.11.0/24 -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -j RETURN
при этом файлы htbinit у меня такие
eth0-3
# root class containing total bandwidth
RATE=1900Kbit
eth0-3:15
RATE=950Kbit
CEIL=1900Kbit
LEAF=sfq
PRIO=1
MARK=11
результат одинаково нулевой - и в первом и во втором случае скорость режется по старым правилам, до 128к. хотя я эти правила ради эксперимента вообще удалил... пакеты маркируются, вот вывод iptables -L -n -v -t mangle
root@gate:~# iptables -L -n -v -t mangle
Chain PREROUTING (policy ACCEPT 3331 packets, 1739K bytes)
pkts bytes target prot opt in out source destination
763 1083K MARK all -- * * 10.11.11.0/24 0.0.0.0/0 MARK set 0xb
3329 1739K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain INPUT (policy ACCEPT 505 packets, 39402 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 2826 packets, 1700K bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 491 packets, 202K bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 3317 packets, 1902K bytes)
pkts bytes target prot opt in out source destination
656 937K MARK all -- * * 10.11.11.0/24 0.0.0.0/0 MARK set 0xb
1480 1030K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Кто может объяснить, в чем дело?