Wstęp
Od pojawienia się poprzedniej wersji poradnika instalacji kontrolera domeny AD-Linux na moim blogu minęło już kilka miesięcy. W tym czasie trochę się zmieniło. Przede wszystkim pojawiła się nowa stabilna wersja Debiana - 7.0 "Wheezy" (oficjalnie wydana 4.05. br.) oraz jej aktualizacja - 7.1 (15.06 br.). Wydanych zostało też kilka nowszych wersji serwera Samba4. Najnowsze wydanie stabilne to 4.0.9 z 20 sierpnia 2013, a na 1 października jest już planowane wydanie wersji 4.0.10. Nowe wersje oprogramowania dają nowe możliwości, dlatego postanowiłem zaktualizować poradnik.Najważniejszą zmianą w stosunku do poprzedniej wersji jest użycie wbudowanego w system operacyjny serwera DNS. Bind9 w Debianie 6.0.x nie współpracował z serwerem Samba4. Konieczne było skompilowanie nowszej wersji DNS lub instalacja z repozytoriów testowych (wówczas właśnie „Wheezy”). Użyta wersja w najnowszym Debianie ma oznaczenie 9.8.4-rpz2+r1005.12-P1, jest instalowana od razu z systemem operacyjnym a jej konfiguracja jest inna niż opisywana wcześniej.
(Niniejszy artykuł został zaktualizowany, ponieważ najnowszym wydaniem Debiana jest już wersja 8 Jessie, a najnowsza Samba to już wersja 4.3.3 (styczeń 2016). W odpowiednich miejscach pojawi się tekst w nawiasach lub czerwone wyróżnienie.)
W informacjach wstępnych trzeba jeszcze podać, że zarówno serwer będący kontrolerem domeny jak i komputery klienckie w przedstawionym artykule są połączone w sieć w topologii gwiazdy. Siecią zarządza oddzielny router, do niego podłączony jest switch a do przełącznika wszystkie komputery. Sytuację przedstawia poniższa grafika:
W tej konfiguracji router służy jako brama do Internetu i serwer DHCP. Przełącznik jest niekonfigurowalny.
W oddzielnym artykule przedstawiam konfigurację, w której serwer Samba4 zastępuje router.
Zarówno poprzednia jak i ta wersja tutoriala powstały w oparciu o testy przeprowadzone na maszynach wirtualnych, konfigurowanych w środowisku Oracle VirtualBox.
Przewodnik mojego autorstwa jest wynikiem wielu dni testów i poszukiwań, dlatego podobnie jak poprzednio podaję źródła, z których korzystałem:
- http://www.ubucentrum.net/2009/02/konfiguracja-sieci-z-linii-polecen.html
- https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO
- https://wiki.samba.org/index.php/Samba_4/OS_Requirements
- http://opentodo.net/2013/01/samba4-as-ad-domain-controller-on-centos-6/
- http://www.golinuxhub.com/2012/08/create-roaming-profiles-in-samba4.html
- http://www.emarcel.com/linux-articles/45-kurs-bash
- http://marekmigdal.com/index.php?option=com_content&view=article&id=25&Itemid=44
I. Instalacja systemu operacyjnego
Debian 7.1 zostanie zainstalowany poprzez instalację sieciową. Należy ściągnąć obraz odpowiedniej płyty z adresu http://www.debian.org/distrib/netinst, wypalić, włożyć płytę do napędu i uruchomić ponownie komputer. Ekran powitalny instalatora wygląda nieco bardziej profesjonalnie niż w wersji 6:
Wybieramy pierwszą opcję. Następnie instalator zapyta o język instalacji. Wybieramy Polish – Polski, kraj – Polska, układ klawiatury – polski (jeśli ktoś chce, oczywiście może ustawić inaczej). Kolejne kroki instalatora to wykrywanie podstawowego sprzętu i ustanowienie połączenia sieciowego. Nie wymaga to jakiejkolwiek interwencji ze strony użytkownika. Następnie instalator zapyta o nazwę dla naszego serwera i domeny:
W kolejnym kroku instalator pyta o hasło użytkownika root. Należy wpisać je dwukrotnie. Gdy instalator zapyta o „Pełną nazwę nowego użytkownika” to pierwsze pole możemy zostawić puste:
a w kolejnym wpisać nazwę używaną do logowania w systemie:
W kolejnych dwóch polach trzeba podać hasło nowego użytkownika.
Kolejnym krokiem jest podział dysku. Wybieramy opcje domyślne instalatora a na końcu zatwierdzamy i zapisujemy zmiany. Następnie instalator działa dalej bez potrzeby naszej interwencji. W kolejnym kroku musimy wybrać serwer lustrzany, ale tylko zatwierdzamy domyślne opcje instalatora. Gdy system zapyta czy chcemy wziąć udział w konkursie na najpopularniejszy pakiet, odpowiadamy Nie.
Przedostatnim krokiem jest wybór oprogramowania. Wystarczy, że z listy wybierzemy tylko Serwer DNS. Jeżeli po zakończeniu konfiguracji będziemy chcieli zostawić serwer gdzieś w kącie bez peryferiów, to do zarządzania przyda się też Serwer SSH (w Debianie w wersji 8 Jessie nie ma opcji Serwer DNS, doinstalujemy to później).
Na końcu potwierdzamy instalację programu GRUB w rekordzie rozruchowym. Po chwili system operacyjny jest zainstalowany. Po restarcie logujmy się na konto root.
II. Wstępna konfiguracja systemu
1. Instalacja Midnight Commander i zmiana domyślnego edytora
# apt-get install mc
Gdy pakiet jest zainstalowany warto ustawić program mcedit jako domyślny edytor. Służy do tego polecenie:
# update-alternatives --config editor
Pojawi się menu i polecenie wyboru. Wpisujemy cyfrę z lewej strony programu mcedit i zatwierdzamy Enter:
2. Konfiguracja sieci
Wykonujemy polecenie:
# mcedit /etc/network/interfaces
i edytujemy plik według wzoru:
Zapisujemy plik klawiszem F2 i wychodzimy z edytora F10. Aby zmiany odniosły skutek musimy zresetować połączenie sieciowe. Wykonujemy dwa polecenia:
# /etc/init.d/networking stop
oraz
# /etc/init.d/networking start
Aktualny adres IP komputera można sprawdzić poleceniem # ifconfig, a połączenie poprzez ping dowolnego serwera, np. Google.
3. Przypisanie nazwy komputera do ustawionego adresu IP
W tym celu trzeba wyedytować plik /etc/hosts zgodnie ze wzorem:
Poprawność operacji sprawdzamy poleceniem:
# ping nazwa_serwera -c 4
Powinniśmy zobaczyć następujący efekt:
Zgodnie z informacjami z oficjalnego HOWTO instalacji Samba4 trzeba zainstalować poniższy zestaw:
# apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev
Zestaw dla Debiana w wersji 8 Jessie jest nieco inny:
# apt-get install net-tools bind9 build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls28-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev
Jednym z pakietów jest Kerberos, dlatego w trakcie instalacji zostaniemy poproszeni o podanie kilku danych. Nazwę domeny zostawiamy domyślną (powinna być zgodna z tym co wpisaliśmy podczas instalacji systemu operacyjnego):
W następnych dwóch okienkach nie musimy nic zmieniać (możemy zostawić je puste), bo później i tak podmienimy plik konfiguracji Kerberosa.
Opcja ta nie jest domyślnie włączona a jest konieczna do przeprowadzenia procesu promowania domeny Active Directory.
Należy otworzyć w edytorze plik konfiguracyjny /etc/fstab, znaleźć linijkę
/ ext4 errors=remount-ro 0 1
i zmienić wpis na
/ ext4 errors=remount-ro,user_xattr,acl,barrier=1 1 1
Następnie wykonujemy polecenie:
# mount -o remount /
Instalacji serwera dokonamy przez pobranie najnowszej paczki z serwera ftp. Dla porządku warto pobierane paczki zapisywać w oddzielnym katalogu. Wykonujemy polecenia:
# cd /usr/src
# wget https://download.samba.org/pub/samba/stable/samba-4.3.3.tar.gz --no-check-certificate
Poprawność operacji sprawdzamy poleceniem:
# ping nazwa_serwera -c 4
Powinniśmy zobaczyć następujący efekt:
III. Instalacja serwera Samba4
1. Instalacja niezbędnych pakietów
Zgodnie z informacjami z oficjalnego HOWTO instalacji Samba4 trzeba zainstalować poniższy zestaw:
# apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev
Zestaw dla Debiana w wersji 8 Jessie jest nieco inny:
# apt-get install net-tools bind9 build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls28-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev
Jednym z pakietów jest Kerberos, dlatego w trakcie instalacji zostaniemy poproszeni o podanie kilku danych. Nazwę domeny zostawiamy domyślną (powinna być zgodna z tym co wpisaliśmy podczas instalacji systemu operacyjnego):
W następnych dwóch okienkach nie musimy nic zmieniać (możemy zostawić je puste), bo później i tak podmienimy plik konfiguracji Kerberosa.
2. Ustawienie montowania partycji głównej z opcją ACL
Opcja ta nie jest domyślnie włączona a jest konieczna do przeprowadzenia procesu promowania domeny Active Directory.
Należy otworzyć w edytorze plik konfiguracyjny /etc/fstab, znaleźć linijkę
/ ext4 errors=remount-ro 0 1
i zmienić wpis na
/ ext4 errors=remount-ro,user_xattr,acl,barrier=1 1 1
Następnie wykonujemy polecenie:
# mount -o remount /
3. Instalacja pakietu Samba4
Instalacji serwera dokonamy przez pobranie najnowszej paczki z serwera ftp. Dla porządku warto pobierane paczki zapisywać w oddzielnym katalogu. Wykonujemy polecenia:
# cd /usr/src
# wget https://download.samba.org/pub/samba/stable/samba-4.3.3.tar.gz --no-check-certificate
Po pobraniu rozpakowujemy paczkę:
# tar zxvf samba-4.3.3.tar.gz
Wchodzimy do katalogu:
# cd samba-4.3.3
i dokonujemy instalacji:
# ./configure –-enable-selftest
# make (Ta operacja może zając sporo czasu, w zależności od szybkości procesora i wielkości pamięci RAM. Przy jednym rdzeniu taktowanym zegarem 3 GHz i 1 GB RAM trwa to do 30 minut. )
# make install
4. Promowanie domeny (provisioning)
Wykonujemy polecenie:
# /usr/local/samba/bin/samba-tool domain provision
i odpowiadamy na pytania kreatora. Przy opcjach Realm, Domain i Server Role po prostu wciskamy Enter. Przy opcji DNS backend wpisujemy BIND9_DLZ. Podajemy dwukrotnie hasło administratora domeny i czekamy aż proces promowania dobiegnie końca. Jeśli wszystko do tej pory zrobiliśmy poprawnie, powinniśmy zobaczyć wynik podobny do poniższego.
5. Skopiowanie pliku krb5.conf
Wraz z instalacją pakietu Kerberos został utworzony plik /etc/krb5.conf. Zawiera on wiele danych, które w podstawowej konfiguracji kontrolera domeny nie są potrzebne. Zawartość pliku trzeba zmienić, jednak aby nie utracić informacji w nim zawartych możemy plik zarchiwizować. Wykonujemy polecenie:
# cp /etc/krb5.conf /etc/krb5.conf.old
Plik o odpowiedniej zawartości dostarcza nam Samba4. Musimy go tylko skopiować:
# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf
Aby sprawdzić, czy plik został poprawnie skopiowany, wykonujemy polecenie:
# cat /etc/krb5.conf
Powinniśmy uzyskać wynik jak poniżej:
6. Konfiguracja serwera DNS do pracy z kontrolerem domeny Samba4
Serwer DNS Bind9 zainstalowaliśmy razem z systemem operacyjnym. Musimy go jeszcze odpowiednio skonfigurować. W tym celu edytujemy plik /etc/bind/named.conf.options i nadajemy mu taki kształt:
Następnie dopisujemy jedną linijkę do pliku /etc/bind/named.conf.local:
Poprawność konfiguracji serwera DNS sprawdzamy poleceniem
# named-checkconf
Jeśli nic się nie wyświetli to znaczy, że jest dobrze :)
7. Edycja pliku /etc/resolv.conf
Domyślnie w tym pliku wpisane są adresy DNS dostawcy Internetu. Chcemy jednak aby w pierwszej kolejności był przeszukiwany nasz serwer i domena. Zatem plik powinien wyglądać następująco:
Jeśli żądana nazwa nie zostanie rozpoznana przez nasz serwer, rozpocznie on przeszukiwanie serwerów wpisanych w opcji forwarders pliku /etc/bind/named.conf.options.
Po wprowadzeniu zmian restartujemy serwer DNS poleceniami
# /etc/init.d/bind9 stop
# /etc/init.d/bind9 start
# /etc/init.d/bind9 start
Jeśli zobaczymy dwa razy zielone [ ok ], to będzie znaczyło, że skonfigurowaliśmy serwer poprawnie. Dla pewności można spingować dowolny serwer zewnętrzny, np. Google.
8. Uruchomienie serwera Samba4
Wykonujemy polecenie:
# /usr/local/samba/sbin/samba
To samo polecenie wpisujemy do pliku /etc/rc.local aby Samba4 uruchamiała się wraz ze startem systemu operacyjnego:
9. Sprawdzenie działania serwisów w systemie
a) Samba4
Aby sprawdzić czy serwer Samba4 jest uruchomiony wykonujemy komendę:
# pgrep samba
Powinniśmy otrzymać taki wynik:
Wyświetlone w kolumnie liczby to numery serwisów otwartych w systemie.
Innym sposobem sprawdzenia poprawnego działania kontrolera domeny jest wywołanie polecenia
# /usr/local/samba/bin/smbclient -L localhost -U%
Efekt powinien być następujący:
b) Kerberos
Dzięki poniższemu poleceniu sprawdzimy poprawność działania zarówno pakietu Kerberos jak i Bind9:
# kinit administrator
Powinniśmy zostać poproszeniu o podanie hasła administratora domeny Active Directory. Jeśli tak się stało, to znaczy że nasz kontroler domeny działa poprawnie.
Aby uzyskać absolutną pewność, że wszystko działa dobrze, możemy wykonać restart serwera, np. poleceniem
# shutdown -r now
i wykonać wszystkie testy z punktu 9.
W tym miejscu kończy się instalacja i konfiguracja kontrolera domeny Active Directory w systemie Debian. Jeśli wszystkie etapy zostały wykonane zgodnie z przewodnikiem, nie powinny pojawić się żadne błędy. Gdyby coś jednak było nie tak proszę o komentarz lub wiadomość.
6 komentarzy:
Całkiem porządna instrukcja. U mnie jedynie nie zadziałało polecenie: service networking stop i start, ale to nie problem. Po drodze jedna mała literówka(myślałem że skopałem coś). Jeszcze kinit administrator też nie funkcjonuje, lecz robię to już w godzinach nocnych-sprawdzę w dzień. Mam zamiar wdrożyć to u siebie w instytucji. Poinformuję co i jak w najbliższym czasie. Dalej to już profile wędrujące z instrukcji z marca br....??
Dziękuję za wiadomość. Profile wędrujące można konfigurować na podstawie instrukcji z marca: http://jedenserwer.blogspot.com/2013/03/samba4-jako-podstawowy-kontroler-domeny_5493.html
Niedziałające polecenie 'kinit' może mieć sporo przyczyn. Zacząłbym od sprawdzenia pliku 'krb5.conf' oraz ustawień BIND9. Pozdrawiam.
dziękuję za info, myślę że pomyliłem się w adresacji sieci, gdyż chciałem to zrobić już dostosowując się do niej i mogłem coś pokręcić w plikach konfiguracyjnych. Podzielę się informacją po już zastosowaniu na maszynie, która zrobi mi porządek w sieci...
okey, kontroler działa jest to w sumie dobra instrukcja. Ale u mnie np. nie mogę zalogować się jako administrator domeny na komputerze, który dodałem do domeny. Zaznaczę, że pracuje na Vista-ch. Dodanie komputera do domeny działa, ale później to już schody. Jeśli w Uruchom otworzę katalogi domeny poprzez polecenie \\ad to wyświetlając właściwości katalogu [profiles] nie mogę dodać domain usera, gdyż raczej go chyba go tam nie ma gdyż nie weryfikuje nic, albo vista tego nie widzi.
####################################################################################
Generalnie Potwierdzam iż Bieżąca Instrukcja Prowadzi do Utworzenia Kontrolera Domeny na Linuxie.
####################################################################################
Chyba spróbuję najpierw na winXP, a później systemy wyżej. W każdym razie mam mały zgrzyt. Aha, bo miałem powiedzieć - poprzednio się machnąłem właśnie w pliku "named.conf.options" i dlatego nie odpaliło mi dalej, ale teraz po wybraniu komputera do pracy w domenie jako pomyślne już myślałem że jestem w domu ale znów porażka...
Nie mam pod ręką komputera z Vistą, ale z tego co pamiętam logowanie jest podobne do 7. Gdy podczas uruchamiania pojawią się ikonki użytkowników, należy wybrać "Inny użytkownik" (lub coś w ten deseń) i wpisać:
nazwa_domeny\konto_admina
a następnie podać hasło.
Jeśli komputer udało się dodać do domeny to konto administratora jest jedynym kontem, które może zalogować komputer do tej domeny i tylko z tego konta można zmieniać właściwości i uprawnienia folderów sieciowych.
Wiem, wiem, to jest znane, ale obecnie właśnie moją ideą jest znalezienie innego odpowiednika nie-windows dla AD. Ta Twoja instrukcja lub rozwiązanie jest całkiem przystępne, ale muszę je dostosować do systemów wyższych niż XP. I nad tym teraz popracuje. Podzielę się wiadomościami jak dokonam właściwych własnych działań zakończonych z sukcesem. Dziękuję za dokonaną już Twoją pracę w tym zakresie.
Prześlij komentarz