LINUX.ORG.RU
ФорумAdmin

NTPD chroot - couldn't resolve `ntp.psn.ru', giving up on it


0

0

Пытаюсь запустить NTP (ntp-4.1.2, так как 4.2.0 вообще в генту на 2.6 ядрах не работает) в chroot окружении.

При запуске 
/usr/bin/ntpd -T /chroot/ntpd -p /var/run/ntpd.pid -U ntp -d

он в логе ругается, так как не может срезолвить хосты.
Какие файлы/библиотеки еще надо в chroot ему положить?


13 May 21:11:29 ntpd[10452]: getnetnum: "ntp.psn.ru" invalid host number, line ignored
13 May 21:11:29 ntpd[10452]: running as uid(123)/gid(123) euid(123)/egid(123).
13 May 21:11:31 ntpd[10453]: couldn't resolve `ntp.psn.ru', giving up on it

в консоль выдает (в дебаг режиме) следующее:

ntpd 4.1.2@1.892 Thu May 13 23:48:44 MSD 2004 (1)
create_sockets(123)
interface <lo> OK
interface <eth0> OK
bind() fd 4, family 2, port 123, addr 0.0.0.0, flags=1
bind() fd 5, family 2, port 123, addr 127.0.0.1, flags=0
bind() fd 6, family 2, port 123, addr 1.2.3.4, flags=1
init_io: maxactivefd 7
resolving ntp.psn.ru
report_event: system event 'event_restart' (0x01) status 'sync_alarm, sync_unspec, 1 event, event_un
spec' (0xc010)



Создал
/chroot/ntpd/:
drwxr-xr-x  2 root root 4096 May 13 22:41 dev
drwxr-xr-x  2 root root 4096 May 14 01:11 etc
drwxrwxrwt  2 root root 4096 May 14 01:11 tmp
drwxr-xr-x  5 root root 4096 May 13 19:36 var

/chroot/ntpd/dev:
srw-rw-rw-  1 root root    0 May 13 22:41 log
crw-r--r--  1 root root 1, 3 May 13 19:32 null
crw-r--r--  1 root root 1, 8 May 13 19:32 random

/chroot/ntpd/etc:
-rw-r--r--  1 root root  687 May 14 00:59 group
-rw-r--r--  1 root root 1945 May 13 23:26 ntp.conf
-rw-r--r--  1 root root 1561 May 14 01:00 passwd
-rw-r--r--  1 root root   21 May 14 01:11 resolv.conf

/chroot/ntpd/tmp (ему tmp требуется для каких то временных файлов)

/chroot/ntpd/var:
drwxr-xr-x  3 root root 4096 May 13 19:27 lib
drwxr-xr-x  3 ntp  ntp  4096 May 14 00:49 log
drwxr-xr-x  2 ntp  ntp  4096 May 14 00:54 run

anonymous

Ответ на: комментарий от ansky

/chroot/ntpd/etc/resolv.conf файл есть, там прописан 127.0.0.1 (локальный DNS), который работает и отвечает на запросы.

Но это не помогает.

anonymous
()

Может ты либы нужные забыл положить? ldd /usr/bin/ntpd

anonymous
()

> он в логе ругается, так как не может срезолвить хосты.
> Какие файлы/библиотеки еще надо в chroot ему положить?
Во-первых, надо сделать "ldd /usr/bin/ntpd", посмотреть от каких библиотек он зависит, во-вторых, надо сделать ldd для всех этих библиотек и посмотреть от кого зависят они и т.д., потом нужно делать "strace /usr/bin/ntpd" и посмотреть какие файлы он пытается open().
В итоге скопировать все необходимые файлы и библиотеки в каталог /chroot/ntpd с соответствующими путями относительно этого каталога.
Но это не все, после этого все еще могут быть глюки. Когда загонял mysql в chroot (захотелось мне), сделал все выше перечисленное, но ему оказалось еще необходимо иметь /lib/libnss_dns*.so, /lib/libnss_files*.so. После этого все завелось.

P.S. http://www.sunworld.com/swol-01-1999/swol-01-security.html

spirit ★★★★★
()
Ответ на: комментарий от spirit

Свершилось чудо - заработало ;-)

Спасиб огромный, strace + ldd всего помогло найти все нужные файлы.

А вот линка http://www.sunworld.com/swol-01-1999/swol-01-security.html
не существует - редиректит на сайт open.itworld.com, но там по поиску 
"Creating a basic padded cell" ничего не находится.
Для будущих изыскателей - копия статьи (очень полезной!!) лежит тут
http://www.theadamsfamily.net/~erek/snort/cell/


p.s. для тех, кому тоже надо будет загнать ntpd в chroot
ntp-4.1.2
он потребовал
/chroot/ntp
dev
etc
lib
tmp
usr
var

/chroot/ntpd/dev:
log  null  random urandom

/chroot/ntpd/etc:
group  hosts  ld.so.cache  ld.so.conf  localtime  nsswitch.conf  ntp.conf  passwd  resolv.conf

/chroot/ntpd/lib:
ld-2.3.3.so    libm.so.6               libnss_dns-2.3.3.so    libnss_nis.so.2     libresolv.so.2
ld-linux.so.2  libnsl-2.3.3.so         libnss_dns.so.2        libreadline.so
libc-2.3.3.so  libnsl.so.1             libnss_files-2.3.3.so  libreadline.so.4
libc.so.6      libnss_compat-2.3.3.so  libnss_files.so.2      libreadline.so.4.3
libm-2.3.3.so  libnss_compat.so.2      libnss_nis-2.3.3.so    libresolv-2.3.3.so

/chroot/ntpd/tmp:

/chroot/ntpd/usr:
lib

/chroot/ntpd/usr/lib:
libelf.so  libelf.so.0  libelf.so.0.8.4

/chroot/ntpd/var:
lib  log  run

/chroot/ntpd/var/lib:
ntp

/chroot/ntpd/var/lib/ntp:
ntp.drift

/chroot/ntpd/var/log:
ntp

/chroot/ntpd/var/log/ntp:
ntpd.log

/chroot/ntpd/var/run:
ntpd.pid

ld.so.cache (а он вообще там нужен? ntpd к нему обращается),
генерим как ldconfig -r /chroot/ntpd  -v

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.