Alexander GQ Gerasiov wrote: > У меня в похожей ситуации в таблице mangle размечается весь трафик > марками (локальный, в(из) городскую сеть, в(из) интернет) и дальше во > всех остальных таблицах эти марки используются. > Размечается примерно так: > > Chain PREROUTING (policy ACCEPT 54M packets, 43G bytes) > pkts bytes target prot opt in out source > destination > 84 20357 MARK all -- br0 * 0.0.0.0/0 <мой ip> > MARK set 0x3 > 13M 18G MARK all -- br0 * 0.0.0.0/0 > <городская сеть> MARK set 0x1 > 8562K 1658M MARK all -- ppp0 * <городская сеть> 0.0.0.0/0 > MARK set 0x1 > 43298 6279K MARK all -- br0 * 0.0.0.0/0 > 172.16.0.0/24 MARK set 0x3 > > (+ еще размечается аналогично трафик самого маршрутизатора в цепочках > INPUT/OUTPUT) > > в итоге марка 0x0 (то что по-умолчанию) это интернет траффик > марка 0x1 - городская сеть > марка 0x3 - моя локалка > >
Это я и имел ввиду под переносом условий в PREROUTING. Но тогда другая проблема, если делать это в mangle, то это будет до nat, а соответственно все проброски внутрь сети (DNAT) еще не отработали. То есть условие "внутренности" адреса будет включать не только проверку на то, что адрес попадает в 192.168.20.0/24 (и прочие внутренние сети), но и проверку на то, что адрес назначения - не собственный "внешний" адрес (которых довольно много). В FORWARD все проще - там тупо по интерфейсам определяется. С другой стороны, если мой способ с iproute2 и будет работать, то задокументировать его понятным образом будет затруднительно :) -- WBR, Ivan S. Dubrov
signature.asc
Description: OpenPGP digital signature