Есть система Линукс в которой контейнер LXC . В контейнере свои правила брандмауэра NFTables. Понадобилось мне из NFTables посылать сообщения в лог. Команда типа такой:
tcp dport 22 ct state new log prefix "nftables ssh" drop
Где меня ждал облом. В логах этих записей не было.
Решение подсказала статья LOG внутри LXC (iptables / netfilter) а в [lxc-users] LXC and netfilter log.объяснялось почему не работает.
1. Ставим пакет
apt-get install ulogd2
2. Меняем правило, добавляем строку "group 0" чтобы выглядело примерно так
tcp dport 22 ct state new log prefix "nftables ssh" group 0 drop
3. После чего смотрим файл
/var/log/ulog/syslogemu.log
Краткое объяснение из второй статьи выглядит так:
Логирование из сетевого пространства имен другого чем init было запрещено начиная с ядра 3.10 для того чтобы защитить основную машину от чрезмерного потока лог-сообщений изнутри контейнера. Снова разрешить логирование можно командой
echo 1 >/proc/sys/net/netfilter/nf_log_all_netns
В оригинале
Logging from network namespaces other than init has been disabled since
kernel 3.10 in order to prevent host kernel log flooding from insidea container.
allow logging from non-init namespaces") backported, you can enable
netfilter logging from other network namespaces by
echo 1 >/proc/sys/net/netfilter/nf_log_all_netns
(the command must be issued from init_net).
Комментариев нет:
Отправить комментарий