The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Подсчет трафика отданного squid'ом клиенту"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Настройка Squid и других прокси серверов (Public)
Изначальное сообщение [Проследить за развитием треда]

"Подсчет трафика отданного squid'ом клиенту"  
Сообщение от moki (ok) on 18-Июл-07, 14:07 
Ситуация почти классическая. Есть компьютер с 3-мя сетевыми интерфейсами: один в инет, один в локалку, а третий для соединения с удаленной сетью. Этот компьютер должен являтся для локалки основным шлюзом: т.е. раздавать инет (с подсчетом) и давать доступ в удаленную сеть (бесплатно). Поставил на комп Debian 4.0 r0, squid из этого же дистрибутива и NeTAMS 3.4 rc2. Настроил iptables. Короче клиенты могут лазить в инет через нат и через squid. И весь трафик считает нетамс. С удаленной сетью ещё толком не разбирался, потому что возникла проблема: трафик сквида почему то считается в 2 раза + еще чуть чуть больше чем тот же трафик (т.е. та же страничка) через нат. Причем дело тут не в нетамсе, потому что пробовал startgazer и ipq_traffic - аналогично в 2 раза + еще чуть чуть больше. И на Debian 3.1 r4 тоже самое. Перепробовал все. Облазил инет. Ничего дельного не нашел. Подозреваю, что это либо неправильная настройка squid либо iptables.
Может здесь мне кто нибудь поможет.

Привожу конфигурацию iptables:


# Описание сетевых интерфейсов
INET_IP="1.2.3.4"
INET_IFACE="eth1"

LAN_IP="192.168.1.7"
LAN_IFACE="eth0"
LAN_IP_RANGE="192.168.1.0/24"

LO_IP="127.0.0.1"
LO_IFACE="lo"

RLAN_IP="192.168.4.2"
RLAN_IFACE="eth2"

LLAN_IP_RANGE="192.168.0.0/16"

# описание местонахождения iptables и route
IPTABLES="/sbin/iptables"
ROUTE="/sbin/route"

# установка политик по умолчанию
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

# правила iptables взятые из tutorial
$IPTABLES -N bad_tcp_packets
$IPTABLES -N allowed_tcp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets

$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset

$IPTABLES -A allowed_tcp_packets -p TCP --syn -j ACCEPT
$IPTABLES -A allowed_tcp_packets -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed_tcp_packets -p TCP -j DROP

#$IPTABLES -A tcp_packets -p TCP -s 0/0 --destination-port 22 -j allowed_tcp_packets

#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 123 -j ACCEPT

$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

# правила таблицы filter
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT

$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $RLAN_IP -j ACCEPT

$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT

$IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

$IPTABLES -A INPUT -p ALL -i $RLAN_IFACE -j ACCEPT


$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $RLAN_IFACE -j ACCEPT


$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

$IPTABLES -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $LAN_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $RLAN_IFACE -j ACCEPT

# правила таблицы nat
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -s $LAN_IP_RANGE -d ! $LLAN_IP_RANGE -j SNAT --to-source $INET_IP

# разрешить forward
echo "1" > /proc/sys/net/ipv4/ip_forward

# для удаленной сети
$ROUTE add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.4.1
$ROUTE add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.4.1

# заворот пакетов для подсчета в нетамс
$IPTABLES -t mangle -A PREROUTING -i $LAN_IFACE -d ! $LLAN_IP_RANGE -s 192.168.1.11 -j QUEUE
$IPTABLES -t mangle -A POSTROUTING -o $LAN_IFACE -s ! $LLAN_IP_RANGE -d 192.168.1.11 -j QUEUE

$IPTABLES -t mangle -A PREROUTING -p TCP -i $LAN_IFACE -d $LAN_IP -s 192.168.1.11 --dport 3128 -j QUEUE
$IPTABLES -t mangle -A POSTROUTING -p TCP -o $LAN_IFACE -s $LAN_IP -d 192.168.1.11 --sport 3128 -j QUEUE

Пробовал заворачивать пакеты в нетамс из таблицы filter - результат аналогичный.

Заранее спасибо!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Подсчет трафика отданного squid'ом клиенту"  
Сообщение от pavel_simple (ok) on 18-Июл-07, 14:15 
короче -- тебе перед подсчётом надо пропускать пакеты от squid'а
и соответственно до него
смотри в сторону
-m owner --uid-owner proxy
-m connmark
-j CONNMARK
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Подсчет трафика отданного squid'ом клиенту"  
Сообщение от moki (??) on 18-Июл-07, 14:34 
>короче -- тебе перед подсчётом надо пропускать пакеты от squid'а
>и соответственно до него
>смотри в сторону
>-m owner --uid-owner proxy
>-m connmark
>-j CONNMARK

А что это за действие такое? Помечает пакеты одного соединения что ли? Чтобы лишние не считать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Подсчет трафика отданного squid'ом клиенту"  
Сообщение от Vladimir (??) on 13-Окт-07, 14:52 
А для чего используется таблица mangle? Ее предназначение немного другое.
Есть стандартные цепочки в filter Input,Output.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру