środa, 20 marca 2013

Samba4 jako podstawowy kontroler domeny Active Directory w systemie Debian 6.0.6
Cz. IV - instalacja i konfiguracja serwera

  • Instalacja serwera DNS bind9

Pakiety bind9 są dostępne w repozytoriach, jednak nie sprawdzają się one we współpracy z kontrolerem domeny samba4. Trzeba więc zainstalować serwer poprzez pobranie odpowiedniej paczki. Wykonujemy kolejno następujące polecenia:

# wget ftp://ftp.isc.org/isc/bind9/9.8.1-P1/bind-9.8.1-P1.tar.gz ← pobieramy paczkę (wersja 9.8.1 jest najlepiej opisana we współpracy z sambą4)
# tar -zxvf bind-9.8.1-P1.tar.gz ← rozpakowujemy archiwum
# cd bind-9.8.1-P1 ← wchodzimy do katalogu

Dokonujemy instalacji:

# ./configure --with-gssapi=/usr/include/gssapi  --with-dlopen=yes
# make
# make install

Wychodzimy z katalogu:

# cd ..

  • Instalacja pakietu samba4

Instalacji serwera dokonamy przez pobranie najnowszej paczki z serwera ftp samby (dokładnie w dniu powstania pierwszej wersji artykułu została wydana wersja stabilna 4.0.4).

# wget http://ftp.samba.org/pub/samba/samba-4.0.4.tar.gz
# tar –zxvf samba-4.0.4.tar.gz
# cd samba-4.0.4

# ./configure --enable-selftest
# make
# make install 


  • Promowanie kontrolera domeny (provisioning)

Jest to najważniejszy punkt programu. W tym miejscu potwierdzamy nazwę domeny, nazwę, po której będzie znajdowana w sieci, hasło administratora domeny oraz rolę serwera.

# /usr/local/samba/bin/samba-tool domain provision --realm=domena.local --domain=DOMENA --adminpass T@jn3_hasl0 --server-role=dc --dns-backend=BIND9_DLZ

Jeśli wszystkie kroki wykonaliśmy poprawnie, naszym oczom powinien ukazać się poniższy (lub bardzo podobny) widok:
 

  • Podstawowa konfiguracja serwera DNS bind9 do współpracy z kontrolerem domeny

Serwer DNS jest już zainstalowany jednak jeszcze nie jest skonfigurowany. W skrócie wygląda to tak, że do instalacji samby potrzebny jest zainstalowany bind a do konfiguracji binda jest potrzebna zainstalowana samba.

a.     Utworzenie klucza potrzebnego do pracy serwera DNS:

# rndc-confgen -a -r /dev/urandom

Powinniśmy otrzymać komunikat zwrotny wrote key file “/etc/rndc.key”

b.    Utworzenie i edycja pliku konfiguracyjnego wg wzoru:

mcedit /etc/named.conf 
 
Trzeba zwrócić uwagę na linijkę forwarders. Po uruchomieniu serwera będą rozpoznawane nazwy komputerów w domenie. W razie problemów z rozpoznawaniem innych nazw (np. adresów internetowych) w nawiasach klamrowych wpisujemy adresy IP pozostałych serwerów DNS, do których mamy dostęp. Mogą to być adresy dostarczone przez naszego dostawcę Internetu.

Poprawność powyższego pliku sprawdzamy poleceniem # /usr/local/sbin/named-checkconf
Jeśli nic się nie wyświetli to znaczy, że jest dobrze :)

c.     Edycja pliku /etc/resolv.conf

Zawartość pliku możemy podejrzeć poleceniem # cat /etc/resolv.conf
 
W tym momencie plik zawiera adres serwera DNS ustawiony automatycznie przez bramę (router). Ten sam adres powinien znaleźć się w linijce forwarders pliku /etc/named.conf.
Zapis ten zmieniamy, gdyż chcemy, aby głównym serwerem DNS był serwer, na którym pracujemy. Dodatkowo w pliku powinien znaleźć się wpis informujący serwer, że w pierwszej kolejności powinien szukać nazw w domenie:
 
Plik edytujemy poleceniem # mcedit /etc/resolv.conf
Po tej zmianie przestanie działać pingowanie adresów internetowych.

  • Konfiguracja protokołu Kerberos

Jest to ostatni krok przed odpaleniem domeny, jej kontrolera i serwera DNS. Kerberos jest już zainstalowany, jednak wymaga konfiguracji. Należy wyedytować plik /etc/krb5.conf i umieścić w nim następującą treść (tylko tyle wystarczy aby wszystko poprawnie działało, całą resztę można usunąć):

[libdefaults]
  default_realm = DOMENA.LOCAL
  dns_lookup_realm = false 
  dns_lookup_kdc = true

  • Uruchomienie serwera DNS i kontrolera domeny

Najpierw uruchamiamy serwer DNS poprzez polecenie:

# /usr/local/sbin/named -4 –c /etc/named.conf

Od teraz pingowanie adresów internetowych powinno wrócić do normy.

