Samba jako Kontroler Domeny Active Directory (AD DC)

Samba jest popularnym oprogramowaniem typu open source, które może być używane jako kontroler domeny Active Directory. Dzięki temu użytkownicy systemów operacyjnych z rodziny Windows mogą się zalogować do sieci opartej na systemie Samba, korzystając ze swoich kont Active Directory. Samba pozwala na integrację z istniejącymi infrastrukturami Active Directory, dzięki czemu można uzyskać dostęp do zasobów sieciowych i zarządzać nimi w sposób centralny. Samba umożliwia również integrację z systemami Linux i macOS, co czyni go uniwersalnym narzędziem do zarządzania sieciami hybrydowymi.

Do wykonania zadania użyjemy jako serwera system Debian 11.6 oraz jako klienta Windows 10 pro. Serwer powinien mieć zainstalowaną i skonfigurowaną przynajmniej jedną kartę sieciową – w zadaniu użyjemy dwie, jedna będzie podłączona do internetu, natomiast druga będzie podłączona do sieci wewnętrznej. Natomiast w kliencie będzie jedna karta sieciowa w sieci wewnętrznej. Można skorzystać z usługi DHCP do automatycznej konfiguracji sieci na kliencie (Konfiguracja DHCP na Debianie + udostępnienie internetu) lub skonfigurować połączenia sieciowe statycznie.

Konfigurujemy sieć

Na serwerze ustawiamy dwie karty sieciowe:
– enp0s3 – połączenie (mostkowane) pobiera ustawienia sieci z naszego sieciowego routera,
– enp0s8 – połączenie (sieć wewnętrzna) statyczne ustawiamy wg własnych potrzeb

Ustawienie kart sieciowych na serwerze.

Następnie należy sprawdzić i ustawić poprawny adres domenowy dla naszego adresu ip.

Ustawienie w pliku /etc/hosts

Instalujemy Sambę

Możemy teraz uruchomić instalację samby oraz wszystkich niezbędnych pakietów do konfiguracji Active Directory Domain Services.

apt install acl attr samba samba-dsdb-modules samba-vfs-modules winbind krb5-config krb5-user smbclient bind9 dnsutils

Podczas instalacji na pytania konfiguracyjne odpowiadamy bez zmiany żadnych danych.

Zostawiamy SZKOLA.LOCAL
Pozostawiamy puste pole.
Pozostawiamy puste pole.

Następnie usuwamy defaultowy plik konfiguracyjny samby:

rm /etc/samba/smb.conf

Po tym zabiegu rozpoczynamy konfigurowanie samby jako kontroler domeny – w Windowsie ta czynność nazywa się „promuj serwer do roli kontrolera domeny” – wydajemy polecenie:

samba-tool domain provision --use-rfc2307 --interactive --option="interfaces=lo enp0s8" --option="bind interfaces only=yes"

Podczas konfiguracji, na trzy pierwsze pytania odpowiadamy naciskając klawisz enter, na ostatnie odpowiadamy BIND9_DLZ. Następnie dwa razy podajemy hasło administratora.

Konfiguracja samby.

Po krótkiej chwili mamy skonfigurowaną sambe jako Active Directory Domain Controller.

Dodatkowe ustawienia

Następnie kopiujemy plik konfiguracyjny Kerberosa:

cp /var/lib/samba/private/krb5.conf /etc/krb5.conf

Plik powinien mieć taką postać:

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

[realms]
SZKOLA.LOCAL = {
        default_domain = szkola.local
}

[domain_realm]
        brylka = SZKOLA.LOCAL

W kolejnym kroku konfigurujemy DNS – edytujemy plik /etc/bind/named.conf.options. Plik powinien mieć zawartość:

options {
        directory "/var/cache/bind";

        forwarders {
                8.8.8.8;
                1.1.1.1;
        };

        dnssec-validation auto;

        auth-nxdomain no;
        listen-on-v6 { any; };
        listen-on port 53 { any; };
        allow-query { any; };

        tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";
};

Następnie w pliku /etc/bind/named.conf.local dopisujemy linijkę:

include "/var/lib/samba/bind-dns/named.conf";

Na koniec poleceniem named-checkconf sprawdzamy czy konfiguracja nie zawiera błędów. Jeśli nic się nie wyświetli, jest wszystko ok.

Edytujemy plik /etc/resolv.conf wprowadzając następujące ustwienia:

domain szkola.local
search szkola.local
nameserver 10.0.0.1

Abu ustawienia te istniały także po restarcie serwera należy w pliku /etc/dhcp/dhclient.conf dodać dwie linijki:

supersede domain-name "szkola.local";
prepend domain-name-servers 10.0.0.1;

Aby ustawić oprogramowanie Samba tak, żeby automatycznie startowało wraz z uruchomieniem systemu operacyjnego, należy przeprowadzić następujące kroki:

systemctl disable smbd

Polecenie wyłącza usługę Samba (smbd) podczas startu systemu. Oznacza to, że serwer Samba nie będzie uruchamiany automatycznie po restarcie systemu.

systemctl disable nmbd

Polecenie wyłącza usługę NMB (NetBIOS Name Service) podczas startu systemu. Usługa ta jest częścią pakietu Samba i umożliwia rozpoznawanie nazw komputerów w sieci. Wyłączenie usługi oznacza, że funkcjonalność rozpoznawania nazw komputerów w sieci będzie wyłączona podczas startu systemu.

systemctl disable winbind

Polecenie wyłącza usługę Winbind podczas startu systemu. Usługa ta jest również częścią pakietu Samba i umożliwia integrację systemów Linux i Windows w sieci. Wyłączenie usługi oznacza, że funkcjonalność integracji systemów Linux i Windows w sieci nie będzie uruchamiana automatycznie po restarcie systemu.

systemctl unmask samba-ad-dc

Polecenie odblokowuje usługę samba-ad-dc, która umożliwia instalację Samba w trybie kontrolera domeny Active Directory. Komenda ta usuwa blokadę, która uniemożliwia uruchomienie usługi.

systemctl enable samba-ad-dc

Polecenie włącza usługę samba-ad-dc podczas startu systemu. Oznacza to, że usługa ta będzie automatycznie uruchamiana po restarcie systemu, a tym samym pozwoli na działanie Samba w trybie kontrolera domeny Active Directory.

Ustawiamy uruchamianie samby jako AD DC.

Możemy teraz uruchomić ponownie serwer.

Dodajemy Windowsa do domeny

W Windowsie uruchamiamy Panel sterowania/System

Uruchamiamy Panel sterowania/System

Następnie przewijamy na dół okna i klikamy „Zmień nazwę tego komputera (zaawansowane)”.

Przechodzimy do zmiany nazwy komputera.

Klikamy kolejno: „Zmień…” i na kolejnym okienku zaznaczamy „Domena:” oraz wpisujemy adres: szkola.

Dołączamy system do domeny szkola.local

Po chwili musimy podać login i hasło – podajemy Administrator i hasło jakie ustawiliśmy w sambie.

Podajemy login i hasło administratora.

Po podaniu poprawnych danych dostajemy komunikat o dodaniu maszyny do domeny szkola.local

Dodanie maszyny do domeny szkola.local

Po restarcie systemu możemy zalogować się na konto Administratora domeny. W tym celu wybieramy „Inny użytkownik” – podajemy „Administrator@szkola.local” oraz hasło administratora AD DC.

Logowanie do domeny szkola.local

Uruchamiamy wiersz poleceń (cmd) i wykonujemy polecenie:

DISM /Online /Get-Capabilities

Następnie odnajdujemy rekord AD DC i wydajemy kolejne polecenie:

DISM /Online /Add-Capability /CapabilityName:Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0
Instalacja narzędzia do administracji AD DC.

Po instalacji możemy w Meny start odnaleźć: Użytkownicy i komputery usługi Active Directory.

Użytkownicy i komputery Active Directory.

W narzędziu tym możemy zarządzać np. użytkownikami Active Directory.

Dodawanie użytkownika Active Directory.

Podobnie w linii komend Debiana możemy narzędziem samba-tool zarządzać użytkownikami.

samba-tool – narzędzie do zarządzania użytkownikami AD DC.

Zakończenie

Konfiguracja Samby jako kontrolera domeny Active Directory w systemie Debian jest procesem złożonym, ale możliwym do wykonania przy odpowiedniej wiedzy i staranności. Przejście przez kolejne kroki, od ustawienia sieci, poprzez instalację i konfigurację Samby, aż do podłączenia klienta Windows do domeny, pozwala na stworzenie w pełni funkcjonalnego środowiska AD. Dzięki temu można zarządzać użytkownikami i zasobami sieciowymi w sposób centralny, co jest szczególnie przydatne w złożonych sieciach hybrydowych. Pamiętajmy, że dokładne przestrzeganie procedur i dbałość o poprawne wprowadzanie ustawień są kluczowe dla prawidłowego działania systemu.

12 thoughts on “Samba jako Kontroler Domeny Active Directory (AD DC)”

  1. Super. Dziękuje, wszystko pięknie zadziałało a próbowałem z innych pomocy i nie wychodziło. A tu pięknie opisane i bez problemów

  2. Elegancko zadziałało „od kopa”.
    Jedna rzecz mnie tylko zaskoczyło, w narzędziu „Użytkownicy i komputery Active Directory” nie ma możliwości dodawania Zasad Grup. Czy coś trzeba zmienić, podczas instalacji?

      1. Jaroslaw Kłopotek

        Najpierw trzeba ją mieć:

        z powershella uruchom:
        DISM.exe /online /add-capability /CapabilityName:Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0

        Przystawkę uruchamia się: start->uruchom->gpmc.msc
        Lub można użyć szukajki i uruchomić: gpmc.msc

  3. lepiej nie używać domeny .local, lepiej użyć .lan
    .local jest używany przez mdns co może (ale nie musi) powodować problemy

      1. Migracja jest prosta.
        Instalujesz nową maszynę z czystą sambą (adresacje i nazwę domeny konfigurujesz po staremu) plik etc/hosts oraz resolv dobrze, żeby się zgadzał. Robisz provisioniong nowej domeny na serwerze. W tym momencie masz czystą nową domenę bez użytkowników. Później kopiujesz cały folder samby czasami to jest /var/lib/samba czasami usr/…/samba podmieniasz także plik etc/samba/smb.conf no i jeszcze trzeba zaktualizować etc/krb5.conf. Na koniec robisz czyszczenie:
        samba-tool ntacl sysvolreset i samba-tool dbcheck z odpowiednimi opcjami –cross-ncs itd.
        Możesz teraz podnosić wersję schematu i funkcjonalności domeny do nowej wersji.

  4. Wszystko zrobione dokładnie zgodnie z instrukcją, sprawdzone kilka razy a mimo to podczas próby podłączenia do domeny błąd „Nie można skontaktować się z kontrolerem domeny…”

    1. W DNS komputera (ustawieniach karty sieciowej) musi być dodany adres DNS twojej domeny.

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *


Scroll to Top