Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Технически-идеологический вопрос: подсчёт трафика.  (Прочитано 1318 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Заморочился с вопросом...
Есть система подсчёта трафика на базе fprobe-ulog.
Всё работает уже полгода и без сбоев, что примечательно.
Но вот мучает меня положение правил подсчёта.
Сейчас трафик снимается в INPUT, OUTPUT и FORWARD по интерфейсу.
Может, кто лучший вариант предложит?
(Нажмите, чтобы показать/скрыть)

eth0 - локалка 192.168.17/24 и сеть WiFi роутера 192.168.10.0/30
eth1 - инет

Пользователь решил продолжить мысль 25 Апреля 2011, 05:31:10:
Мммм... что, если поставить правила сбора трафика в самый конец nat/PREROUTING(входящие) и в самое начало nat/POSTROUTING (исходящие) ?
Какие шансы, что что-то будет пропущено-потеряно?
« Последнее редактирование: 25 Апреля 2011, 05:31:10 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Мммм... что, если поставить правила сбора трафика в самый конец nat/PREROUTING(входящие) и в самое начало nat/POSTROUTING (исходящие) ?
Какие шансы, что что-то будет пропущено-потеряно?
Или задублировано?

Людиии, ау? У кого какие идеи есть?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
В самый конец nat/PREROUTING нельзя - будут потеряны все пакеты установленных соединений на первом же правиле
Цитировать
*nat
-A PREROUTING -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
А вот поставить в начало этих цепочек - почему бы нет?
И ещё. Знаю, что не по феншую, но почему бы не попробовать не затолкать логирующие правила в mangle? (Чисто теория)

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
по моему, как в nat так и в mangle будет учтен полный трафик server_own+forward, в то время как в Input и output только own_server, точнее даже не так, в mangle соберется все, а в nat только часть трафика для FORWARD
« Последнее редактирование: 06 Июля 2012, 15:27:59 от xeon_greg »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Я не против, что в nat соберётся весь траффик. Но только в том случае, если логгируюшие правила ставить в начале цепочек, иначе первое же терминирующее правило, которое я заквотил, отсеит часть траффика (причём приличный процент)
« Последнее редактирование: 06 Июля 2012, 14:15:12 от fisher74 »

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
ну это само собой

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Цитировать
nat
Я думаю, что всё-таки не в nat, а в mangle.
OpenWrt 19.07

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Внесу некоторую ясность...
Мне желательно собрать трафик, когда в нём ещё/уже есть локальные адреса.
mangle/POSTROUTING кажется именно тем, что надо... Sanity check, anyone?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
да так и есть. там они еще сохраняются.

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Любопытный параллельный вопрос.
Если я напишу правило
... ! -i lo ! -o lo -j ULOG
попадут ли ... эээ... не попадут. Всё равно, придётся писать два правила, т.к. мне надо считать трафик только на внешнем интерфейсе.

*mangle
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -i eth1 -j ULOG --ulog-prefix "INET-INPUT "
-A POSTROUTING -o eth1 -j ULOG --ulog-prefix "INET-OUTPUT "
COMMIT

Как-то так.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Цитировать
-A POSTROUTING -i eth1 -j ULOG --ulog-prefix "INET-INPUT "
не проканает

Пользователь решил продолжить мысль 06 Июля 2012, 18:59:26:
если -i то PREROUTING, но в mangle PREROUTING еще нет локальных адресов
« Последнее редактирование: 06 Июля 2012, 18:59:26 от xeon_greg »

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Цитировать
-A POSTROUTING -i eth1 -j ULOG --ulog-prefix "INET-INPUT "
не проканает
Почему? На сколько я помню, входящий интерфейс нигде не теряется. (eth1 - инет)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
в цепочке POSTROUTING входящий интерфейс не имеет уже значения, тк маршрутизация уже произведена, равно как в цепочке PREROUTING не имеет значения исходящий интерфейс. и к тому же iptables даже не создаст такого правила.

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Тогда получается, что входящий трафик всё равно надо ловить в INPUT/FORWARD...
Вероятно, в таблице mangle... но всё равно ни раньше, ни позже его не отловить нормально.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Тогда получается, что входящий трафик всё равно надо ловить в INPUT/FORWARD...
Вероятно, в таблице mangle... но всё равно ни раньше, ни позже его не отловить нормально.
именно так, и  в данном случе mangle или filter значения не имеет , и там и там пройдет одинаковое кол-во трафика.

 

Страница сгенерирована за 0.066 секунд. Запросов: 25.