Słowem wstępu
W tym artykule przedstawię prosty sposób na przygotowanie i zainstalowanie podstawowego kontrolera domeny Active Directory. Użyję do tego celu komputera z systemem operacyjnym Debian w najnowszej wersji 10.2. Oprogramowanie serwera Samba zainstaluję z repozytoriów Debiana. Będzie to stabilna wersja 4.9.5.
Post ten jest realizacją jednej z możliwych wersji praktycznego scenariusza konfiguracji przedstawionej w oficjalnej dokumentacji serwera Samba, dostępnej na stronie
Na początku też mała prośba. Jeśli uda Ci się skonfigurować kontroler domeny Active Directory w swojej sieci na podstawie mojego poradnika, poinformuj mnie o tym. Może być w komentarzu pod tym postem, albo mailem (podany w zakładce "Współpraca"). Chciałbym po prostu wiedzieć czy tworzenie takich poradników ma sens i czy ktokolwiek z nich korzysta ;)
Konfiguracja systemu operacyjnego
Uwaga!
Pokazana poniżej konfiguracja odbywa się w konsoli systemu Debian z poziomu konta użytkownika root. Dlatego w opisie przed komendami pomijam parametr sudo. Na początku każdej z nich będę umieszczał znak #.
Konfiguracja sieci
W moim komputerze mam zainstalowane dwie karty sieciowe, które w systemie operacyjnym mają oznaczenia enp0s3 oraz enp0s8. Pierwsza z nich pobiera konfigurację poprzez DHCP i służy do połączenia serwera z Internetem. Druga karta posłuży do pacy w domenie, dlatego trzeba ją odpowiednio skonfigurować. W tym celu w dowolnym edytorze, np. nano, należy zmienić plik /etc/network/interfaces zgodnie z poniższym przykładem:
Po wprowadzeniu powyższych zmian należy wydać komendę:
# systemctl restart networking
w celu zrestartowania usług sieciowych w Debianie i włączenia drugiej katy sieciowej.
Uwaga!
W tym artykule pomijam kwestie związane z routingiem na kartach sieciowych i dostępem do Internetu dla sieci w domenie. Zainteresowanym udzielę odpowiednich wskazówek w komentarzach, jeśli pojawi się taka potrzeba.
Wydając polecenie
# ifconfig
powinniśmy zobaczyć widok podobny do tego:
Jeśli komenda nie działa, trzeba zainstalować dodatkowe narzędzia poleceniem:
# apt install net-tools
Konfiguracja nazwy i przypisanie adresu IP
Nazwę serwera oraz nazwę domeny można skonfigurować na etapie instalacji systemu operacyjnego. Przed instalacją oprogramowania Samba musimy przypisać nazwie serwera adres IP sieci pracującej w domenie. Odpowiednich zmian dokonujemy w pliku /etc/hosts:
Po zapisaniu zmian możemy wydać polecenie
# ping snape -c 4
(gdzie snape jest nazwą naszego serwera) w celu sprawdzenia czy pingowany jest poprawny adres IP:
Instalacja Samby
Instalacja niezbędnych pakietów
Aby poprawnie skonfigurować serwer Samba jako kontroler domeny Active Directory należy zainstalować następujące pakiety poleceniem:
# apt install acl attr samba samba-dsdb-modules samba-vfs-modules winbind krb5-config krb5-user smbclient bind9 dnsutils
W wyskakujących okienkach wszystko zostawiamy domyślne i zatwierdzamy tak jak jest.
Ustawienie montowania partycji głównej (tylko w systemie plików ext3!)
Aby sprawdzić w jakim systemie plików jest sformatowana partycja główna, otwieramy plik /etc/fstab:
Jeśli w naszym komputerze mamy system plików ext4, jak na powyższej grafice, to nie musimy nic zmieniać. Można przejść do kolejnego punktu czyli promowania domeny.
Jeśli jednak mamy starszy system ext3 to wpis
/ ext3 errors=remount-ro 0 1
musimy zastąpić
/ ext3 errors=remount-ro,user_xattr,acl,barrier=1 1 1
Po zapisaniu pliku /etc/fstab należy przemontować partycję główną poleceniem
# mount -o remount /
Promowanie domeny
Punkt kulminacyjny całego artykułu czyli promowanie domeny (ang. provisioning). Na początku należy usunąć plik konfiguracyjny Samby, utworzony domyślnie podczas instalacji. Można to zrobić poleceniem
# rm /etc/samba/smb.conf
Następnie wydajemy komendę:
# samba-tool domain provision --use-rfc2307 --interactive --option="interfaces=lo enp0s8" --option="bind interfaces only=yes"
Teraz odpowiadamy na pytania kreatora. Pierwsze opcje zostawiamy domyślne. Na pytanie o DNS Backend odpowiadamy BIND9_DLZ:
Po podaniu dwukrotnie hasła administratora musimy moment odczekać aż zobaczymy widok:
Informacje na samym dole oznaczają, że poprawnie wypromowaliśmy naszą domenę.
Kerberos i Bind
Po wypromowaniu domeny należy skopiować plik konfiguracyjny oprogramowania Kerberos oraz skonfigurować serwer DNS do pracy z domeną. Na początku wydajemy polecenie
# cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Komenda # cat /etc/krb5.conf powinna dać poniższy widok:
Następnie musimy zmienić pliki konfiguracyjne serwera DNS Bind. Najpierw uzupełniamy plik /etc/bind/named.conf.options wg wzoru:
Uwaga!
Powyższa konfiguracja zapewnia bezproblemową pracę kontrolera domeny Active Directory. Znaczenie poszczególnych opcji wyjaśnię innym razem.
Do pliku /etc/bind/named.conf.local trzeba jeszcze dopisać linijkę
include "/var/lib/samba/bind-dns/named.conf";
Po wprowadzeniu zmian w powyższych plikach można wydać komendę
# named-checkconf
Jeśli nic się nie wyświetli, to znaczy, że poprawnie skonfigurowaliśmy serwer DNS do pracy z domeną. W przeciwnym razie zobaczymy komunikaty informujące, w którym pliku i w której linijce jest błąd.
Na koniec trzeba jeszcze zmienić plik /etc/resolv.conf wg wzoru:
Aby potrzebne wpisy zostały po restarcie systemu, warto zmienić nieco plik /etc/dhcp/dhclient.conf:
Wprowadzamy zmiany w linijkach supersede domain-name oraz prepend domain-name-servers.
Konfiguracja automatycznego uruchamiania serwisów
Musimy tak ustawić oprogramowanie Samba, aby startowało automatycznie wraz z uruchomieniem systemu operacyjnego. W tym celu musimy odpowiednio włączyć i wyłączyć niektóre serwisy. Kolejno wydajemy komendy:
# systemctl disable smbd
# systemctl disable nmbd
# systemctl disable winbind
# systemctl unmask samba-ad-dc
# systemctl enable samba-ad-dc
Następnie możemy zrestartować serwer poleceniam
# shutdown -r now
Testowanie działania domeny
Po ponownym uruchomieniu serwera przechodzimy do sprawdzenia działania usług. Na początku uruchamiamy polecenia
# pgrep named
oraz
# pgrep samba
Powinna się wyświetlić lista uruchomionych serwisów. Jeśli dotąd robiłeś wszystko zgodnie z poradnikiem to tak mniej więcej powinna ona wyglądać:
Następnie wydajemy polecenie
# smbclient -L localhost -U%
Jeśli samba działa i jest gotowa do pracy, efekt powinien być podobny do tego:
Na koniec wydajemy polecenie # kinit administrator
Po podaniu hasła administratora domeny zobaczymy do kiedy hasło jest ważne.
Możemy jeszcze przetestować działanie samego serwera DNS poprzez wydanie trzech poleceń. Efekt powinien wyglądać jak na poniższej grafice:
Zakończenie
Jeśli przebrnąłeś przez cały ten post to gratuluję. Jeśli udało Ci się poprawnie skonfigurować kontroler domeny Active Directory to gratuluję tym bardziej! Postępowanie krok po kroku wg tego poradnika powinno zaprowadzić do wyznaczonego celu. Możesz teraz spróbować podpiąć komputery klienckie do domeny. Jeżeli masz jakieś uwagi co do tego artykułu, podziel się, proszę, w komentarzu lub wyślij mi maila.