Поставил ng_ipacct из портов.
Ядро пересобрал с поддержкой:
options NETGRAPH
options NETGRAPH_SOCKET
options NETGRAPH_ETHER
options NETGRAPH_TEE
Конфиг ng_ipacct.conf взял по умолчанию, только подставил свое имя интерфейса:ng_ipacct_enable="YES"
ng_ipacct_modules_load="NO"
ng_ipacct_interfaces="fxp0"
ng_ipacct_default_ether_start='
mkpeer %%iface%%: tee lower right
name %%iface%%:lower %%iface%%_tee
connect %%iface%%: lower upper left
mkpeer %%iface%%_tee: ipacct right2left %%iface%%_in
name %%iface%%_tee:right2left %%iface%%_ip_acct
connect %%iface%%_tee: %%iface%%_ip_acct: left2right %%iface%%_out
'
ng_ipacct_default_ether_stop='
shutdown %%iface%%_ip_acct:
shutdown %%iface%%_tee:
shutdown %%iface%%:
'
ng_ipacct_bpf_ether_start='
mkpeer %%iface%%: tee lower right
name %%iface%%:lower %%iface%%_tee
connect %%iface%%: lower upper left
mkpeer %%iface%%_tee: bpf right2left %%iface%%_in
name %%iface%%_tee:right2left %%iface%%_bpf
connect %%iface%%_tee: right2left left2right %%iface%%_outmkpeer %%iface%%_bpf: ipacct %%iface%%_match_in %%iface%%_in
name %%iface%%_bpf:%%iface%%_match_in %%iface%%_ip_acct
connect %%iface%%_bpf: %%iface%%_ip_acct: %%iface%%_match_out %%iface%%_out
'
ng_ipacct_bpf_ether_stop='
shutdown %%iface%%_ip_acct:
shutdown %%iface%%_bpf:
shutdown %%iface%%_tee:
shutdown %%iface%%:
'
ng_ipacct_fxp0_dlt="EN10MB" # required line; see ipacctctl(8)
ng_ipacct_fxp0_threshold="5000" # '5000' by default
ng_ipacct_fxp0_verbose="yes" # 'yes' by default
ng_ipacct_fxp0_saveuid="yes" # 'no' by default
ng_ipacct_fxp0_savetime="no" # 'no' by default
ng_ipacct_fxp0_start=${ng_ipacct_default_ether_start}
ng_ipacct_fxp0_stop=${ng_ipacct_default_ether_stop}
ng_ipacct_fxp0_checkpoint_script="path/to/your/script --checkpoint-and-save fxp0"При запуске ругается:
# ./rc.d/ng_ipacct start
ngctl: send msg: File exists
ngctl: line 2: error in file
./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!Где искать решение проблемы?
Сегодня попробовал собрать ядро с модулями, ошибка не изменилась.
>При запуске ругается:
># ./rc.d/ng_ipacct start
>ngctl: send msg: File exists
>ngctl: line 2: error in file
>./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!
>
>Где искать решение проблемы?
>
>Сегодня попробовал собрать ядро с модулями, ошибка не изменилась.
ngctl list
в студию
>>При запуске ругается:
>># ./rc.d/ng_ipacct start
>>ngctl: send msg: File exists
>>ngctl: line 2: error in file
>>./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!
>>
>>Где искать решение проблемы?
>>
>>Сегодня попробовал собрать ядро с модулями, ошибка не изменилась.
>
>
>ngctl list
>в студию
# ngctl list
There are 1 total nodes:
Name: ngctl57059 Type: socket ID: 00000007 Num hooks: 0
# kldstat
Id Refs Address Size Name
1 6 0xc0400000 427908 kernel
2 1 0xc24be000 4000 ng_socket.ko
3 2 0xc24cc000 b000 netgraph.ko
4 1 0xc24d7000 3000 ng_tee.ko
5 1 0xc2571000 2000 star_saver.ko
>>>При запуске ругается:
>>># ./rc.d/ng_ipacct start
>>>ngctl: send msg: File exists
>>>ngctl: line 2: error in file
>>>./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!
>>>
>>>Где искать решение проблемы?
>>>
>>>Сегодня попробовал собрать ядро с модулями, ошибка не изменилась.
>>
>>
>>ngctl list
>>в студию
>
>
># ngctl list
>There are 1 total nodes:
> Name: ngctl57059 Type: socket
> ID: 00000007
> Num hooks: 0
># kldstat
>Id Refs Address Size Name
>
> 1 6 0xc0400000 427908 kernel
> 2 1 0xc24be000 4000
>ng_socket.ko
> 3 2 0xc24cc000 b000
>netgraph.ko
> 4 1 0xc24d7000 3000
>ng_tee.ko
> 5 1 0xc2571000 2000
>star_saver.koи после того, как пустить ng_ipacct start валятся ошибки, что такое устройство есть? Не верю. Скорее всего после этого вы пустили ng_ipacct stop.
>и после того, как пустить ng_ipacct start валятся ошибки, что такое устройство
>есть? Не верю. Скорее всего после этого вы пустили ng_ipacct stop.# ./ng_ipacct start
ngctl: send msg: No such file or directory
ngctl: line 2: error in file
./ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!Больше ничего не делал.
Честно.
>>и после того, как пустить ng_ipacct start валятся ошибки, что такое устройство
>>есть? Не верю. Скорее всего после этого вы пустили ng_ipacct stop.
>
># ./ng_ipacct start
>ngctl: send msg: No such file or directory
>ngctl: line 2: error in file
>./ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!
>
>Больше ничего не делал.
>Честно.Сравните с
При запуске ругается:
# ./rc.d/ng_ipacct start
ngctl: send msg: File exists
ngctl: line 2: error in file
./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!И почувствуйте разницу. аотому и попросил ngctl list ибо там должны были присутствовать уже созданные ноды и узлы.
Если приведенный текст сохраняет порядок как в оргигинале - тогда измените состояние NO на загрузке модулей нетграфа на YES(вторая строка)
>Сравните с
>При запуске ругается:
># ./rc.d/ng_ipacct start
>ngctl: send msg: File exists
>ngctl: line 2: error in file
>./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!
>
>И почувствуйте разницу. аотому и попросил ngctl list ибо там должны
>были присутствовать уже созданные ноды и узлы.Вы извините, но нельзя ли для чайников поподробнее, где тут разницу искать/видеть?
>Если приведенный текст сохраняет порядок как в оргигинале - тогда измените состояние
>NO на загрузке модулей нетграфа на YES(вторая строка)# egrep -v "(^#|^[ \t]*$)" ng_ipacct.conf|grep ng_ipacct_module
ng_ipacct_modules_load="YES"И далее все аналогично.
# ngctl list
There are 1 total nodes:
Name: ngctl61776 Type: socket ID: 00000013 Num hooks: 0# ./rc.d/ng_ipacct start
ngctl: send msg: No such file or directory
ngctl: line 2: error in file
./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!# ngctl list
There are 1 total nodes:
Name: ngctl61776 Type: socket ID: 00000013 Num hooks: 0На всякий случай:
6.1-RELEASE FreeBSD
ng_ipacct-20061223
>>Сравните с
>>При запуске ругается:
>># ./rc.d/ng_ipacct start
>>ngctl: send msg: File exists
>>ngctl: line 2: error in file
>>./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!
>>
>>И почувствуйте разницу. аотому и попросил ngctl list ибо там должны
>>были присутствовать уже созданные ноды и узлы.
>
>Вы извините, но нельзя ли для чайников поподробнее, где тут разницу искать/видеть?
>
>
>>Если приведенный текст сохраняет порядок как в оргигинале - тогда измените состояние
>>NO на загрузке модулей нетграфа на YES(вторая строка)
>
># egrep -v "(^#|^[ \t]*$)" ng_ipacct.conf|grep ng_ipacct_module
>ng_ipacct_modules_load="YES"
>
>И далее все аналогично.
># ngctl list
>There are 1 total nodes:
> Name: ngctl61776 Type: socket
> ID: 00000013
> Num hooks: 0
>
># ./rc.d/ng_ipacct start
>ngctl: send msg: No such file or directory
>ngctl: line 2: error in file
>./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!less ./rc.d/ng_ipacct
>less ./rc.d/ng_ipacct#!/bin/sh
#
# $FreeBSD: ports/net-mgmt/ng_ipacct/files/ng_ipacct.sh.in,v 1.3 2006/09/03 19:41:45 skv Exp $
## PROVIDE: ng_ipacct
# REQUIRE: LOGIN abi
# BEFORE: securelevel
# KEYWORD: shutdown#
# Define these ng_ipacct_* variables in one of these files:
#
# /etc/rc.conf
# /etc/rc.conf.local
# /etc/rc.conf.d/ng_ipacct
# /usr/local/etc/ng_ipacct.conf
#
# Add the following line to enable `ng_ipacct':
#
#ng_ipacct_enable="YES"
#
# See /usr/local/etc/ng_ipacct.conf for futher reference.. "/etc/rc.subr"
name="ng_ipacct"
rcvar=`set_rcvar`# for debugging purpose you can append flag "-d" to these cmds
# or even use dumb stubs.
ngctl="/usr/sbin/ngctl"
ngctl_batch="/usr/sbin/ngctl -f-"
#ngctl_batch="cat"
ipacctctl="/usr/local/sbin/ipacctctl"
#ipacctctl="echo /usr/local/sbin/ipacctctl"
sed="/usr/bin/sed"extra_commands="checkpoint"
start_cmd="start_cmd"
stop_cmd="stop_cmd"
checkpoint_cmd="checkpoint_cmd"bool2int()
{
eval _value=\$${1}
case $_value in
# "yes", "true", "on", or "1"
[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
eval $1=1
;;
# "no", "false", "off", or "0"
[Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
eval $1=0
;;
*)
echo "\$${1} is not set properly - see rc.conf(5)."
exit 1
;;
esac
}start_cmd()
{
if checkyesno ng_ipacct_modules_load; then
debug "Load kld modules '${ng_ipacct_modules_list}'"
local module
for module in ${ng_ipacct_modules_list}; do
if ! /sbin/kldstat -n ${module} >/dev/null 2>&1; then
if ! /sbin/kldload ${module} >/dev/null; then
warn "can not load kld module ${module}"
fi
fi
done
filocal iface
for iface in ${ng_ipacct_interfaces}; do
debug "start ng_ipacct interface ${iface}"
local dlt threshold verbose saveuid savetime start_scripteval dlt=\$ng_ipacct_${iface}_dlt
if [ -z "$dlt" ]; then
echo " you must define 'ng_ipacct_${iface}_dlt'"
exit 1
fi
eval start_script=\$ng_ipacct_${iface}_start
if [ -z "$start_script" ]; then
echo " you must define 'ng_ipacct_${iface}_start'"
exit 1
fieval threshold=\${ng_ipacct_${iface}_threshold:-"5000"}
eval verbose=\${ng_ipacct_${iface}_verbose:-"yes"}
bool2int verboseeval saveuid=\${ng_ipacct_${iface}_saveuid:-"no"}
bool2int saveuideval savetime=\${ng_ipacct_${iface}_savetime:-"no"}
bool2int savetime${sed} "s!%%iface%%!${iface}!g" <<-EOF | ${ngctl_batch}
$start_script
EOF
if ! ${ngctl} show ${iface}_ip_acct: >/dev/null 2>&1; then
warn "netgraph node '${iface}_ip_acct' did not created!"
else
${ipacctctl} ${iface}_ip_acct:${iface} dlt ${dlt}
${ipacctctl} ${iface}_ip_acct:${iface} threshold ${threshold}
${ipacctctl} ${iface}_ip_acct:${iface} verbose ${verbose}
${ipacctctl} ${iface}_ip_acct:${iface} saveuid ${saveuid}
${ipacctctl} ${iface}_ip_acct:${iface} savetime ${savetime}eval afterstart_script=\$ng_ipacct_${iface}_afterstart_script
if [ -n "${afterstart_script}" ]; then
(set -T
trap 'exit 1' 2
${afterstart_script} ${iface})
fi
fi
done
}checkpoint_cmd()
{
local ifacefor iface in ${ng_ipacct_interfaces}; do
debug "checlpoint ng_ipacct interface ${iface}"
eval checkpoint_script=\$ng_ipacct_${iface}_checkpoint_scriptif [ -n "${checkpoint_script}" ]; then
(set -T
trap 'exit 1' 2
${checkpoint_script})
fi
done
}stop_cmd()
{
local ifacefor iface in ${ng_ipacct_interfaces}; do
debug "stop ng_ipacct interface ${iface}"local stop_script
eval stop_script=\$ng_ipacct_${iface}_stop
eval checkpoint_script=\$ng_ipacct_${iface}_checkpoint_scriptif ${ngctl} show ${iface}_ip_acct: >/dev/null 2>&1; then
if [ -n "${checkpoint_script}" ]; then
(set -T
trap 'exit 1' 2
${checkpoint_script})
fi${sed} "s!%%iface%%!${iface}!g" <<-EOF | ${ngctl_batch}
$stop_script
EOFif ${ngctl} show ${iface}_ip_acct: >/dev/null 2>&1; then
warn "netgraph node '${iface}_ip_acct' did not destroyed!"
fi
fi
doneif checkyesno ng_ipacct_modules_load; then
debug "Unload kld module 'ng_ipacct'"
local module
for module in ng_ipacct; do
if /sbin/kldstat -n ${module} >/dev/null 2>&1; then
/sbin/kldunload ${module}
fi
done
fi
}# read settings, set default values
if [ -f /usr/local/etc/${name}.conf ]; then
debug "Sourcing /usr/local/etc/${name}.conf"
. /usr/local/etc/${name}.conf
fiload_rc_config $name
: ${ng_ipacct_enable="NO"}
: ${ng_ipacct_flags=""}run_rc_command "$1"
Хм.. интересный глюк.
попробуйте в строке
. "/etc/rc.subr"убрать кавычки. А дальше уже полный танец с бубном начнется. Ибо вторая строка у вас - чистый коментарий.
>Хм.. интересный глюк.
>попробуйте в строке
>. "/etc/rc.subr"
>убрать кавычки.Ни к чему положительному это не привело.
>>>При запуске ругается:
>>># ./rc.d/ng_ipacct start
>>>ngctl: send msg: File exists
>>>ngctl: line 2: error in file
>>>./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!
>>>
>>>Где искать решение проблемы?
>>>
>>>Сегодня попробовал собрать ядро с модулями, ошибка не изменилась.
>>
>>
>>ngctl list
>>в студиюпокажите kldstat -v | grep ng_
>покажите kldstat -v | grep ng_# kldstat -v | grep ng_
2 1 0xc24be000 4000 ng_socket.ko
207 ng_socket
4 1 0xc24d7000 3000 ng_tee.ko
208 ng_tee
>>покажите kldstat -v | grep ng_
>
># kldstat -v | grep ng_
> 2 1 0xc24be000 4000
>ng_socket.ko
>
> 207 ng_socket
> 4 1 0xc24d7000 3000
>ng_tee.ko
>
> 208 ng_teeА где ng_ether?
>А где ng_ether?Сам то модуль есть, но почему он не загружается - я не знаю.
# ls -l /boot/kernel/ng_ether.ko
-r-xr-xr-x 1 root wheel 12783 28 фев 23:40 /boot/kernel/ng_ether.ko*Подгрузил модуль.
# kldstat -v | grep ng_
2 1 0xc24be000 4000 ng_socket.ko
207 ng_socket
4 1 0xc24d7000 3000 ng_tee.ko
208 ng_tee
6 1 0xc3329000 4000 ng_ether.ko
210 ng_etherОшибка та же.
В конфиге ng_ipacct.conf у меня строка закомментирована.
#ng_ipacct_modules_list="netgraph ng_ether ng_ipacct"Раскомментил, но в ответ получил:
# ./rc.d/ng_ipacct start
kldload: can't load ng_ipacct: No such file or directory
./rc.d/ng_ipacct: WARNING: can not load kld module ng_ipacct
ngctl: send msg: File exists
ngctl: line 2: error in file
./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!В /boot/kernel/ модуля такого нет.
>В /boot/kernel/ модуля такого нет.Модуль пересобрал:
# ls -l /boot/kernel/ng_ipacct.ko
-r-xr-xr-x 1 root wheel 12553 5 мар 18:02 /boot/kernel/ng_ipacct.ko*ng_ipacct_enable="YES"
ng_ipacct_modules_load="YES"
ng_ipacct_modules_list="netgraph ng_ether ng_ipacct"# ./rc.d/ng_ipacct start
ngctl: send msg: File exists
ngctl: line 2: error in file
./rc.d/ng_ipacct: WARNING: netgraph node 'fxp0_ip_acct' did not created!# kldstat -v | grep ng_
2 1 0xc24be000 4000 ng_socket.ko
207 ng_socket
4 1 0xc24d7000 3000 ng_tee.ko
208 ng_tee
6 1 0xc3329000 4000 ng_ether.ko
210 ng_ether
7 1 0xc3696000 4000 ng_ipacct.ko
212 ng_ipacctМожет перезагрузить машину надо?
>Может перезагрузить машину надо?Почитайте
http://cvsup.pt.freebsd.org/cgi-bin/cvsweb/cvsweb.cgi/root/p...
http://www.nnseek.com/e/fido7.ru.unix.bsd/ng_ipacct_11256888...Советую пересобрать мир до 6.2-stable с добавлением в ядро ng_bpf.
>>Может перезагрузить машину надо?
>
>Почитайте
>http://cvsup.pt.freebsd.org/cgi-bin/cvsweb/cvsweb.cgi/root/p...
>http://www.nnseek.com/e/fido7.ru.unix.bsd/ng_ipacct_11256888...
>
>Советую пересобрать мир до 6.2-stable с добавлением в ядро ng_bpf.Хорошо, о результатах сообщу.
Может заодно изчезнет проблема с mount_smbfs.
$ uname -v
FreeBSD 6.2-RELEASE-p2 #0Все работает.