ipfw add count all from any to 10.1.1.XX via xl0 - этого достаточно чтоб считать входящий на конкретную машину или in(out) via... обязательно указывать? Без in(out) via... трафик дважды просчитывается только в случае ...from any to any... если я не прав скажите и если прав тоже :)
>ipfw add count all from any
>to 10.1.1.XX via xl0 -
>этого достаточно чтоб считать входящий
>на конкретную машину или in(out)
>via... обязательно указывать? Без in(out)
>via... трафик дважды просчитывается только
>в случае ...from any to
>any... если я не прав
>скажите и если прав тоже
>:)Я так понимаю считается на роутере, тогда нужно либо via interface, либо in/out, иначе результат подсчета будет удвоенным.
>>ipfw add count all from any
>>to 10.1.1.XX via xl0 -
>>этого достаточно чтоб считать входящий
>>на конкретную машину или in(out)
>>via... обязательно указывать? Без in(out)
>>via... трафик дважды просчитывается только
>>в случае ...from any to
>>any... если я не прав
>>скажите и если прав тоже
>>:)
>
>Я так понимаю считается на роутере,
>тогда нужно либо via interface,
>либо in/out, иначе результат подсчета
>будет удвоенным.У меня стоит так:
ipfw add count all from any to 10.1.1.1 via xl0
где xl0 - интерфейс карточки смотрящей на сетку.
Задача считать весь входящий трафик.значит все правильно?
или все-таки нужно in или out ставить?
man ipfw
Here are some important points to consider when designing your rules:
o Remember that you filter both packets going in and out.
--> Most connections need packets going in both directions. <--
o Remember to test very carefully. It is a good idea to be near the console when doing this. If you cannot be near the console, use an auto-recovery script such as the one in
/usr/share/examples/ipfw/change_rules.sh.
o Don't forget the loopback interface.
imho это значит следующее. Каждый пакет проходит через брандмауэр. Соответственно каждый входящий и каждый выходящий.Надо понимать, что пакет _проходящий_ через машину на самом деле удваивается: один пакет принимается, а второй, почти полностью идентичный (с измененным TTL и проч.), но с такими же src/dst отправляется. И каждый из них проходит через брандмауэр.
Отсюда возможна ситуация, когда оба пакета считаются одним и тем же правилом (если оно без in/out).
В твоем случае все зависит от того, что такое 10.1.1.XX:
а) если это сама машина, то все нормально; пакет не станет исходящим и посчитается один раз;
б) если это машина, подключенная к другому интерфейсу (не xl0) -- то тоже все ок, так как выходящий пакет не будет отвечать твоему правилу;
в) если же 10.1.1.XX -- хост, подключенный через тот же xl0, то возникнет ситуация двойного подсчета.А вообще -- хочешь считать гарантированно только входящий трафик, поставь in
Еще. Есть такое словечко -- log. включи ненадолго, и посмотри, какие пакеты и когда считаются. Чрезвычайно проясняет ситуацию :)
ююю
...покоцано :)
ююю
У меня не совсем стандартная ситуация:
xl0 - интерфейс карточки смотрящей в сеть.
ppp0 - интерфейс модема к прову.
к карточке которая xl0 подключены машины пользователей. и 10.1.1.ХХ тоже :)так вот если считать по ppp0 то я так считал:
ipfw add count all from any to 10.1.1.XX in via ppp0 все работало (кстати без in показания были теже! видимо потому что было явно указано направление и интерфейс, а не ...from any to any...)сейчас мне нужно считать весь внутренний трафик (внешний тоже будет считаться, он же проходит по внутреннему, это мне и надо)т.е. получается если я буду считать на точке
xl0 -->-- 10.1.1.ХХ
то получу желаемый результат.сейчас пишу так:
ipfw add count all from any to 10.1.1.XX via xl0
это = xl0 -->-- 10.1.1.ХХ ?? я же указываю направление просчета! отовсюду на машину по внутреннему интерфейсу...для эксперимента пробовал:
ipfw add count all from any to 10.1.1.XX in via xl0 и out via xl0
с out показания точно такие же как и без него, а с in ничего не считается! я даже догадываюсь почему:in (значит входящий на xl0) и
направление подсчета- xl0 -->-- 10.1.1.ХХ (правило противоречит само себе. понятно ничо не будет считаться)ИЛИ Я ЧТО-ТО ПУТАЮ?? Если так то не надо меня на ман отправлять.. читал.. а лучше тыкните где я не прав.