NomiD 0 Posted 2010-03-04 10:58:07 Share Posted 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 Можно это как-нибудь исправить? Link to post Share on other sites
madf 279 Posted 2010-03-04 11:45:15 Share Posted 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? Link to post Share on other sites
NomiD 0 Posted 2010-03-04 12:28:31 Author Share Posted 2010-03-04 12:28:31 Пробовал в правилах "tee" заменить на "divert", эффекта никакого... Пакеты не уходят на порт. например, идет 300 пакетов на диверт ушло только 20 ------ выглядит так, как буд-то пакет отправлен на порт и ждет подтверждения передать следующий. команда не приходит.. и пакеты идут мимо диверта. а что происходит на самом деле не знаю Link to post Share on other sites
madf 279 Posted 2010-03-04 12:35:40 Share Posted 2010-03-04 12:35:40 Пробовал в правилах "tee" заменить на "divert", эффекта никакого... Пакеты не уходят на порт. например, идет 300 пакетов на диверт ушло только 20 ------ выглядит так, как буд-то пакет отправлен на порт и ждет подтверждения передать следующий. команда не приходит.. и пакеты идут мимо диверта. а что происходит на самом деле не знаю Дело в том что сама логика работы divert'а построена на том чтобы получить пакет, что-то с ним сделать и потом положить его на место. Как вариант можешь попробовать закомментироывать sendto в divert_freebsd/divert_cap.cpp. Но лучше разобраться почему пакеты ходят мимо диверта. Link to post Share on other sites
nightfly 1,252 Posted 2010-03-04 16:16:16 Share Posted 2010-03-04 16:16:16 При любом более-менее заметном трафике тормоза гарантированы. Почему не cap_nf который работает на порядок точнее cap_bpf и на много быстрее cap_divert? Link to post Share on other sites
NomiD 0 Posted 2010-03-05 05:09:50 Author Share Posted 2010-03-05 05:09:50 При любом более-менее заметном трафике тормоза гарантированы. Почему не cap_nf который работает на порядок точнее cap_bpf и на много быстрее cap_divert? Незнаю... почему бы и нет! Как-то до него еще не добрался... Хочу проверить в работе все модули. cap_bpf уже пролетает, сейчас помучаюсь с cap_divert и возьмусь за cap_nf! Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now