>[оверквотинг удален]
> Полазил в интернете, это навело меня на мысль, что в jail должен
> быть свой /dev/log. Но его создать не получается.
>>ls -fs /var/run/log /usr/jails/named/dev/log
> ln: /usr/jails/named/dev/log: File Exists
>>rm /usr/jails/named/dev/log
> rm: /usr/jails/named/dev/log: No such file or directory
>>devfs -m /usr/jails/named/dev/ rule add path log unhide
>>ls /usr/jails/named/dev/
> fd null random stderr stdin stdout urandom zero
> Что не так делаю? Что почитать?читать:
# man jail
# man syslogd
1) если у вас обычный jail без vnet, то вы используете интерфейсы хоста
2) обычно на host машине syslogd запускается с опцией -ss
-s - не логгировать с удаленных машин
-ss - не логгировать с удаленных + без сетевых сокетов
3) в jail машинах исходя из верхнего, разумеется без syslogd
4) /dev будет монтироваться внутрь jail/dev если задано в настройках jail-машины:
# grep jail /etc/defaults/rc.conf:
#jail_example_devfs_enable="NO" # mount devfs in the jail
#jail_example_devfs_ruleset="ruleset_name" # devfs ruleset to apply to jail -
# usually you want "devfsrules_jail".
перевод и комментарий, надеюсь не нужен - выше, это devfs для системы,
теперь вспоминаем про запуск bind9(named) во FreeBSD:
5) запуск системного named в FreeBSD:
# grep named /etc/defaults/rc.conf (нас интересуют только нижние)
...
named_uid="bind" # User to run named as
named_chrootdir="/var/named" # Chroot directory (or "" not to auto-chroot it)
...
если у нас переменная named_chrootdir не пуста, то named будет стартовать в chroot
окружении, для которого необходимо ЕЩЕ создание devfs со специальным набором ruleset'ов
Теперь поразмышляем, у нас для запуска bind(named) уже есть jail-машина, зачем городить
огород и ВНУТРИ jail'а запускать named в окружении chroot?!
Достаточно сделать named_chrootdir="" пустой и named будет стартовать обычным
образом внутри jail, но если вы хотите ВНУТРИ jail, запускать named в CHROOT, то вам
необходимо в host-машине реализовать дополнительно mount_devfs с набором правил(ruleset)
для:
/jails/jail_name_root/var/named/dev
где /jails - месторазмещения jail-vm
/jails/jail_name_root - имя jail-машины где она находится
# man jail
# man 8 devfs
По jail + named - все.
Теперь вернемся к syslogd:
- варианты: биндить в host'е syslogd на конкретный ip и смотреть возможно ли
при этом работать с syslogd в jail'ах?
- запускать syslogd с опцией -l для работы через unix-socket'ы : man syslogd
Варианты которые рещат все ваши проблемы традиционными способами:
1) jail + vnet (vimage kernel)
2) headless virtualbox для виртуальных машин
Вроде бы все