URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 78386
[ Назад ]

Исходное сообщение
"FreeBSD. Как посчитать?"

Отправлено MMax , 23-Янв-08 21:57 
Опыта мало, поэтому обращаюсь к общественности. Проблема в следующем: есть сервер на FreeBSD, на нем FireWall, proxy. Изначально было два интерфейса, внутренний и внешний, от внешнего потом отказался, т.к. он оказался не нужен. Интернет идет через Cisco, на которой поднят нат. Есть еще один маршрутизатор, организующий канал в головной офис. Сервер занимается тем, что делит траффик на интернетовский (заодно ограничивает доступ тем, кому нельзя) и корпоративный, который должен идти на канал. Интернет траффик считается Squid'ом. Корпоративный должен считаться FireWall'ом, но не считается. В скрипте FireWall'а прописано следующее

min_num=4
max_num=252
i=$min_num
while [ $i -le $max_num ]; do
rule1=`expr 10000 + $i`
rule2=`expr 10500 + $i`
rule3=`expr 11000 + $i`
rule4=`expr 11500 + $i`
rule5=`expr 12000 + $i`

        ${fwcmd} -q add ${rule1} count all from 172.18.6.$i to ${vpnet} via re0
        ${fwcmd} -q add ${rule2} count all from ${vpnet} to 172.18.6.$i via re0
        ${fwcmd} -q add ${rule3} count all from 172.18.6.$i to ${vpnet1} via re0
        ${fwcmd} -q add ${rule4} count all from ${vpnet1} to 172.18.6.$i via re0
        ${fwcmd} -q add ${rule5} fwd 127.0.0.1,3128 tcp from 172.18.6.$i to any 80
        i=$((${i} + 1))
done

но проучается, что считает только пакеты запросов, весь остальной обмен между клиентами в нашей и удаленной сети идет напрямую (насколько я понимаю), т.е. в отчете по траффику я вижу следующее:
Traffic stats for 2008/01/23

OUT 172.18.6.101: 288 bytes
OUT 172.18.6.108: 144 bytes
OUT 172.18.6.109: 72 bytes
OUT 172.18.6.111: 144 bytes
OUT 172.18.6.129: 216 bytes
OUT 172.18.6.131: 144 bytes
OUT 172.18.6.133: 72 bytes
OUT 172.18.6.134: 72 bytes
OUT 172.18.6.135: 72 bytes
OUT 172.18.6.136: 144 bytes
OUT 172.18.6.146: 144 bytes
OUT 172.18.6.147: 216 bytes
OUT 172.18.6.148: 432 bytes
OUT 172.18.6.164: 72 bytes
OUT 172.18.6.165: 72 bytes
OUT 172.18.6.34: 288 bytes
OUT 172.18.6.35: 144 bytes
OUT 172.18.6.43: 216 bytes
OUT 172.18.6.45: 288 bytes
OUT 172.18.6.56: 144 bytes
OUT 172.18.6.60: 72 bytes
OUT 172.18.6.65: 72 bytes
OUT 172.18.6.69: 72 bytes
OUT 172.18.6.71: 792 bytes
OUT 172.18.6.75: 72 bytes
OUT 172.18.6.76: 144 bytes
OUT 172.18.6.98: 72 bytes
OUT all: 4.680 bytes
total in 0
total out 4680

Что тут можно сделать, если поднятие НАТа и смена адресов невозможны, т.к. с той стороны канала должны видеть именно те адреса, которые у меня сейчас?


Содержание

Сообщения в этом обсуждении
"FreeBSD. Как посчитать?"
Отправлено CrAzOiD , 24-Янв-08 01:26 
>Что тут можно сделать

для начала понять как устроена сеть которую вы обслуживаете, а не просто догадываться как идут пакеты


"FreeBSD. Как посчитать?"
Отправлено MMax , 24-Янв-08 08:41 
>>Что тут можно сделать
>
>для начала понять как устроена сеть которую вы обслуживаете, а не просто
>догадываться как идут пакеты

172.18.6.0/24 - Местная сеть.
172.18.6.1 - маршрутизатор на канале в головной офис.
172.18.6.2 - FreeBSD. (У всех клиентов он установлен как Шлюз.)
172.18.6.253 - Маршрутизатор для интернета
Все остальные IP из сети 172.18.6.0/24 - обычные клиенты сети.
192.168.70.0/24 - первая сеть в головном офисе
172.16.0.0/22 - вторая сеть в головном офисе

rc.route:
/sbin/route add default 172.18.6.253
/sbin/route add 192.168.70.0/24 172.18.6.1
/sbin/route add 172.16.0.0/22 172.18.6.1

Кусок скрипта для подсчета трафика я уже выкладывал в первом сообщении. Вроде все, что может влиять. Если что-то забыл, скажите, напишу.


"FreeBSD. Как посчитать?"
Отправлено MMax , 28-Янв-08 09:00 
Судя по всему при такой конфигурации считать не получится. Тогда такой вопрос, если я второй интерфейс подключу напрямую к маршрутизатору и пущу трафик через него так можно? Если да, то как правильно это сделать, т.к. поробовал прописать
ifconfig_re1="inet 172.18.6.3 netmask 255.255.255.0"
подключил к маршрутизатору, но 172.18.6.3 не пингуется. И 172.18.6.1 тоже. Видимо, надо делать bridge или что-то еще.