Re: Вопрос по роутингу/iptables
На Wed, 27 Jun 2007 16:02:13 +0700
Ivan Dubrov <wfragg@gmail.com> записано:
> Alexander GQ Gerasiov wrote:
> > Я бы поставил на 80й порт что-нить вроде nginx и, в зависимости от
> > условий, использовал бы разные бэкэнды.
> > Мне кажется, что это логичнее, но ты нигде не указал о каких
> > условиях идет речь, так что я могу ошибаться.
> >
> Условия простые: -i eth1 -o ! eth1 (eth1 - внутренний интерфейс, также
> есть два внешних). Очевидно, что это условие имеет смысл только в
> FORWARD, тогда, когда мы выяснили что пакет действительно собрался
> уходить в интернет. Можно, конечно, переместить условия в прероутинг,
> переписав условие так, чтобы оно проверяло, что dstaddr - "внешний"
> адрес, а srcaddr - "внутренний". Но сейчас проверка сделана именно на
> основе интерфейсов (что, как мне кажется, надежнее в плане возможных
> модификаций роутинга, правил iptables, сетей, и.т.д).
У меня в похожей ситуации в таблице 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 - моя локалка
Reply to: