Перейти до

Вопрос по модулю cap_divert


Рекомендованные сообщения

Добрый день!

Имеем: 1. FreeBSD 8.0-RELEASE

2. Stargazer 2.406

Теперь сама проблема. При использовании модуля cap_divert.so идет удвоение трафика.

41650  958 1239596 count ip from any to 192.168.1.0/24 out via em0
41650    0       0 count ip from 192.168.1.0/24 to any in via em0
41651  958 1239596 tee 42111 ip from any to 192.168.1.0/24 out via em0
41652    0       0 tee 42111 ip from 192.168.1.0/24 to any in via em0
41653 1874 2477396 count ip from any to 192.168.1.0/24 out via em0
41653    0       0 count ip from 192.168.1.0/24 to any in via em0
41700 1874 2477396 allow ip from any to 192.168.1.0/24 out via em0

Получается что по правилу 41651 копия пакета уходит на 42111 порт, где слушает модуль cap_divert, и после этого возвращается обратно в файервол.

Пробовал направлять копии пакетов на порт где висит другой процесс, и копии не вернулись...

41650  849 1218771 count ip from any to 192.168.1.0/24 out via em0
41650    0       0 count ip from 192.168.1.0/24 to any in via em0
41651  849 1218771 tee 42111 ip from any to 192.168.1.0/24 out via em0
41652    0       0 tee 42111 ip from 192.168.1.0/24 to any in via em0
41653 1685 2436994 count ip from any to 192.168.1.0/24 out via em0
41653    0       0 count ip from 192.168.1.0/24 to any in via em0
41654 1685 2436994 tee 3333 ip from any to 192.168.1.0/24 out via em0
41655    0       0 count ip from 192.168.1.0/24 to any in via em0
41655 1685 2436994 count ip from any to 192.168.1.0/24 out via em0
41700 1685 2436994 allow ip from any to 192.168.1.0/24 out via em0

Получается что возврат пакетов в файервол осуществляет именно процесс на том порту куда они отправлены, а в нашем случае это cap_divert.so

Можно это как-нибудь исправить?

Ссылка на сообщение
Поделиться на других сайтах

Добрый день!

Имеем: 1. FreeBSD 8.0-RELEASE

2. Stargazer 2.406

Теперь сама проблема. При использовании модуля cap_divert.so идет удвоение трафика.

41650  958 1239596 count ip from any to 192.168.1.0/24 out via em0
41650    0       0 count ip from 192.168.1.0/24 to any in via em0
41651  958 1239596 tee 42111 ip from any to 192.168.1.0/24 out via em0
41652    0       0 tee 42111 ip from 192.168.1.0/24 to any in via em0
41653 1874 2477396 count ip from any to 192.168.1.0/24 out via em0
41653    0       0 count ip from 192.168.1.0/24 to any in via em0
41700 1874 2477396 allow ip from any to 192.168.1.0/24 out via em0

Получается что по правилу 41651 копия пакета уходит на 42111 порт, где слушает модуль cap_divert, и после этого возвращается обратно в файервол.

Пробовал направлять копии пакетов на порт где висит другой процесс, и копии не вернулись...

41650  849 1218771 count ip from any to 192.168.1.0/24 out via em0
41650    0       0 count ip from 192.168.1.0/24 to any in via em0
41651  849 1218771 tee 42111 ip from any to 192.168.1.0/24 out via em0
41652    0       0 tee 42111 ip from 192.168.1.0/24 to any in via em0
41653 1685 2436994 count ip from any to 192.168.1.0/24 out via em0
41653    0       0 count ip from 192.168.1.0/24 to any in via em0
41654 1685 2436994 tee 3333 ip from any to 192.168.1.0/24 out via em0
41655    0       0 count ip from 192.168.1.0/24 to any in via em0
41655 1685 2436994 count ip from any to 192.168.1.0/24 out via em0
41700 1685 2436994 allow ip from any to 192.168.1.0/24 out via em0

Получается что возврат пакетов в файервол осуществляет именно процесс на том порту куда они отправлены, а в нашем случае это cap_divert.so

Можно это как-нибудь исправить?

А может просто не использовать tee?

Ссылка на сообщение
Поделиться на других сайтах

Пробовал в правилах "tee" заменить на "divert", эффекта никакого...

Пакеты не уходят на порт.

например, идет 300 пакетов

на диверт ушло только 20

------

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

команда не приходит.. и пакеты идут мимо диверта.

а что происходит на самом деле не знаю

Ссылка на сообщение
Поделиться на других сайтах

Пробовал в правилах "tee" заменить на "divert", эффекта никакого...

Пакеты не уходят на порт.

например, идет 300 пакетов

на диверт ушло только 20

------

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

команда не приходит.. и пакеты идут мимо диверта.

а что происходит на самом деле не знаю

Дело в том что сама логика работы divert'а построена на том чтобы получить пакет, что-то с ним сделать и потом положить его на место.

Как вариант можешь попробовать закомментироывать sendto в divert_freebsd/divert_cap.cpp. Но лучше разобраться почему пакеты ходят мимо диверта.

Ссылка на сообщение
Поделиться на других сайтах

При любом более-менее заметном трафике тормоза гарантированы. Почему не cap_nf который работает на порядок точнее cap_bpf и на много быстрее cap_divert?

Ссылка на сообщение
Поделиться на других сайтах

При любом более-менее заметном трафике тормоза гарантированы. Почему не cap_nf который работает на порядок точнее cap_bpf и на много быстрее cap_divert?

 

Незнаю... почему бы и нет! Как-то до него еще не добрался... Хочу проверить в работе все модули. cap_bpf уже пролетает, сейчас помучаюсь с cap_divert и возьмусь за cap_nf!

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...