NomiD 0 Опубликовано: 2010-03-04 10:58:07 Share Опубликовано: 2010-03-04 10:58:07 Добрый день! Имеем: 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 Можно это как-нибудь исправить? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-03-04 11:45:15 Share Опубліковано: 2010-03-04 11:45:15 Добрый день! Имеем: 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? Ссылка на сообщение Поделиться на других сайтах
NomiD 0 Опубліковано: 2010-03-04 12:28:31 Автор Share Опубліковано: 2010-03-04 12:28:31 Пробовал в правилах "tee" заменить на "divert", эффекта никакого... Пакеты не уходят на порт. например, идет 300 пакетов на диверт ушло только 20 ------ выглядит так, как буд-то пакет отправлен на порт и ждет подтверждения передать следующий. команда не приходит.. и пакеты идут мимо диверта. а что происходит на самом деле не знаю Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-03-04 12:35:40 Share Опубліковано: 2010-03-04 12:35:40 Пробовал в правилах "tee" заменить на "divert", эффекта никакого... Пакеты не уходят на порт. например, идет 300 пакетов на диверт ушло только 20 ------ выглядит так, как буд-то пакет отправлен на порт и ждет подтверждения передать следующий. команда не приходит.. и пакеты идут мимо диверта. а что происходит на самом деле не знаю Дело в том что сама логика работы divert'а построена на том чтобы получить пакет, что-то с ним сделать и потом положить его на место. Как вариант можешь попробовать закомментироывать sendto в divert_freebsd/divert_cap.cpp. Но лучше разобраться почему пакеты ходят мимо диверта. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2010-03-04 16:16:16 Share Опубліковано: 2010-03-04 16:16:16 При любом более-менее заметном трафике тормоза гарантированы. Почему не cap_nf который работает на порядок точнее cap_bpf и на много быстрее cap_divert? Ссылка на сообщение Поделиться на других сайтах
NomiD 0 Опубліковано: 2010-03-05 05:09:50 Автор Share Опубліковано: 2010-03-05 05:09:50 При любом более-менее заметном трафике тормоза гарантированы. Почему не cap_nf который работает на порядок точнее cap_bpf и на много быстрее cap_divert? Незнаю... почему бы и нет! Как-то до него еще не добрался... Хочу проверить в работе все модули. cap_bpf уже пролетает, сейчас помучаюсь с cap_divert и возьмусь за cap_nf! Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас