URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 56849
[ Назад ]

Исходное сообщение
"Нужна помощь с ipacctd"

Отправлено goro , 27-Май-05 17:50 
Во-первых:

FreeBSD 5.3-RELEASE-p10
ipacctd: v 1.46 из портов.
NAT работает, то есть без ipacctd инет есть.

# cat /etc/rc.conf|grep ipacctd:

ipacctd_enable="YES"
ipacctd_flags="-v -w"
ipacctd_rules="rl0"
ipacctd_rule_rl0_flags="-p 10000"

# cat /etc/ipfw.conf:

/sbin/ipfw add divert natd all from any to 213.27.18.42 via rl0
/sbin/ipfw add divert 10000 all from any to 1.0.0.0/24 in via rl0
/sbin/ipfw add divert 10000 all from 1.0.0.0/24 to any out via rl0
/sbin/ipfw add divert natd all from 1.0.0.0/24 to any out via rl0

Проблема состоит в невозможности выхода в инет с машин в локалке (подсеть 1.0.0.*). В /var/log/messages имеется такое:

May 27 17:32:22 box ipacctd[533]: (port 10000) accounting started ($Revision: 1.46 $, using 'divert' socket, verbose statistic, threshold = 30000, socket buffer = 0)

Меня смущает строка socket buffer = 0. Я пробовал руками добавлять параметр -b со значением, равным kern.ipc.maxsockbuf, но это приводило к следующим ошибкам в messages:

May 27 16:48:33 box ipacctd[471]: (port 10000) setsockopt(SO_RCVBUF): No buffer space available
May 27 16:48:33 box ipacctd[471]: (port 10000) setsockopt(SO_SNDBUF): No buffer space available

Что посоветуете, как побороть?
Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Нужна помощь с ipacctd"
Отправлено denn , 27-Май-05 18:38 
/sbin/ipfw add divert natd all from any to 213.27.18.42 via rl0
/sbin/ipfw add divert 10000 all from any to 1.0.0.0/24 in via rl0
/sbin/ipfw add divert 10000 all from 1.0.0.0/24 to any out via rl0
/sbin/ipfw add divert natd all from 1.0.0.0/24 to any out via rl0

правила не вернно раставлены
сначала посчитай, потом транслируй


"Нужна помощь с ipacctd"
Отправлено goro , 27-Май-05 18:54 
>
>правила не вернно раставлены
>сначала посчитай, потом транслируй

поменял на:

/sbin/ipfw add divert 10000 all from any to 1.0.0.0/24 in via rl0
/sbin/ipfw add divert 10000 all from 1.0.0.0/24 to any out via rl0
/sbin/ipfw add divert natd all from any to 213.27.18.42 via rl0
/sbin/ipfw add divert natd all from 1.0.0.0/24 to any out via rl0

