Re: Вопрос по роутингу/iptables
На Wed, 27 Jun 2007 17:18:09 +0700
Ivan Dubrov <wfragg@gmail.com> записано:
> 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 (и прочие внутренние
> сети), но и проверку на то, что адрес назначения - не собственный
> "внешний" адрес (которых довольно много).
у меня для этого первое правило в приведенном примере и служит. Но у
меня ip внешний один.
С другой стороны вменяемым образом написать скрипт, который при
поднятии интерфейса будет добавлять нужные правила в iptables не особо
сложно.
> В FORWARD все проще - там
> тупо по интерфейсам определяется. С другой стороны, если мой способ с
> iproute2 и будет работать, то задокументировать его понятным образом
> будет затруднительно :)
Скорее если оно и будет работать, то никто не гарантирует, что оно не
сломается при следующем обновлении системы.
Reply to: