Arch Linux i Samba4 jako kontroler domeny Windows

Data: 2018-04-29, autor: Michał Misztal

Microsoftu można nie lubić za wiele rzeczy: za Windowsa i jego mobilne wersje, za IE i Edge, za .NET, za JScript, za Skype i za uleganie Electronowi, za niekonsekwencję i wreszcie za kiepskich marketingowców. Ale są dwie rzeczy które im wyszły. Pewnie dlatego, że te dwie rzeczy celują w nieco inną grupę odbiorców. Bo wiadomo, jeśli chodzi o rozwiązania dla plebsu to wszystko musi się błyszczeć jak ruski bumbox.

Mam na myśli tutaj Active Directory i SQL Server. Dzisiaj będzie o Active Direcory. AD przyświeca motto - "zrobić ale się nie narobić". Moje zainteresowanie zaczęło się w momencie gdy musiałem podłączyć dwa nowe komputery w pewnej firmie. Centralnego domenowego zarządzania tam nie ma bo i nie było potrzebne. Ale, że ilość stanowisk się powiększa to i coś z tym trzeba zrobić. Więcej o Active Directory można poczytać w sieci.

Jako, że domyślnym serwerem dla AD jest Windows Server a licencja jest dość droga + dochodzą licencje CAL dla każdego z podpinanych sprzętów to postanowiłem wykorzystać jako kontroler tandem Arch Linux + Samba 4. Od wersji 4 Samba umożliwia operacyjność na poziomie Windows Server 2008 R2. Czyli nie jest źle, ba - jest bardzo dobrze. To, że twórcy Samby dokonali tego wyczynu jest niewiarygodne i za to należy im się pełen szacun.

Nie będę tutaj pisał jak się instaluje Archa - zakładam, że macie go zainstalowanego. Pakiety jakie należy doinstalować by to wszystko działało to

[root@komputer]# pacman -S krb5 openresolv ntp samba

Mala uwaga - odkomentujcie rezpozytoria testing z /etc/pacman.conf bo inaczej przy promowaniu domeny może wywalić błąd. Wynika to z tego, że w domyślnej konfiguracji Archa występują różne wersje pakietów Samby (czyżby opiekunowie pakietów się pogubili) i dochodzi do niespójności pakietów. W opcjach montowania partycji/dysków na których będą znajdować się udziały użytowników dodajcie artybuty user_xattr,acl (więcej tutaj).

Teraz pora na wstępną konfigurację, Arch - będzie kontrolerem domeny więc powinien być serwerem DNS i posiadać stały adres IP. Moja sieć to 192.168.0.0/16. Więc dla takiej bedę konfigurował sprzęt. Kolejna rzecz - odpuszczamy sobie całkowicie IPv6.

Stały IP uzyskamy domyślnym narzędziem dhcpcd. Sprawdzamy poleceniem ip link jak jest oznaczona nasza karta sieciowa, u mnie to enp0s3. Adres routera to 192.168.10.1 a adres kontrolera to będzie 192.168.0.251. Tworzymy więc plik konfiguracji w następujący sposób

[root@komputer]# mv /etc/dhcpcd.conf{,.default}
[root@komputer]# echo "static interface enp0s3" >> /etc/dhcpcd.conf
[root@komputer]# echo "static ip_address=192.168.0.251/16" >> /etc/dhcpcd.conf
[root@komputer]# echo "static routers=192.168.10.1"  >> /etc/dhcpcd.conf
[root@komputer]# echo "static domain_name_servers=127.0.0.1 192.168.10.1" >> /etc/dhcpcd.conf

Ustawiliśmy jako DNS również localhost (127.0.0.1) i jako zapasowy DNS nasz router - na wszelki wypadek, gdyby coś się stało, żeby nie wywaliło internetu. Nazwa hosta niech będzie dc (domain controller) w domenie np csk.com. Czyli /etc/hostname ma postać

dc

A /etc/hosts

127.0.0.1	localhost
127.0.1.1	dc.csk.com	dc

