The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
/dev/log в jail, !*! afelino, 07-Май-12, 12:19  [смотреть все]
На машине установлена  FreeBSD 9, вне jailов стоит syslogd, в разных jail крутится named, tomcat, mysql. Хочу сделать так, чтобы named из jail писал в syslog вне jail. Но пока не получается.

Рут jail c named стоит в /usr/jails/named. Соответственно syslogd открывает дополнительный сокет в /usr/jails/named/var/run/log. Но в лог ничего не падает. Команда logger в jail работает, но с нее тоже ничего в лог не падает (вне jail logger работает нормально), и ошибок никаких не падает.

Полазил в интернете, это навело меня на мысль, что в 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

Что не так делаю? Что почитать?

  • /dev/log в jail, !*! wiseman, 18:22 , 07-Май-12 (1)

    > Полазил в интернете, это навело меня на мысль, что в jail должен
    > быть свой /dev/log. Но его создать не получается.

    Все верно, только создаете неправильно.
    Надо смонтировать devfs внутри ждайла


    • /dev/log в jail, !*! afelino, 19:08 , 07-Май-12 (2)
      >> Полазил в интернете, это навело меня на мысль, что в jail должен
      >> быть свой /dev/log. Но его создать не получается.
      > Все верно, только создаете неправильно.
      > Надо смонтировать devfs внутри ждайла

      /usr/jails/named/dev/ - это внутри джейла. Я монтирую его штатными средствами, скриптом /etc/rc.d/jail

      Изнутри же Джейла линк создавать не получается, там таких прав нет, чтобы /dev модифицировать.

  • /dev/log в jail, !*! lavr, 13:44 , 09-Май-12 (3)
    >[оверквотинг удален]
    > Полазил в интернете, это навело меня на мысль, что в 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 для виртуальных машин

    Вроде бы все

    • /dev/log в jail, !*! afelino, 17:58 , 17-Май-12 (4)
      Такой большой пост. А где ответ на мой вопрос.
      У меня jail работает, сислог тоже, даже с опцией, только в него не пишется ничего из jail.


      • /dev/log в jail, !*! lavr, 19:49 , 17-Май-12 (5)
        > Такой большой пост. А где ответ на мой вопрос.
        > У меня jail работает, сислог тоже, даже с опцией, только в него
        > не пишется ничего из jail.

        перечитывайте снова до наступления просветления

        • /dev/log в jail, !*! afelino, 21:11 , 17-Май-12 (6)
          >> Такой большой пост. А где ответ на мой вопрос.
          >> У меня jail работает, сислог тоже, даже с опцией, только в него
          >> не пишется ничего из jail.
          > перечитывайте снова до наступления просветления

          Ладно, а что я не сделал по-твоему из того, что ты написал?

          Ты сам делал хоть раз такую схему, как я описал? Или теоретически отвечаешь?

          • /dev/log в jail, !*! lavr, 22:06 , 17-Май-12 (7)
            >>> Такой большой пост. А где ответ на мой вопрос.
            >>> У меня jail работает, сислог тоже, даже с опцией, только в него
            >>> не пишется ничего из jail.
            >> перечитывайте снова до наступления просветления
            > Ладно, а что я не сделал по-твоему из того, что ты написал?

            мы знакомы или пили на брудершафт?

            вы все поняли о чем было написано?
            какой документацией вы пользовались для установки и настройки jail?

            > Ты сам делал хоть раз такую схему, как я описал? Или теоретически
            > отвечаешь?

            если бы перечитали, поняли бы.

            • /dev/log в jail, !*! afelino, 10:07 , 18-Май-12 (8)
              >>>> Такой большой пост. А где ответ на мой вопрос.
              >>>> У меня jail работает, сислог тоже, даже с опцией, только в него
              >>>> не пишется ничего из jail.
              >>> перечитывайте снова до наступления просветления
              >> Ладно, а что я не сделал по-твоему из того, что ты написал?
              > мы знакомы или пили на брудершафт?
              > вы все поняли о чем было написано?
              > какой документацией вы пользовались для установки и настройки jail?

              Маны я читать умею, и комменты к конфиг файлам тоже.

              >> Ты сам делал хоть раз такую схему, как я описал? Или теоретически
              >> отвечаешь?
              > если бы перечитали, поняли бы.

              Опять, я задаю 2 вопроса, и не получаю на них ответ. А понтов-то сколько. Если не разу не далал, так и скажи, что чисто теоретически отвечаешь.

              • /dev/log в jail, !*! lavr, 10:42 , 18-Май-12 (9)
                >[оверквотинг удален]
                >> мы знакомы или пили на брудершафт?
                >> вы все поняли о чем было написано?
                >> какой документацией вы пользовались для установки и настройки jail?
                > Маны я читать умею, и комменты к конфиг файлам тоже.
                >>> Ты сам делал хоть раз такую схему, как я описал? Или теоретически
                >>> отвечаешь?
                >> если бы перечитали, поняли бы.
                > Опять, я задаю 2 вопроса, и не получаю на них ответ. А
                > понтов-то сколько. Если не разу не далал, так и скажи, что
                > чисто теоретически отвечаешь.

                вы выступаете как воинствующий незнайка, понты оставьте себе и читайте до просветления,
                вам даны ЧЕТКИЕ наводки, как по named в jail, так и по syslog:

                named в jail:
                - либо без chroot
                - если с chroot - дополнительные ruleset для mount /dev в /var/named/dev унутри jail

                syslogd:

                - в host машине syslogd с опцией -l на unix-socket в jail машинах

                вариант отличный от традиционного jail: jail + vnet (vimage ядро)
                вариант: headless virtualbox

                когда поймете что традиционный jail не имеет собственного tcp/ip стека и не работает
                с raw socket, все заработает

                • /dev/log в jail, !*! lavr, 11:08 , 18-Май-12 (10)
                  > вам даны ЧЕТКИЕ наводки, как по named в jail, так и по
                  > syslog:
                  > named в jail:
                  > - если с chroot - дополнительные ruleset для mount /dev в /var/named/dev
                  > унутри jail

                  во внутрь, те дополнительный mount_nullfs на хосте в jailvm:/var/named/dev
                  с дополнительными ruleset'ами, а то ведь не поймете...

                • /dev/log в jail, !*! afelino, 13:25 , 18-Май-12 (11)
                  > вам даны ЧЕТКИЕ наводки, как по named в jail, так и по
                  > syslog:
                  > named в jail:
                  > - либо без chroot
                  > - если с chroot - дополнительные ruleset для mount /dev в /var/named/dev
                  > унутри jail

                  Я в своем посте пишу, что использую logger, чтобы в лог писать из тюрьмы, поэтому чрут тут не при чем. Ну и чрут я там не использую.

                  > syslogd:
                  > - в host машине syslogd с опцией -l на unix-socket в jail
                  > машинах

                  О том, что syslogd открывает дополнительный сокет, я тоже писал.

                  > вариант отличный от традиционного jail: jail + vnet (vimage ядро)
                  > вариант: headless virtualbox

                  Виртуалбокс - это совсем не то, что нужно. про vimage я ничего не слышал, как это может помочь с моими логами.

                  > когда поймете что традиционный jail не имеет собственного tcp/ip стека и не
                  > работает
                  > с raw socket, все заработает

                  Это-то тут причем? Я с UNIX сокетами пытаюсь работать. И судя по тому, что я в интернете нахожу, схема в принципе такая может быть.

                  • /dev/log в jail, !*! LSTemp, 09:28 , 20-Май-12 (12)
                    >[оверквотинг удален]
                    >> вариант отличный от традиционного jail: jail + vnet (vimage ядро)
                    >> вариант: headless virtualbox
                    > Виртуалбокс - это совсем не то, что нужно. про vimage я ничего
                    > не слышал, как это может помочь с моими логами.
                    >> когда поймете что традиционный jail не имеет собственного tcp/ip стека и не
                    >> работает
                    >> с raw socket, все заработает
                    > Это-то тут причем? Я с UNIX сокетами пытаюсь работать. И судя по
                    > тому, что я в интернете нахожу, схема в принципе такая может
                    > быть.

                    Клинический случай....
                    1) Надо в "тюрьме" создать устройство, куда софт логи писать будет
                    2) Надо сислогу (который не в "тюрьме") сказать откуда эту писанину читать (да - как ни странно - именно с того устройства в "тюрьме". забавно - правда? и совсем не сложно)
                    3) http://natribu.org/

                    • /dev/log в jail, !*! afelino, 22:29 , 22-Май-12 (13)
                      > Клинический случай....

                      Да уж действительно!

                      > 1) Надо в "тюрьме" создать устройство, куда софт логи писать будет

                      Мы всё ближе и ближе подходим к вопросу, который я задавал в самом первом письме. Вот я там как раз написал, что надо, и спросил, как же это сделать.

                      > 2) Надо сислогу (который не в "тюрьме") сказать откуда эту писанину читать
                      > (да - как ни странно - именно с того устройства в
                      > "тюрьме". забавно - правда? и совсем не сложно)

                      Было бы несложно, я бы не писал. Может еще подскажешь как? Только сначало перечитай мой первый пост, чтобы узнать, что я уже попробовал.


                      • /dev/log в jail, !*! Vorona, 01:35 , 02-Июн-12 (14)
                        >[оверквотинг удален]
                        > Да уж действительно!
                        >> 1) Надо в "тюрьме" создать устройство, куда софт логи писать будет
                        > Мы всё ближе и ближе подходим к вопросу, который я задавал в
                        > самом первом письме. Вот я там как раз написал, что надо,
                        > и спросил, как же это сделать.
                        >> 2) Надо сислогу (который не в "тюрьме") сказать откуда эту писанину читать
                        >> (да - как ни странно - именно с того устройства в
                        >> "тюрьме". забавно - правда? и совсем не сложно)
                        > Было бы несложно, я бы не писал. Может еще подскажешь как? Только
                        > сначало перечитай мой первый пост, чтобы узнать, что я уже попробовал.

                        В конфиге сислога создай еще один src - в пути укажи путь до устройства log песочницы (которое ты хочешь создать). Перезапускаешь сислог и удивляешься магии - он появляется сам! =)

                        P.S. Можешь даже прописать еще один путь в уже имеющемся src

                        • /dev/log в jail, !*! afelino, 16:09 , 05-Июн-12 (15)

                          > В конфиге сислога создай еще один src - в пути укажи путь
                          > до устройства log песочницы (которое ты хочешь создать). Перезапускаешь сислог и
                          > удивляешься магии - он появляется сам! =)

                          Вот весь интернет в таких советах, а syslog на самом деле не может создать сокет в /dev/log. Потому что в /dev вообще нельзя произвольные файлы создавать. Или я что-то не так делаю?

                          Чуть попозже попробую, чтобы написать сюда, что syslog пишет мне.

                          > P.S. Можешь даже прописать еще один путь в уже имеющемся src

                        • /dev/log в jail, !*! Vorona, 16:14 , 05-Июн-12 (16)
                          >> В конфиге сислога создай еще один src - в пути укажи путь
                          >> до устройства log песочницы (которое ты хочешь создать). Перезапускаешь сислог и
                          >> удивляешься магии - он появляется сам! =)
                          > Вот весь интернет в таких советах, а syslog на самом деле не
                          > может создать сокет в /dev/log. Потому что в /dev вообще нельзя
                          > произвольные файлы создавать. Или я что-то не так делаю?
                          > Чуть попозже попробую, чтобы написать сюда, что syslog пишет мне.
                          >> P.S. Можешь даже прописать еще один путь в уже имеющемся src

                          Конфиг сислога и то, что тебе сислог пишет в студию!

                        • /dev/log в jail, !*! afelino, 16:45 , 05-Июн-12 (18)
                          > Конфиг сислога и то, что тебе сислог пишет в студию!

                          Облазил все логи, проверил консоль. Нигде ничего не пишет, но и сокет не создает.

                        • /dev/log в jail, !*! afelino, 16:36 , 05-Июн-12 (17)
                          >> В конфиге сислога создай еще один src - в пути укажи путь
                          >> до устройства log песочницы (которое ты хочешь создать). Перезапускаешь сислог и
                          >> удивляешься магии - он появляется сам! =)
                          > Вот весь интернет в таких советах, а syslog на самом деле не
                          > может создать сокет в /dev/log. Потому что в /dev вообще нельзя
                          > произвольные файлы создавать. Или я что-то не так делаю?
                          > Чуть попозже попробую, чтобы написать сюда, что syslog пишет мне.
                          >> P.S. Можешь даже прописать еще один путь в уже имеющемся src

                          Вне jaila в rc.conf прописано:
                          syslogd_flags="-C -ss -l /usr/jails/named/dev/log -l /var/jails/named/run/log ..."
                          Второй сокет создается без проблем. А вот первый не создается. :(

                        • /dev/log в jail, !*! Vorona, 16:54 , 05-Июн-12 (19)
                          >[оверквотинг удален]
                          >>> до устройства log песочницы (которое ты хочешь создать). Перезапускаешь сислог и
                          >>> удивляешься магии - он появляется сам! =)
                          >> Вот весь интернет в таких советах, а syslog на самом деле не
                          >> может создать сокет в /dev/log. Потому что в /dev вообще нельзя
                          >> произвольные файлы создавать. Или я что-то не так делаю?
                          >> Чуть попозже попробую, чтобы написать сюда, что syslog пишет мне.
                          >>> P.S. Можешь даже прописать еще один путь в уже имеющемся src
                          > Вне jaila в rc.conf прописано:
                          > syslogd_flags="-C -ss -l /usr/jails/named/dev/log -l /var/jails/named/run/log ..."
                          > Второй сокет создается без проблем. А вот первый не создается. :(

                          О, до меня дошло: Речь идёт о фре =)
                          Короче, можно и на фрю поставить syslog-ng из портов - а он-то как раз попадает под мой совет выше




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру