LINUX.ORG.RU
ФорумAdmin

Учет трафика в iptables пренаправляемого на прокси.


0

0

Соит простенький биллинг - iptables, ulogd, mysql. Появилась необходимость настроить прозачный прокси. Настроить не проблема redirect .... Проблема в учете трафика, до установки прокси весь трафик считался в цепочке billing куда перенаправлялся с filter FORWARD. Теперь после редиректа трафик до filter FORWARD не доходит. Т.к. после nat PREROUTING трафик идет локальному приложению. Какой можно найти выход из ситуации что бы этот трафик все же попадал в цепочку billling? Ловить его инпутом перед прокси после редиректа не подходит - адреса назнчачениия уже другие. А у меня биллинг считает отдельно локальный трафик, отдельно тракфик в мир.


Re: Учет трафика в iptables пренаправляемого на прокси.

есть один метод но он только для малого числа клиентов, надо настроить сквид чтобы в зависимсти от клиента, squid использовал уникальный tos или ip (опции tcp_outgoing_address или tcp_outgoing_tos), метод факитески является костылем так что наверное вам лучше использовать логи сквида либо дописать к сквиду часть которая будет считать трафик во внутреннюю сеть и фиксировать внешний айпи с которым этот трафик связан. или поставить промежуточный маршрутизатор который будет считать а прокси за ним.

x86 ★★
()

Re: Учет трафика в iptables пренаправляемого на прокси.

а может еще в таблице mangle PREROUTING можно считать?

x86 ★★
()

Re: Учет трафика в iptables пренаправляемого на прокси.

http://www.opennet.ru/docs/RUS/iptables/#TRAVERSINGOFTABLES

там картинка есть "Порядок прохождения таблиц и цепочек" (в конце раздела 3.1)

из нее видно, что вам просто надо чуть раньше завернуть трафик в вашу цепочку billing

samson ★★
()

Re: Учет трафика в iptables пренаправляемого на прокси.

Кстати, судя по докам, картинка кривая. output-цепи должны стоять перед маршрутизацией, иначе смысл postrouting-цепей не совсем понятен.

Вроде, так.

Lego_12239 ★★
()

Re: Учет трафика в iptables пренаправляемого на прокси.

> output-цепи должны стоять перед маршрутизацией
Через OUTPUT цепочки проходят пакеты созданные локальными процессами. НО ! Не каждый процесс при открытии socket-а делает bind на конкретный адрес, поэтому src адрес для пакетов от этих процессов изначально будет неизвестен. А если мы не знаем src IP, то какой смысл пропускать такой НЕДОпакет через firewall ? Как раз для этого сначала и делается маршрутизация (чтоб по dst IP определить куда пойдет пакет и взять с этого интерфейса/маршрута src IP), а потом проход через firewall.
НО ! Еще в ядре, на сколько я помню, можно включить повторную перемаршрутизацию, после прохождения firewall, для того, чтоб через -j MARK можно было влиять на маршрутизацию (чтоб работали ip rule add fwmark ...). Правда, при повторе src IP не меняется (чисто из опыта).

spirit ★★★★★
()

Re: Учет трафика в iptables пренаправляемого на прокси.

Так маршрутизация перед output-цепочками она полноценная или какая-нибудь кастрированная(только для определения src IP, например)?

Lego_12239 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.