2011-12-27 :-(
_ [pflogd][pf]pflogd: Failed to initialize: pflog0: Invalid argument
% /etc/rc.d/pflogd start Starting pflogd. pflogd: Failed to initialize: pflog0: Invalid argument
む
% tail /var/log/messages Dec 27 19:47:50 mogu pflogd: Failed to initialize: pflog0 Dec 27 19:47:50 mogu pflogd: Exiting, init failure
はて
ググってもあまりヒットしないのでコード読んでみた。
CVS log for src/dist/pf/sbin/pflogd/pflogd.h
#define PFLOGD_DEFAULT_IF "pflog0"
CVS log for src/dist/pf/sbin/pflogd/pflogd.c
const char *interface = PFLOGD_DEFAULT_IF;
while ((ch = getopt(argc, argv, "Dxd:f:i:p:s:")) != -1) {
switch (ch) {
case 'D':
Debug = 1;
break;
case 'd':
delay = strtonum(optarg, 5, 60*60, &errstr);
if (errstr)
usage();
break;
case 'f':
filename = optarg;
break;
case 'i':
interface = optarg;
break;
:
/* does interface exist */
if (!if_exists(interface)) {
warn("Failed to initialize: %s", interface);
logmsg(LOG_ERR, "Failed to initialize: %s", interface);
logmsg(LOG_ERR, "Exiting, init failure");
exit(1);
}
CVS log for src/etc/rc.d/pflogd
if ! ifconfig pflog0 >/dev/null 2>&1; then
ifconfig pflog0 create
fi
つまり "pflog0" が存在していないと。
Use ifconfig(8) to create pflog(4) interfaces. The default log interface pflog0 is created automatically.
自動で作成される...だと...?
はて
Create a pflog interface and monitor all packets logged on it:
# ifconfig pflog1 up
# tcpdump -n -e -ttt -i pflog1
ふむ....
% ifconfig pflog0 up
% ifconfig -a
pcn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
address: 00:0c:29:67:4e:fb
media: Ethernet autoselect
inet 192.168.0.23 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::20c:29ff:fe67:4efb%pcn0 prefixlen 64 scopeid 0x1
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33192
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
pflog0: flags=41<UP,RUNNING> mtu 33192
% /etc/rc.d/pflogd start Starting pflogd. pflogd: Failed to initialize: pflog0: Invalid argument
ぐぬぬ
[ツッコミを入れる]



