The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"ipfw   статистика: второй заход"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"ipfw   статистика: второй заход"
Сообщение от Sergey Zhelnin emailИскать по авторуВ закладки on 24-Май-01, 20:16  (MSK)
снова HI ALL!
начну сначала:
стоит Фришка 4.2, две сетевухи 192.168.1.1 и 192.168.2.1 они - шлюзы в интернет для соответствующих локалок, также модем на СОМ1 и выделенка до провайдера

под Фришкой работает Сквид (для http, ftp) и настроен natd и ipfw дабы клиенты сидящие в локалке таскали почту с помощью Outlook/Netcsape/TheBat со своих машин с Win95/98/2000 со своих почтовых ящиков на chat.ru/mail.ru/yandex.ru/yahoo.com. и т.п.

Ситуация такая:
при помощи ipfw хочу пропускать наружу и впускать внутрь только почту с других ящиков (chat.ru/mail.ru), а HTTP и FTP исключительно через Сквида

пример персонально для клиента сидящего на 192.168.2.2:
нижеследующие настройки позволяют клиенту получать/отсылать почту с "чужих" почтовых серверов типа chat.ru, но для доступа в интернет в настройках его браузера должен быть прописан прокси 192.168.2.1:80 (Сквид):

allow tcp from 192.168.2.2 to any 25,53,80,110 via ed0
allow ip from any to 192.168.2.2 via ed0
allow ip from any to 192.168.2.2 via tun0
allow ip from 192.168.2.2 to any via tun0
allow ip from xxx.xxx.xxx.230 to any via tun0
allow ip from any to xxx.xxx.xxx.230 via tun0
divert 8668 ip from any to any via tun0

где: 192.168.2.2 - ip клиента в локальной сети подключенной к сетевухе ed0 (192.168.2.1)
tun0 - модем на выделенке (запущен ppp -background)
xxx.xxx.xxx.230 - тут мой внешний статический ip даденый провайдером