Serwer samba4 odpalamy poleceniem:

# /usr/local/samba/sbin/samba

W zasadzie raz zainstalowany serwer powinien działać nieskończenie długo J Dla serwerów linuksowych jest to wykonalne. Gdyby jednak zaszła konieczność jego ponownego uruchomienia, sambę i binda odpala się zawsze tymi poleceniami co powyżej.
Można sobie ułatwić, dodając powyższe polecenia do pliku /etc/rc.local. Wówczas oba serwery będę się uruchamiać przy starcie systemu:

# mcedit /etc/rc.local
 
  •    Sprawdzenie poprawności działania wszystkich usług

To czy dane usługi są uruchomione sprawdzamy poleceniami:

# ps aux | grep named
 
oraz


# ps aux | grep samba - powinniśmy zobaczyć wele linii:

 
Poprawność działania serwera sprawdzamy poleceniem:

# /usr/local/samba/bin/smbclient –L localhost –U%

Powinniśmy zobaczyć następujący widok:
 
Poprawność współdziałania samby binda i Kerberosa sprawdzamy poleceniem:

# kinit administrator

Podajemy hasło ustalone podczas promowania domeny i cieszymy się widokiem:
 
Sprawdzamy jeszcze czy serwer DNS poprawnie rozpoznaje adres kontrolera domeny:

# host –t A dc.domena.local
 

Instalacja i konfiguracja domeny i kontrolera domeny dobiegły końca :)

Część I
Część II
Część III


Część V
Część VI

5 komentarzy:

Unknown pisze...

Samba zmieniła hierarchię katalogów na ftp. Teraz, by pobrać wersję, która opisywana jest w artykule należy skorzystać z adresu:
http://ftp.samba.org/pub/samba/stable/samba-4.0.4.tar.gz

Zbyszek pisze...

Słuszna uwaga, dzięki. Najnowsza wersja Samby to 4.0.9. Jest też nowy Debian, więc niedługo aktualizacja bloga.

Unknown pisze...

Witam!

Usiłuję właśnie uruchomić taki serwer domeny Samba4, ale napotkałem problem podczas wykonywania komendy:

/usr/local/samba/bin/samba-tool domain provision --realm=domena.local --domain=DOMENA --adminpass T@jn3_hasl0 --server-role=dc --dns-backend=BIND9_DLZ

Oczywiście za T@jn3_hasl0 wstawiłem swoje hasło root'a, za domena swoją nazwę domeny, reszta w sumie bez zmian. Postępowałem krok po kroku tak jak w poradniku, tylko instalację Bind9 zignorowałem, gdyż domyślnie dostępną w instalatorze miałem wersję BIND9 9.8.0.

Podczas wykonywania powyższego polecenia otrzymuję taki oto log:

Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
ldb: module schema_load initialization failed : No such object
ldb: module rootdse initialization failed : No such object
ldb: module samba_dsdb initialization failed : No such object
ldb: Unable to load modules for /usr/local/samba/private/sam.ldb: (null)
samdb_connect failed
VFS connect failed!
ERROR(): Provision failed - ProvisioningError: Your filesystem or build does not support posix ACLs, which s3fs requires. Try the mounting the filesystem with the 'acl' option.
File "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/domain.py", line 398, in run
use_rfc2307=use_rfc2307, skip_sysvolacl=False)
File "/usr/local/samba/lib/python2.7/site-packages/samba/provision/__init__.py", line 2052, in provision
raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires. Try the mounting the filesystem with the 'acl' option.")


Z logu wynika, że nie ma ACL, itp. Pomimo, że dokonałem poprawnej modyfikacji fstab.
Czy może to być problemem, że robię to wszystko na partycjach ext4, a nie jak w przykładzie na ext3?
Czy może chodzi tu o brak pliku: /usr/local/samba/private/dns.keytab ?
W pliku /etc/named.conf podawana była taka ścieżka, ale przeglądając system plików nie odnalazłem takiego pliku.

Pozdrawiam,
Adrian

Unknown pisze...

Dodam, że mój wpis w fstab wygląda tak:

UUID=2e41313d-69cc-41bf-92df-c92d0b98d5cf / ext4 errors=remount-ro,user_xattr,acl,barrier=1 1 1

Zbyszek pisze...

Witam,

Nie ma różnicy ext3 czy ext4. Czy po modyfikacji fstab zrobiłeś restart lub zastosowałeś polecenie

# mount -o remount /

?? Spróbuj wykonać powyższą komendę i ponownie uruchomić promowanie domeny.

Natomiast z bindem trzeba uważać. Zła konfiguracja uniemożliwi komunikację w domenie. Plik /usr/local/samba/private/dns.keytab może się pojawić po poprawnym wypromowaniu domeny.

W ogóle to polecam uzupełnioną wersję przewodnika: http://jedenserwer.blogspot.com/2013/09/active-directory-na-linuxie-kompletny.html

Pozdrawiam,
Zbyszek