[+] uruchomienie i konfiguracja - bind9

Konfiguracja serwerów, usług, itp.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

No to namieszałeś. I to ostro. Jeśli faktycznie korzystasz z chroot, to to co dla Ciebie jest /var/lib/named, dla binda jest /, innymi słowy spodziewa się tam zastać takie coś jak /etc /bin itp.
Przeczytaj jeszcze raz post napisany przez markossx i postaraj się go zrozumieć.
dino
Posty: 12
Rejestracja: 15 sierpnia 2008, 20:56

Post autor: dino »

Czyli ten opis instalacji co go podałem w pierwszym poście jest niepoprawny?
Gdzie mogę znaleźć prawidłową instalację bind9 tak żeby działało?
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Ech... Opis jest dobry, ale podejmując pewne kroki musisz ponieść ich konsekwencje. Jeśli inwestujesz w bezpieczeństwo to chrootujesz i bawisz się z konfiguracją.

Popatrz:
faq pisze:Następnie tworzymy katalogi dla BINDA:

Kod: Zaznacz cały

mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run 
Gościu dobrze napisał. Jeśli przejdziesz cały ten opis do końca, to wtedy musi zadziałać.
dino
Posty: 12
Rejestracja: 15 sierpnia 2008, 20:56

Post autor: dino »

Zainstalowałem jeszcze raz. Zrobiłem dokładnie tak jak w opisie linijka w linijkę i nadal mam ten sam błąd co go opisałem w pierwszym poście.
Widocznie w opisie nie ma czegoś napisanego co jest kluczowe żeby ten bind działał. Może jest to zbyt oczywiste dla was wszystkich, ale dla mnie jest to nie do wymyślenia. Ja jestem z tego naprawdę zielony.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Całkiem możliwe, że jest tak jak piszesz.
Ale ja mam pomysł:

Kod: Zaznacz cały

stacjonarny:~# /etc/init.d/bind9 stop
Edytujemy plik /etc/default/bind9. Powinien mieć on taką postać:

Kod: Zaznacz cały

OPTIONS="-u bind -t /var/lib/named"
RESOLVCONF=yes
Następnie tworzymy katalogi dla BINDA:

Kod: Zaznacz cały

mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
Tworzymy urządzenia null i random oraz poprawiamy uprawnienia:

Kod: Zaznacz cały

mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
Ostatnią rzeczą będzie zmodyfikowanie pliku /etc/dafault/syslogd. Jego zawartość powinna być następująca:

Kod: Zaznacz cały

SYSLOGD="-a /var/lib/named/dev/log"
Odpal konsolę, wykonuj krok po kroku to co przytoczyłem wraz z opisami tego co robisz i ewentualnymi tekstami z konsoli. Tak, to jest droga przez mękę. Ale damy radę.

Jak to sobie wyobrażam np. tak:

edytuję plik /etc/default/bind9 i wrzucam do niego to, co napisał autor:

Kod: Zaznacz cały

lis6502@Nexus:~$ sudo nano /etc/default/bind9
Dowód:

Kod: Zaznacz cały

lis6502@Nexus:~$ cat /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
RESOLVCONF=yes
dino
Posty: 12
Rejestracja: 15 sierpnia 2008, 20:56

Post autor: dino »