ВОПРОС:
нафига прописывать:
allow ip from any to 192.168.2.2 via tun0
allow ip from 192.168.2.2 to any via tun0
(без этого не работает, natd ругается типа
can`t send paсket back Permission denyed)
ведь natd должен подхватить пакет от 192.168.2.2 и в отправителе прописать xxx.xxx.xxx.230, и тогда пакет должен попасть под правила
allow ip from xxx.xxx.xxx.230 to any via tun0
allow ip from any to xxx.xxx.xxx.230 via tun0
разве не так? Может кто-нибудь объяснить каким путем проходят пакеты их локалки в Интернет через natd и ipfw? И что с ним там происходит?

ВОПРОС:
почему надо прописывать
allow ip from any to 192.168.2.2 via ed0
чтобы принять ответ от почтового сервера
а конструкция:
allow tcp from any 25,53,80,110 to 192.168.2.2 via ed0
не работает - запросы по 25 и 110 порту уходять а назад не возвращаются, точнее возвращаются но видимо по другим портам или протоколам (не tcp)
А ПО КАКИМ ИМЕННО? подскажите...

ВОПРОС: расскажите плз "по русски" как выцеплять статистику из ipfw. Мне надо ослеживать объем почты скачаной клиентом.
Кроме как ipfw show ничего другого нет? Типа: может ipfw умеет логи писать?

ВОПРОС:  Для Сквида есть примочка squidclients - она судя по описанию должна суммировать информацию из логов Сквида в удобоваримый вид: КТО ЗНАЕТ КАК ЕЙ ПОЛЬЗОВАТЬСЯ?

с наилучшими...
Сергей

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: ipfw   статистика: второй заход"
Сообщение от Sergey Zhelnin emailИскать по авторуВ закладки on 25-Май-01, 17:04  (MSK)
ПИПЛЫ! ПОЖАЛУЙСТА НЕ ИГНОРИРУЙТЕ МЕНЯ!
КОНЕЦ МЕСЯЦА НА НОСУ- МНЕ СТАТИСТИКУ ПРЕДОСТАВИТЬ НАДО! ПОМОГИТЕ!
ИМХО вопросы то простые!

с надеждой на ответы...
Сергей

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: ipfw   статистика: второй заход"
Сообщение от Sasha_Ka Искать по авторуВ закладки on 25-Май-01, 17:35  (MSK)
1) по ipfw .......
Слишком много уж ты навернул сдесь ....
natd -- тебе вобше не нужен если твоя машина стоит как шлюз (только ресерсы отжирает)
а глянуть ipfw-шные счетчики можно так
$ipfw -a list
2) по squid ....
на любом поисковом сайте набери squid + статистика ...
выдаст более десятка программ
ЗЫ: а если интересно для чего нужен natd вот http://www.lexa.ru:8101/lexa/transparent-proxy.html это одно из применений      
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: ipfw   статистика: второй заход"
Сообщение от alok Искать по авторуВ закладки on 25-Май-01, 19:51  (MSK)
приветы

ipfw может писать логи , только как ты их будешь обрабатывать я не знаю :)
ipfw add accept log ip from any to any  -это все что проходит

статистику сквида снимай к примеру sarg'ом
он предоставит все это ввиде страницы по адресам и кто чего забрал и тд

Удачи!!!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: ipfw   статистика: второй заход"
Сообщение от Sergey Zhelnin emailИскать по авторуВ закладки on 25-Май-01, 20:50  (MSK)
СПАСИБО за ipfw -a list, ipfw log и SARG - попробую погонять

1)но, тем неменее: по каким портам возвращается почта запрошенная клиентом: я задам на этот порт/порты/протокол в отдельное правило ipfw и по статистике смогу отслеживать количество скаченной клиентом почты

2)и всетаки кто нибудь может внятно обяснить алгоритм прохождения пакета от локального клиента через natd и  ipfw наружу и обратно?

с неуменьшающейся надеждой на ответы...
Сергей

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: ipfw   статистика: второй заход"
Сообщение от Евгений Искать по авторуВ закладки on 02-Июн-01, 21:47  (MSK)
natd работает так:
Сетевой пакет от твоего клиента с кривым адресом (напр, 192.168.1.200) приходит с произвольного порта > 1024 клиента на твой сервер через внутреннюю сетевуху с намерением пройти, к примеру, на 80 порт (HTTP) сайта www.playboy.com. Твой сервер, понимающий, что он - гейт, пытается отправить его через tun0 или что там у тебя, наружу; однако с таким исходящим адресом делать ему там нечего, поэтому весь исходящий траффик правилом divert all ... on tun0 при попытке выйти наружу заворачивается на NAT - демон, который в качестве исходящего адреса вписывает реальный адрес твоего сервера, делая пометку о изуродованном пакете в своей внутренней таблице. Пакет опять вбрасывается в ipfw в правило, стоящее следующим за divert. У natd есть куча полезных фич - use_sockets, same_ports, alias_address и т д - читай мануал. Соотвественно, входящий снаружи траффик тоже заворачивается на нат, тот проверяет по своей таблице, кому адресован пакет, и выпускает его в локалку на нужный адрес.
Соотвественно, тебе надо иметь что-то типа:
ipfw add divert all from any to any via tun0
ipfw add 100 allow tcp from 192.168.1.200 to any 20,21,25,53,80
ipfw add 110 allow tcp from to any 20,21,25,53,80
to 192.168.1.200
... 100, 110 - размножить на всех клиентов
... тут - правила для входяще - исходящего траффика сервера; об ICQ, IRC и прочих passive ftp тоже придется позаботиться;

дальше пишешь скрипт, который по cron делает ipfw show 100| awk '{print $3}' > klient1.in.log - если по тупому, потом ipfw zero...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "ой"
Сообщение от Евгений Искать по авторуВ закладки on 02-Июн-01, 21:50  (MSK)
В смысле - 110 правило-
ipfw add 110 allow tcp from any 20,21,25,53,80 to 192.168.1.200
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: ipfw   статистика: второй заход"
Сообщение от Sregey Zhelnin emailИскать по авторуВ закладки on 03-Июн-01, 19:42  (MSK)
Спасибо за ответы (Евгений в т.ч.)!

щас короче у меня так настроено:
ppp запускается с параметром -nat,а natd ваще не запускаю!

но для того чтобы позволить ppp "дивертить" пакеты пришлось добавить правило:
allow ip from 192.168.2.2 to any via tun0
allow ip from any to 192.168.2.2 via tun0
иначе nat ругается что не может вернуть пакеты
(хм.. если я natd ваще не запускаю, то кто тогда ругается?  может ppp?)

теперь выяснил почему почта не пахала:
надо писать
allow tcp from 192.168.2.2 to any  25,53,110 via ed0
allow udp from 192.168.2.2 to any  25,53,110 via ed0
allow tcp from any  25,53,110 to 192.168 2.2 via ed0
allow udp from any  25,53,110 to 192.168 2.2 via ed0

то есть надо разрешать не только tcp но и  udp пакеты
смотрел статистику: при прокачке почты несколько пакетов ходят через utp - че это за пакеты?

теперь опять по статистике:
хотел смотреть стистику по разным портам, в итоге  завел отдельное правило для каждого порта/клиента типа:
allow tcp from 192.168.2.2 to any 25 via ed0
allow tcp from 192.168.2.2 to any 53 via ed0
allow tcp from 192.168.2.2 to any 110 via ed0
ну и т.д.

ВОПРОС: стОит ли извращаться таким образом или проще/лучше/надежнее задать общие правила для всех портов/подсетей типа
allow tcp from 192.168.2.0/24 to any 25,53,110 via ed0
а стистику по портам и клиентам выцеплять при помощи какой-нибудь резидентной программки-демона?
мне кажется, такие утилитки я где-то видел...

с наилучшими,
Сергей

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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