ничего не изменилось :(.


"Нужна помощь с ipacctd"
Отправлено goro , 27-Май-05 19:11 
>>
>>правила не вернно раставлены
>>сначала посчитай, потом транслируй
>

в общем понял как делать чтобы работало, но хочется чтоб работало по человечески.. изменил конфиг файрволла чтобы при старте сбрасывались все правила:

/sbin/ipfw -f flush
/sbin/ipfw add divert 10000 all from any to 1.0.0.0/24 in via rl0
/sbin/ipfw add divert 10000 all from 1.0.0.0/24 to any out via rl0
/sbin/ipfw add divert natd all from any to 213.27.18.42 via rl0
/sbin/ipfw add divert natd all from 1.0.0.0/24 to any out via rl0

Перегружаю машину, ipacctd запускается, но не работает. Потом делаю sh /etc/ipfw.conf и все начинает работать. Как бы это исправить или что нужно сделать чтобы после перезагрузки оно само начинало работать?

PS. по умолчанию в ядре default to deny.



"Нужна помощь с ipacctd"
Отправлено denn , 27-Май-05 19:15 
>>>
>>>правила не вернно раставлены
>>>сначала посчитай, потом транслируй
>>
>
>в общем понял как делать чтобы работало, но хочется чтоб работало по
>человечески.. изменил конфиг файрволла чтобы при старте сбрасывались все правила:
>
>/sbin/ipfw -f flush
>/sbin/ipfw add divert 10000 all from any to 1.0.0.0/24 in via rl0
>
>/sbin/ipfw add divert 10000 all from 1.0.0.0/24 to any out via rl0
>
>/sbin/ipfw add divert natd all from any to 213.27.18.42 via rl0
>/sbin/ipfw add divert natd all from 1.0.0.0/24 to any out via rl0
>
>
>Перегружаю машину, ipacctd запускается, но не работает. Потом делаю sh /etc/ipfw.conf и
>все начинает работать. Как бы это исправить или что нужно сделать
>чтобы после перезагрузки оно само начинало работать?
>
>PS. по умолчанию в ядре default to deny.

man rc.conf
firewall_script="/etc/ipfw.conf"


"Нужна помощь с ipacctd"
Отправлено goro , 27-Май-05 19:20 
>>>>
>>>>правила не вернно раставлены
>>>>сначала посчитай, потом транслируй
>>>
>>
>>в общем понял как делать чтобы работало, но хочется чтоб работало по
>>человечески.. изменил конфиг файрволла чтобы при старте сбрасывались все правила:
>>
>>/sbin/ipfw -f flush
>>/sbin/ipfw add divert 10000 all from any to 1.0.0.0/24 in via rl0
>>
>>/sbin/ipfw add divert 10000 all from 1.0.0.0/24 to any out via rl0
>>
>>/sbin/ipfw add divert natd all from any to 213.27.18.42 via rl0
>>/sbin/ipfw add divert natd all from 1.0.0.0/24 to any out via rl0
>>
>>
>>Перегружаю машину, ipacctd запускается, но не работает. Потом делаю sh /etc/ipfw.conf и
>>все начинает работать. Как бы это исправить или что нужно сделать
>>чтобы после перезагрузки оно само начинало работать?
>>
>>PS. по умолчанию в ядре default to deny.
>
>man rc.conf
>firewall_script="/etc/ipfw.conf"


у меня так:

firewall_enable="YES"
firewall_type="/etc/ipfw.conf"

думаю эти параметры равносильны. или я не прав?


"Нужна помощь с ipacctd"
Отправлено denn , 27-Май-05 19:23 
>>>>>
>>>>>правила не вернно раставлены
>>>>>сначала посчитай, потом транслируй
>>>>
>>>
>>>в общем понял как делать чтобы работало, но хочется чтоб работало по
>>>человечески.. изменил конфиг файрволла чтобы при старте сбрасывались все правила:
>>>
>>>/sbin/ipfw -f flush
>>>/sbin/ipfw add divert 10000 all from any to 1.0.0.0/24 in via rl0
>>>
>>>/sbin/ipfw add divert 10000 all from 1.0.0.0/24 to any out via rl0
>>>
>>>/sbin/ipfw add divert natd all from any to 213.27.18.42 via rl0
>>>/sbin/ipfw add divert natd all from 1.0.0.0/24 to any out via rl0
>>>
>>>
>>>Перегружаю машину, ipacctd запускается, но не работает. Потом делаю sh /etc/ipfw.conf и
>>>все начинает работать. Как бы это исправить или что нужно сделать
>>>чтобы после перезагрузки оно само начинало работать?
>>>
>>>PS. по умолчанию в ядре default to deny.
>>
>>man rc.conf
>>firewall_script="/etc/ipfw.conf"
>
>
>у меня так:
>
>firewall_enable="YES"
>firewall_type="/etc/ipfw.conf"
>
>думаю эти параметры равносильны. или я не прав?

ты ман читал?
я тебе уже ответил


"Нужна помощь с ipacctd"
Отправлено goro , 27-Май-05 19:23 
>>
>>man rc.conf
>>firewall_script="/etc/ipfw.conf"
>
>
>у меня так:
>
>firewall_enable="YES"
>firewall_type="/etc/ipfw.conf"
>
>думаю эти параметры равносильны. или я не прав?

оказалось нет :). спасибо большое за помощь!