dino:~# /etc/init.d/bind9 stop
Stopping domain name service...: bindrndc: connect failed: 127.0.0.1#953: connection refused
failed!
dino:~# sudo nano /etc/default/bind9
dino:~# cat /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes
dino:~# mkdir -p /var/lib/named/etc
dino:~# mkdir /var/lib/named/dev
mkdir: nie można utworzyć katalogu `/var/lib/named/dev': Plik istnieje
dino:~# mkdir -p /var/lib/named/var/cache/bind
dino:~# mkdir -p /var/lib/named/var/run/bind/run
dino:~# mknod /var/lib/named/dev/null c 1 3
mknod: `/var/lib/named/dev/null': Plik istnieje
dino:~# mknod /var/lib/named/dev/random c 1 8
mknod: `/var/lib/named/dev/random': Plik istnieje
dino:~# chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
dino:~# chown -R bind:bind /var/lib/named/var/*
dino:~# chown -R bind:bind /var/lib/named/etc/bind
dino:~# sudo nano /etc/default/syslogd
dino:~# cat /etc/default/syslogd
#
# Top configuration file for syslogd
#

#
# Full documentation of possible arguments are found in the manpage
# syslogd(8).
#

#
# For remote UDP logging use SYSLOGD="-r"
#
SYSLOGD="-a /var/lib/named/dev/log"
dino:~# /etc/init.d/bind9 start
Starting domain name service...: bind failed!
dino:~#
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

lis6502@Nexus:~$ su
Hasło:
Nexus:/home/lis6502# apt-get install bind9 bind9-host
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Następujące pakiety zostały zainstalowane automatycznie i nie są już więcej wymagane:
libwine-alsa libisccc0 python-beagle libnet-daemon-perl libbeagle1
libdbi-perl wine-utils openssl-blacklist kbuild libterm-readkey-perl
libtotem-plparser10 libmysqlclient15-dev kiosktool education-tasks
libplrpc-perl sqlrelay xfonts-75dpi librudiments0.31 libmcrypt4
libgnomeprint2.2-data python-soappy libwine libisccfg1 libwine-ldap wine-bin
libwine-gphoto2 ssl-cert libgtksourceview-common libwine-cms libwine-gl
libdaemon0 python-fpconst celestia-common libsqlrelay-0.39 libavahi-core5
dpatch libwine-sane libgnomeprintui2.2-common
Aby je usunąć należy użyć "apt-get autoremove".
Zostaną zainstalowane następujące dodatkowe pakiety:
bind9utils libbind9-40
Sugerowane pakiety:
dnsutils bind9-doc resolvconf ufw
Zostaną zainstalowane następujące NOWE pakiety:
bind9 bind9-host bind9utils libbind9-40
0 aktualizowanych, 4 nowo instalowanych, 0 usuwanych i 13 nieaktualizowanych.
Konieczne pobranie 0B/430kB archiwów.
Po tej operacji zostanie dodatkowo użyte 1315kB miejsca na dysku.
Kontynuować [T/n]? t
Prekonfiguracja pakietów ...
Zaznaczenie poprzednio niezaznaczonego pakietu libbind9-40.
(Odczytywanie bazy danych ... 176906 plików i katalogów obecnie zainstalowanych.)
Rozpakowanie libbind9-40 (z .../libbind9-40_1%3a9.5.0.dfsg.P2-5_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu bind9-host.
Rozpakowanie bind9-host (z .../bind9-host_1%3a9.5.0.dfsg.P2-5_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu bind9utils.
Rozpakowanie bind9utils (z .../bind9utils_1%3a9.5.0.dfsg.P2-5_i386.deb) ...
Zaznaczenie poprzednio niezaznaczonego pakietu bind9.
Rozpakowanie bind9 (z .../bind9_1%3a9.5.0.dfsg.P2-5_i386.deb) ...
Przetwarzanie wyzwalaczy dla man-db...
Konfigurowanie libbind9-40 (1:9.5.0.dfsg.P2-5) ...
Konfigurowanie bind9-host (1:9.5.0.dfsg.P2-5) ...
Konfigurowanie bind9utils (1:9.5.0.dfsg.P2-5) ...
Konfigurowanie bind9 (1:9.5.0.dfsg.P2-5) ...
wrote key file "/etc/bind/rndc.key"
#
Starting domain name service...: bind9.
Nexus:/home/lis6502# /etc/init.d/bind9 stop
Stopping domain name service...: bind9.
Nexus:/home/lis6502# nano /etc/def
default/ defoma/
Nexus:/home/lis6502# nano /etc/default/bind9
Nexus:/home/lis6502# cat /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
RESOLVCONF=yes
Nexus:/home/lis6502# mkdir -p /var/lib/named/etc
Nexus:/home/lis6502# mkdir /var/lib/named/dev
Nexus:/home/lis6502# mkdir -p /var/lib/named/var/caches/bind
Nexus:/home/lis6502# rmdir /var/lib/named/var/caches/bind
Nexus:/home/lis6502# mkdir -p /var/lib/named/var/cache/bind
Nexus:/home/lis6502# mkdir -p /var/lib/named/var/run/bind/run
Nexus:/home/lis6502# mknod /var/lib/named/dev/null c 1 3
Nexus:/home/lis6502# mknod /var/lib/named/dev/random c 1 8
Nexus:/home/lis6502# chmod 666 /var/lib/n
named/ nvidia/
Nexus:/home/lis6502# chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
Nexus:/home/lis6502# chown -R bind:bind /var/lib/named/var/*
Nexus:/home/lis6502# chown -R bind:bind /var/lib/named/etc/bind #tutaj mały problem
chown: nie ma dostępu do `/var/lib/named/etc/bind': Nie ma takiego pliku ani katalogu
Nexus:/home/lis6502# chown -R bind:bind /var/lib/named/var/*
Nexus:/home/lis6502# chown -R bind:bind /var/lib/named/etc/bind
chown: nie ma dostępu do `/var/lib/named/etc/bind': Nie ma takiego pliku ani katalogu
Nexus:/home/lis6502# mkdir /var/lib/named/etc/bind
Nexus:/home/lis6502# chown -R bind:bind /var/lib/named/etc/bind

Nexus:/home/lis6502# nano /etc/default/syslogd
Nexus:/home/lis6502# cat /etc/default/syslogd
SYSLOGD="-a /var/lib/named/dev/log"
Nexus:/home/lis6502# /etc/init.d/sys
sysklogd system-tools-backends
Nexus:/home/lis6502# /etc/init.d/sys
sysklogd system-tools-backends
Nexus:/home/lis6502# /etc/init.d/sysklogd start
Starting system log daemon... failed!
Nexus:/home/lis6502# /etc/init.d/bind9 start
Starting domain name service...: bind9 failed!
Udało mi się odtworzyć błąd. Ale już wiem o co chodziło.
W opisie jest drobny błąd.
faq pisze:Teraz pozostaje jedynie uruchomić ponownie demony:

Kod: Zaznacz cały

/etc/init.d/syslogd restart
/etc/init.d/bind9 start
Nie muszę chyba dodawać, że dobrze jest rzucić okiem na plik /var/log/syslog, żeby sprawdzić czy demony uruchamiają się bez błędów.
Gościu zapomniał mianowicie o tym, że nowy korzeń systemu plików (/), czyli faktycznie /var/lib/named zawiera tylko dwa urządzenia w /dev i żadnej konfiguracji.

Rozwiązanie

Kod: Zaznacz cały

Nexus:/home/lis6502# cp -dpR /etc/bind /var/lib/named/etc/
Nexus:/home/lis6502# cd  /var/lib/named/etc/
Nexus:/var/lib/named/etc# ls
bind
Nexus:/var/lib/named/etc# /etc/init.d/bind9 start
Starting domain name service...: bind9.
Nexus:/var/lib/named/etc#    
Patrzę dalej w FAQ i widzę
Poniżej zamieszczam swój plik /etc/bind/named.conf.options(...)
pamiętaj u Ciebie to będzie /var/lib/named/etc/bind/named.conf.
ważne wszystkie odwołania w plikach muszą wyglądać normalnie, czyli /etc/bind/db.local, ale dla Ciebie jako root'a będzie chodziło o /var/lib/named/etc/bind/db.local.

Mam nadzieję że teraz dasz radę.
dino
Posty: 12
Rejestracja: 15 sierpnia 2008, 20:56

Post autor: dino »

dino:~# cp -dpR /etc/bind /var/lib/named/etc/
dino:~# cd /var/lib/named/etc/
dino:/var/lib/named/etc# ls
bind
dino:/var/lib/named/etc# /etc/init.d/bind9 start
Starting domain name service...: bind.
dino:/var/lib/named/etc#
Dzięki za pomoc i cierpliwość, jesteś wielki :)
PiSi
Posty: 14
Rejestracja: 09 maja 2007, 08:55

Post autor: PiSi »

Witam.
Ja także próbuję skonfigurować binda ale napotykam pewien problem.
Otóż dochodzę do momentu kiedy trzeba edytować plik etc/dafault/syslogd. No i właśnie, ja nie mam takiego pliku? /etc/init.d/syslogd też nie mam? Co tym wypadku muszę zrobić? Pracuję na Debianie 5.0 64bitowym.

-------------EDIT

Dodam jeszcze, że poprzednio próbowałem skonfigurować binda z tej instrukcji - http://www.debian.one.pl/index.php?url=12

po nieudanej próbie zrobiłem:
aptitude remove bind9
usunąłem katalogi binda
aptitude purge bind - po tym poleceniu usunęło jeszcze jakiś plik binda...

czy tymi działaniami mogłem sobie nieświadomie usunąć pliki syslogd?

Czy nikt nie wie co mam teraz zrobić? Trzeba coś doinstalować, czy stworzyć te pliki?
ODPOWIEDZ