Serwer czasu skonfigurujemy sobie według tego artykułu. Jest to zarazem tutorial do konfiguracji kontrolera domeny w Archu - ale wykonując polecenia krok po kroku całość i tak nie działa, dlatego postanowiłem napisać ten wpis. OK, teraz tworzymy plik /etc/resolv.conf.tail z następującą zawartością

search csk.com
nameserver 127.0.0.1
nameserver 192.168.10.1

Aktualizujemy plik konfiguracji openresolv poleceniem resolvconf -u. Teraz pora na proces promowania domeny, wydajemy polecenia (pierwsze również wywala domyślną konfigurację Samby)

[root@komputer]# mv /etc/samba/smb.conf{,.default}
[root@komputer]# samba-tool domain provision --use-rfc2307 --interactive

Jeśli wszystko skonfigurowaliśmy jak trzeba to wystarczy zatwierdzać domyślne wartości - Samba sama je pobiera. Czyli Realm=CSK.COM, DOMAIN=CSK, Server Role=dc, DNS Backend=SAMBA_INTERNAL, DNS=192.168.10.1 (to trzeba zmienić bo domyślnie zostanie pobrany pierwszy a pierwszym jest localhost), Administrator password={min 7 liter, wielkie i małe + cyfra i najlepiej znak specjalny}. Jeśli hasło bedzie mało skompilowane to promocja domeny skończy się błędem.

Proces promocji domeny utworzy konfigurację Kerberosa którą należy zamienić z tą domyślną.

[root@komputer]# cp /var/lib/samba/private/krb5.conf /etc/

Niby domyślnie bedzie OK ale zmodyfikujemy sobie jeszcze ten plik, dodajmy sekcję realms, coś w ten deseń

[realms]
	CSK.COM = {
		admin_server = kerberos.csk.com
		kdc = kerberos.csk.com
	}

Restartujemy komputer i wykonujemy testy.

[root@komputer]# host -t SRV _ldap._tcp.csk.com.
[root@komputer]# host -t SRV _kerberos._udp.csk.com.
[root@komputer]# host -t A dc.csk.com.

Powinniśmy uzyskać to co poniżej.

OK, teraz powinniśmy utworzyć administratora. Zanim to zrobimy to zrobimy pierwsze kroki konfigurujące tworzenie użytkowników. Wyłączymy złożoność haseł i ich bezpieczną długość. W domenie domowej możemy to zrobić, w sieci firmowej już niekoniecznie.

[root@komputer]# samba-tool domain passwordsettings set {--complexity=off,--min-pwd-length=0}

Tworzymy konto administartora i nadajemy mu mocne hasło

[root@komputer]# kinit administrator@CSK.COM

Teraz pora aby podłączyć komputer z Windowsem Pro - bo tylko takie, lub wyższe (Enterprise) się da - do domeny. Aktywna karta sieciowa ma mieć odznaczony protokół IPv6 i zmienione DNS. Moją konfigurację przedstawiają fotki poniżej

Ryc. 3. Ustawiłem zapasowy DNS na wypadek gdyby kontroler domeny nawalił

Po ustawieniu kart sieciowych w Windowsie sprawdzamy czy DNS się poprawnie ustawił wykonując ping do kontrolera domeny po jego nazwie

Pora na podłączenie komputera do domeny. PPM na Mój komputer, wybieramy Właściwości -> Zaawansowane ustawienia systemu -> zakładkę Nazwa komputera -> klikamy Zmień, zaznaczamy Domena i wpisujemy nazwę domeny.

Do domeny może nas w tej chwili podpiąć administrator więc wpisujemy jego dane (utworzone poleceniem kinit).

Po wprowadzeniu zmian logujemy się na konto administratora w domenie.

Ryc. 10. Klikamy Przełącz użytkownika, gdbyśmy tego nie zrobili to zalogowalibyśmy się na konto lokalne a nie domenowe
Ryc. 11. Wybieramy Inny użytkownik
Ryc. 12. I wpisujemy poświadczenia

I już jesteśmy w domenie. Co dalej - o tym w kolejnym wpisie.

Skomentuj lub zgłoś błąd

© Michał Misztal 2018

Czytasz właśnie

Arch Linux i Samba4 jako kontroler domeny Windows
Autor: Michał Misztal
Data: 2018-04-29

Podobne wpisy