netams + transparent squid

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
CarTer
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-04-21 8:46:47

netams + transparent squid

Непрочитанное сообщение CarTer » 2008-04-21 9:19:57

Добрый день!
На компе стоит FreeBSD 7.0 + Netams3.4.0 (3146.1)+ Squid 2.6
Netams настроил по статье Netams ч1 запустил все ок
Потом поставил squid 2.6 сделал его прозрачным и после этого трафик netams считает как то криво. Как я понял он считает щас все что на squid не попадает.
Как сделать чтобы Netams считал всеь трафик и при этом squid был прозрачным

Сервер имеет два интерфейса :
rl0 - внешний
re0 - внутренний

Вот конфиги:

netams.cfg

Код: Выделить всё

#NeTAMS version 3.3.5 (build 2916.1) compiled by gq@vice
#configuration built Thu Feb 28 09:37:18 2008
#begin
#global variables configuration
debug none
language ru
user oid 026EEA name admin real-name "Admin" crypted $1$$HpXmjtul/3i1.bf.B27bU. email root@localhost permit all

#services configuration

service server 0
login local
listen 20001
max-conn 2

service processor
lookup-delay 60
flow-lifetime 180
policy oid 0A145F name ip target proto ip
policy oid 0D59D6 name www target proto tcp port 80 81 8080 3128
policy oid 0FB46A name mail target proto tcp port 25 110
policy oid 00E42E name icq target proto tcp port 5190
policy oid 0E0BF0 name free target file /usr/local/etc/lan.txt
policy oid 0C90F6 name inet target policy-and ip !free
restrict all drop local pass
unit group oid 05D595 name CLIENTS acct-policy ip inet free www mail icq
unit host oid 0E0664 name server ip 192.168.0.1 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 0D708B name Kuzmin ip 192.168.0.10 email client1@domain.ru parent CLIENTS acct-policy ip inet free www mail icq
unit net oid 089AA5 name LAN ip 192.168.0.0 mask 255.255.255.0 acct-policy ip inet free www mail icq
unit user oid 01CB36 name Vorobjev ip 192.168.0.2 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 067407 name Morjakov ip 192.168.0.3 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 02FA98 name Maslov ip 192.168.0.4 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 0716BF name Raja ip 192.168.0.5 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 07F784 name Egkov ip 192.168.0.6 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 0CD3AA name Godovicin ip 192.168.0.7 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 0A8D65 name Buhgalterija ip 192.168.0.9 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 009D88 name Gvozdika ip 192.168.0.11 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 0999AE name Efremenkov ip 192.168.0.13 parent CLIENTS acct-policy ip inet free www mail icq
unit user oid 0524F3 name Natasha ip 192.168.0.8 parent CLIENTS acct-policy ip inet free www mail icq
#unit user oid 06B9D2 name FreeBSD ip 192.168.0.14 parent CLIENTS acct-policy ip inet free www mail icq

service storage 1
type mysql
accept all

service data-source 1
type ip-traffic
source divert 199
layer7-detect urls

service monitor 0
monitor to file /var/log/netams/mon_netams.log
monitor unit 0E0664
monitor unit 0D708B
monitor unit 01CB36
monitor unit 067407
monitor unit 02FA98
monitor unit 0716BF
monitor unit 07F784
monitor unit 0CD3AA
monitor unit 0A8D65
monitor unit 009D88
monitor unit 0999AE
monitor unit 0524F3

service quota
soft-treshold 90
delay 10
policy inet
block-policy free
set name Kuzmin policy inet active month 300M in
set name Vorobjev policy inet active month 500M in
set name Morjakov policy inet active month 500M in
set name Maslov policy inet active month 350M in
set name Raja policy inet active month 200M in
set name Egkov policy inet active month 150M in
set name Godovicin policy inet active month 250M in
set name Buhgalterija policy inet active month 100M in
set name Gvozdika policy inet active month 100M in
set name Efremenkov policy inet active month 100M in
set name Natasha policy inet active month 150M in
notify soft {owner}
notify hard {owner} 026EEA
notify return {owner}

service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp-server localhost

service html
path /usr/local/www/data/stat
run 5min
url http://localhost/
servlet-url
htaccess yes
client-pages all
account-pages all

service scheduler
oid 08FFFF time 5min action "html"
oid 022486 time monthly action "rotate monitor 0"

#end

ipfw

Код: Выделить всё

FwCMD="/sbin/ipfw"
LanOut="rl0"
NetOut=""
IpOut=""
LanIn="re0"
NetIn="192.168.0.0/24"
ip_lan="192.168.14"

${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush


${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

${FwCMD} add deny ip from ${NetIn} to any in via ${LanOut}
${FwCMD} add deny ip from ${NetOut} to any in via ${LanIn}
${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 224.0.0.0/4 in via ${LanOut}
${FwCMD} add deny icmp from any to any frag
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}


${FwCMD} add divert 199 ip from 192.168.0.0/24 to any out via ${LanOut}
${FwCMD} add fwd 192.168.0.1,3128 tcp from ${NetIn}/${NetMask} to any 80 via ${LanOut}
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
${FwCMD} add divert 199 ip from any to 192.168.0.0/24 in via ${LanOut}


${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
${FwCMD} add allow udp from any 53 to any via ${LanOut}
${FwCMD} add allow udp from any to any 53 via ${LanOut}
${FwCMD} add allow udp from any to any 123 via ${LanOut}

${FwCMD} add allow icmp from any to any icmptypes 0,8,11

${FwCMD} add allow tcp from any to any via ${LanIn}
${FwCMD} add allow udp from any to any via ${LanIn}
${FwCMD} add allow icmp from any to any via ${LanIn}

${FwCMD} add deny ip from any to any

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
GreenDay
мл. сержант
Сообщения: 100
Зарегистрирован: 2008-02-21 20:25:39
Откуда: Новосибирск
Контактная информация:

Re: netams + transparent squid

Непрочитанное сообщение GreenDay » 2008-04-22 11:54:20

никак.
пока что этого никто не смог реализовать
Бесполезно рассказывать о высоком моральном облике коллектива человеку, имеющему доступ к логам прокси-сервера этого коллектива.

CarTer
проходил мимо
Сообщения: 8
Зарегистрирован: 2008-04-21 8:46:47

Re: netams + transparent squid

Непрочитанное сообщение CarTer » 2008-04-23 13:52:28

т.е. netams + прозрачный squid никак не сделать
Значит у всех пользователей придется в браузере ручками прописывать прокси сервер ?

ALF
рядовой
Сообщения: 29
Зарегистрирован: 2007-06-12 9:20:35
Откуда: Киев
Контактная информация:

Re: netams + transparent squid

Непрочитанное сообщение ALF » 2008-04-24 23:58:07

CarTer писал(а):т.е. netams + прозрачный squid никак не сделать
Значит у всех пользователей придется в браузере ручками прописывать прокси сервер ?
Я конечно на 100% не уверен, но, возможно, если в твоем конфиге нетамса заменить
source divert 199 на source re0
То, возможно, считать начнет правильно... но только считать
При это правила divert 199 с фаирвола убираем

Аватара пользователя
GreenDay
мл. сержант
Сообщения: 100
Зарегистрирован: 2008-02-21 20:25:39
Откуда: Новосибирск
Контактная информация:

Re: netams + transparent squid

Непрочитанное сообщение GreenDay » 2008-04-25 9:05:50

не уверен - правильно сказано, считать не будет
сам пробовал
Бесполезно рассказывать о высоком моральном облике коллектива человеку, имеющему доступ к логам прокси-сервера этого коллектива.

Аватара пользователя
around
рядовой
Сообщения: 47
Зарегистрирован: 2008-04-24 21:31:45
Откуда: Saratov, Russia
Контактная информация:

Re: netams + transparent squid

Непрочитанное сообщение around » 2008-04-26 1:28:13

Также мучался, потом ушёл на Stargaser...
Хоть и написано, что Нетамс умеет - не получилось, хоть и делал по их Вики...
Troubles in Windows - reboot, troubles in *nix - be root...

Аватара пользователя
kapa6ac
мл. сержант
Сообщения: 146
Зарегистрирован: 2007-09-19 10:33:02

Re: netams + transparent squid

Непрочитанное сообщение kapa6ac » 2009-04-01 13:04:49

FreeBSD+NAT+SQUID. Конфигурация для подсчета трафика.
При помощи divert или tee трафик, проходящий через NAT и SQUID, нужно завернуть для подсчета в нетамс.
Для этого нужно добавить в файервол divert или tee на нетамс трафика по порту 3128(прокси)
Допустим правило трансляции стоит под номером 800.
Тогда, один divert или tee на нетамс до NAT-а и один после.
В итоге в netams.cfg нужно прописать следующее:

Код: Выделить всё

service data-source 0
type ip-traffic
source divert/tee 199
rule 400 "tcp from any to any 3128"
rule 500 "tcp from any 3128 to any"
rule 700 "ip from any to any via rl1"
rule 900 "ip from any to any via rl1"
получим в IPFW

Код: Выделить всё

.....
00400 divert/tee 199 tcp from any to any 3128
00500 divert/tee 199 tcp from any 3128 to any
......
00700 divert/tee 199 ip from any to any via rl1
00800 divert 8668 ip from any to any via rl1
00900 divert/tee 199 ip from any to any via rl1
......
rl1 - это внешний интерфейс, который смотрит в интернет.

rgsx
проходил мимо
Сообщения: 4
Зарегистрирован: 2007-12-27 12:56:41

Re: netams + transparent squid

Непрочитанное сообщение rgsx » 2009-04-02 9:20:24

Сделал как указано на пост выше, не работает....
То есть не совсем, а только в случае если прокси указан , если пользователь работает без прокси (через прозрачный squid) - трафик копеечный.

после экспериментов с правилами ipfw получился следующий конфиг.

Код: Выделить всё

type ip-traffic
source divert 199
rule 1030 "tcp from 192.168.0.0/16 to any 80"
rule 1050 "tcp from 192.168.0.0/16 to any 3128"
rule 1070 "tcp from any 80   to any"
rule 1090 "tcp from any 3128 to any"
rule 1150 "ip from any to any out via rl0"
rule 1350 "ip from any to any in via rl0"
layer7-detect urls
И вот что имеем по ipfw show

Код: Выделить всё

01030    58739     8444195 divert 199 tcp from 192.168.0.0/16 to any dst-port 80
01050     1092      136317 divert 199 tcp from 192.168.0.0/16 to any dst-port 3128
01070    62383    57907038 divert 199 tcp from any 80 to any
01090     1247      995543 divert 199 tcp from any 3128 to any
01100  2166237   354411885 fwd 127.0.0.1,3128 tcp from 192.168.0.0/16 to any dst-port 80 via rl0
01150    28921     3438688 divert 199 ip from any to any out via rl0
01200   245835    32435663 divert 8668 ip from 192.168.0.0/16 to any out via rl0
01300  2788690  2707478798 divert 8668 ip from any to 10.0.0.2 in via rl0
01350    29215    28630045 divert 199 ip from any to any in via rl0 
 
Т.е.

Перед правилом форвардинга на сквид заворачиваем трафик на netams , которых приходит на 80 и 3128 порт. На 80 порт приходит http тех пользователей, которых пользуются шлюзом, на 3128 - тех, у кого ещё остались настройки прокси
После форвардинга на сквид делаем как по мануалу - перед и после правил ната заворачиваем оставшийся трафик на netams - там остаётся почта, аська и т.п.
Как результат - 1. трафик считает
2.при использовании лимита отрубает инет
Побочный эффект - отрубает весь www, включая локальный http. :)
Объём трафика при сравнении с результатами trafd отличается где-то на 1Mb из 30 (в trafd 30, в netams 31)

Версия нетамса - 3.3.5
Последний раз редактировалось rgsx 2009-04-02 9:40:07, всего редактировалось 2 раза.

Аватара пользователя
kapa6ac
мл. сержант
Сообщения: 146
Зарегистрирован: 2007-09-19 10:33:02

Re: netams + transparent squid

Непрочитанное сообщение kapa6ac » 2009-04-02 9:28:40

rgsx писал(а):Сделал как указано на пост выше, не работает....
То есть не совсем, а только в случае если прокси указан , если пользователь работает без прокси (через прозрачный squid) - трафик копеечный.
Это претензии не ко мне, т.к. брал я это с офф доки ))

rgsx
проходил мимо
Сообщения: 4
Зарегистрирован: 2007-12-27 12:56:41

Re: netams + transparent squid

Непрочитанное сообщение rgsx » 2009-04-02 9:35:31

Без никаких претензий, с этим нетамсом как с фонариком в ночи - нихрена не найдёшь. Особенно если коснуться связки с прозрачным squid . Информации мало, документация на офф. сайте устарела. Везде про данную связку написано, что нереализуемо и работать не будет.
Руки уже опустились, жалко было потрачёной недели на изучение доков, установку различных версий, так как в общем то продукт работает неплохо.
В итоге буду настраивать дальше, но пока связка работает, может просто ещё на какие-нибудь грабли остались.... наступлю - обязательно сообду :-D :cz2:

Аватара пользователя
kapa6ac
мл. сержант
Сообщения: 146
Зарегистрирован: 2007-09-19 10:33:02

Re: netams + transparent squid

Непрочитанное сообщение kapa6ac » 2009-04-02 9:39:35

Я тут как-то натыкался на такую вестч. Товарищ логи скуида подсовывал нетамсу и вроде как все пучком было.
Кажется даже на форуме лисяры если память не изменяет.

rgsx
проходил мимо
Сообщения: 4
Зарегистрирован: 2007-12-27 12:56:41

Re: netams + transparent squid

Непрочитанное сообщение rgsx » 2009-04-02 9:42:38

kapa6ac писал(а):Я тут как-то натыкался на такую вестч. Товарищ логи скуида подсовывал нетамсу и вроде как все пучком было.
Кажется даже на форуме лисяры если память не изменяет.
Возможно, но без 4 первых правил верхних которые вот эти:

Код: Выделить всё

rule 1030 "tcp from 192.168.0.0/16 to any 80"
rule 1050 "tcp from 192.168.0.0/16 to any 3128"
rule 1070 "tcp from any 80   to any"
rule 1090 "tcp from any 3128 to any"
При достижении лимита отваливается только то, что не попадает на прокси, т.е. не работает почта и аська, инет в браузере есть, что не есть гут