LinuxForum.Fans
Тема

squid+net-acct проблема учёта трафика

Автор: MomoroTakeshi 6 сообщений 4356 просмотров
#17415

squid + net-acct проблемы подсчёта трафика.

Есть сервер (Debian 5.0) отвечающий за инет, интерфейс eth0 смотрит в локальную сеть, интерфейс eth1 смотрит в мир. Логи net-acct 0.71-8 анализируются NiTraf.
Правила для iptables:

text
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -X
iptables -t nat -X
iptables -t mangle -X

iptables -N eth0-eth1 iptables -N eth0-in iptables -N eth1-in iptables -N eth1-eth0

iptables -A FORWARD -i eth0 -o eth1 -j eth0-eth1 iptables -A INPUT -i eth0 -j eth0-in iptables -A INPUT -i eth1 -j eth1-in iptables -A FORWARD -i eth1 -o eth0 -j eth1-eth0

iptables -A eth0-in -s 192.168.1.2 -j ACCEPT iptables -A eth0-in -s 192.168.1.3 -j ACCEPT iptables -A eth0-in -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A eth0-in -j DROP iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -A eth0-eth1 -s 192.168.1.2 -j ACCEPT iptables -A eth0-eth1 -s 192.168.1.3 -j ACCEPT iptables -A eth0-eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A eth0-eth1 -j DROP iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 10.17.69.82

iptables -A eth1-in -d 10.17.69.82 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A eth1-in -d 10.17.69.82 -j DROP

iptables -A eth1-eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A eth1-eth0 -j DROP

Настройки net-acct

text
flush 300
fdelay 60
file /opt/trafdata/raw/net-acct.log 
dumpfile /opt/trafdata/raw/dump    
iflimit eth0
ignoremask 255.255.255.0
ignorenet 127.0.0.0 255.0.0.0
debug 2
debugfile /opt/trafdata/raw/net-acct.debug
headers    tr    40    38
headers    lo    14    12
headers    isdn    4    0
headers    eth    14    12
headers    plip    14    12
disable 7

net-acct считает трафик до копейки, но есть один недочёт, он считает его только пока squid настроен как прозрачный. Если пользователь явно указывает прокси, учёт его трафика прекращается. Как заставить netacct посчитать весь трафик проходящий через через интерфейс eth0? Или если есть возможность, не позволить указать пользователю прокси сервер явно?

#17514
MomoroTakeshi написал:
squid + net-acct проблемы подсчёта трафика.

Есть сервер (Debian 5.0) отвечающий за инет, интерфейс eth0 смотрит в локальную сеть, интерфейс eth1 смотрит в мир. Логи net-acct 0.71-8 анализируются NiTraf.
Правила для iptables:
text
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -X
iptables -t nat -X
iptables -t mangle -X

iptables -N eth0-eth1 iptables -N eth0-in iptables -N eth1-in iptables -N eth1-eth0

iptables -A FORWARD -i eth0 -o eth1 -j eth0-eth1 iptables -A INPUT -i eth0 -j eth0-in iptables -A INPUT -i eth1 -j eth1-in iptables -A FORWARD -i eth1 -o eth0 -j eth1-eth0

iptables -A eth0-in -s 192.168.1.2 -j ACCEPT iptables -A eth0-in -s 192.168.1.3 -j ACCEPT iptables -A eth0-in -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A eth0-in -j DROP iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -A eth0-eth1 -s 192.168.1.2 -j ACCEPT iptables -A eth0-eth1 -s 192.168.1.3 -j ACCEPT iptables -A eth0-eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A eth0-eth1 -j DROP iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 10.17.69.82

iptables -A eth1-in -d 10.17.69.82 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A eth1-in -d 10.17.69.82 -j DROP

iptables -A eth1-eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A eth1-eth0 -j DROP

Настройки net-acct

text
flush 300
fdelay 60
file /opt/trafdata/raw/net-acct.log 
dumpfile /opt/trafdata/raw/dump    
iflimit eth0
ignoremask 255.255.255.0
ignorenet 127.0.0.0 255.0.0.0
debug 2
debugfile /opt/trafdata/raw/net-acct.debug
headers    tr    40    38
headers    lo    14    12
headers    isdn    4    0
headers    eth    14    12
headers    plip    14    12
disable 7

net-acct считает трафик до копейки, но есть один недочёт, он считает его только пока squid настроен как прозрачный. Если пользователь явно указывает прокси, учёт его трафика прекращается. Как заставить netacct посчитать весь трафик проходящий через через интерфейс eth0? Или если есть возможность, не позволить указать пользователю прокси сервер явно?

У меня крутится связка
SAMS+SQUID+NETACCT_MYSQL(именно mysql). + самописные скрипты для вывода статистики NETACCT_MYSQL некоторые скрипты специально заточены под сквид точнее работают в паре. Стоит прозрачный прокси. Ничего не падает.

#18486

Попытаюсь сформулировать вопрос иначе. Можно ли средствами iptables запретить доступ к прокси серверу напрямую, или настройками squid заставить его работать только в прозрачном режиме?

leksstav написал:
У меня крутится связка
SAMS+SQUID+NETACCT_MYSQL(именно mysql). + самописные скрипты для вывода статистики NETACCT_MYSQL некоторые скрипты специально заточены под сквид точнее работают в паре. Стоит прозрачный прокси. Ничего не падает.

Падать то оно и не падает. А вот посчитать тот же трафик при браузере настроенном на прокси сервер, через NETACCT_MYSQL не получится. Сам не пробовал, но в иноязычных талмутах так же говорится только о прозрачном прокси и транзитном трафике.

#18490
MomoroTakeshi написал:
Попытаюсь сформулировать вопрос иначе. Можно ли средствами iptables запретить доступ к прокси серверу напрямую, или настройками squid заставить его работать только в прозрачном режиме?

[quote=leksstav]У меня крутится связка
SAMS+SQUID+NETACCT_MYSQL(именно mysql). + самописные скрипты для вывода статистики NETACCT_MYSQL некоторые скрипты специально заточены под сквид точнее работают в паре. Стоит прозрачный прокси. Ничего не падает.

Падать то оно и не падает. А вот посчитать тот же трафик при браузере настроенном на прокси сервер, через NETACCT_MYSQL не получится. Сам не пробовал, но в иноязычных талмутах так же говорится только о прозрачном прокси и транзитном трафике.[/quote]


Не знаю, не знаю. У меня стоит прозрачный прокси, и в правилах iptables указано что все запросы на 80 порт перенаправлять на такую то тачку и на такой то порт. И если указать явно ip тачки и порт прокси то все равно NETACCT_MYSQL считает трафик. Т.к. он не привязан к сквиду и работает самостоятельно и вполне успешно !
Та что все работает и считает !!!!!!!

#18554

А тачки с NETCAAT и прокси у тебя на разных машинах?

#18883
MomoroTakeshi написал:
А тачки с NETCAAT и прокси у тебя на разных машинах?

Конечно, NETACCT_MYSQL и squid на одной машине стоит. А какой смысл держать на разных машинах ???

Войдите или зарегистрируйтесь, чтобы ответить.