piątek, 17 stycznia 2014

Replikacja SysVol na kontrolerach Samba4

Post jest w zasadzie streszczeniem artykułu z oficjalnego HowTo Samby: https://wiki.samba.org/index.php/SysVol_Replication. Od siebie dodałem uzupełnienie m. in. w postać grafik ilustrujących poszczególne czynności.

Na chwilę obecną Samba4 nie wspiera pełnej replikacji SysVol. Możliwe jest natomiast jednokierunkowe kopiowanie SysVol z głównego kontrolera domeny na kontrolery dodatkowe. Istnienie głównego kontrolera ("master") jest tutaj znaczące.

Przed rozpoczęciem pracy nad konfiguracją replikacji należy upewnić się, co do ustawień głównego kontrolera. W tym celu logujemy się kontem administratora domeny na komputer z systemem Windows, na którym mamy zainstalowane narzędzia administracji serwerem. Następnie wciskamy klawisze Windows+R, wpisujemy gpmc.msc i klikamy OK. Uruchomi się przystawka "Zarządzanie zasadami grupy". W drzewku po lewej stronie trzeba odnaleźć ikonę naszej domeny, kliknąć prawym przyciskiem i wybrać Zmień kontroler domeny... Ukaże się okienko:


Ustawienia powinny być takie jak na obrazku. Są to ustawienia domyślne.

Kolejne operacje będziemy przeprowadzać na głównym kontrolerze domeny.

Najpierw należy zainstalować rsync oraz xinetd. W tym celu wykonujemy polecenie:

# apt-get install rsync xinetd

Następnym krokiem jest edycja pliku /etc/xinetd.d/rsync. Wykonujemy polecenie

# mcedit /etc/xinetd.d/rsync

i wypełniamy wg wzoru:


Następnie trzeba utworzyć i wyedytować plik /etc/rsyncd.conf:


Kolejnym krokiem jest utworzenie pliku /usr/local/samba/etc/rsyncd.secret i zapisanie w nim hasła:
sysvol-replication:T@jn3hasl0
Plik musi posiadać odpowiednie atrybuty w celu ukrycia hasła przed niepowołanymi osobami. W tym celu wykonujemy komendę:

# chmod o-r /usr/local/samba/etc/rsyncd.secret

Ostatnim krokiem jest restart xindetd:

# service xinetd restart

Dalsze operacje muszą zostać wykonywane na wszystkich dodatkowych kontrolerach domeny, na które chcemy replikować.

Najpierw należy zainstalować rsync.

Następnie trzeba utworzyć plik /usr/local/samba/etc/rsync-sysvol.secret i wpisać do niego hasło ustawione na głównym kontrolerze:
T@jn3hasl0
Do tego pliku również nie mogą mieć dostępu niepowołane osoby.

W celu uruchomienia replikacji należy wywołać polecenie:

# rsync --dry-run -XAavz --delete-after --password-file=/usr/local/samba/etc/rsync-sysvol.secret rsync://sysvol-replication@192.168.0.1/SysVol/ /usr/local/samba/var/locks/sysvol/

Po znaku '@' podajemy IP głównego kontrolera domeny. Po wykonaniu komendy efekt powinien być następujący:


Jeśli wszystko się udało należy wykonać powyższe polecenie jeszcze raz bez opcji --dry-run. Dopiero wówczas pliki zostaną skopiowane.

Jeśli chcemy aby replikacja uruchamiała się w określonych odstępach czasu, należy powyższe polecenie dodać do tablicy crone. W tym celu z poziomu użytkownika root wydajemy polecenie:

# crontab -e

i na końcu dodajemy:

59 23 * * * rsync -XAavz --delete-after --password-file=/usr/local/samba/etc/rsync-sysvol.secret rsync://sysvol-replication@192.168.0.1/SysVol/ /usr/local/samba/var/locks/sysvol/

W ten sposób replikacja będzie się uruchamiać codziennie o godzinie 23:59.

Synchronizacja czasu w domenie - NTP

Jedną z metod uwierzytelniania użytkowników domeny jest sprawdzanie przez Kerberosa czy czas (zegar systemowy) na komputerach klienckich i kontrolerze domeny jest taki sam. W celu zapewnienia synchronizacji czasu w Active Directory stosuje się protokół NTP. Na kontrolerze Samba4 w systemie Debian w prosty sposób można uruchomić serwer czasu i skonfigurować go do pracy w domenie.

Instalacja


Aby zainstalować serwer czasu należy wykonać polecenie:

# apt-get install ntp

Kolejnym krokiem jest konfiguracja pliku /etc/ntp.conf:


Wystarczy przepisać wszystko z powyższego obrazka.

Następnie należy zrestartować usługę poleceniem:

# service ntp restart


Serwer jest gotowy do pracy.

Synchronizacja czasu na komputerach klienckich


W systemie Windows XP w wierszu poleceń wykonujemy komendę:

w32tm /resync

Efekt powinien być następujący:


W systemie Windows 7 wywołujemy polecenie:

net time /set

Przy pytaniu Czy chcesz ustawić czas lokalnego komputera, aby zgadzał się
z czasem na \\serwer.naszej.domeny? (T/N) [T]: wciskamy Enter:


Jeśli w domenie są komputery klienckie lub dodatkowe kontrolery z systemem Linux, w celu synchronizacji czasu należy zainstalować na nich narzędzie ntpdate.

W systemach opartych na Debianie wykonujemy polecenie:

# apt-get install ntpdate

Synchronizacja odbywa się przez wykonanie polecenia:

# ntpdate 192.168.0.1

Podajemy adres IP serwera NTP w naszej domenie:


Źródła:


https://wiki.samba.org/index.php/Configure_NTP
http://dug.net.pl/tekst/166/serwer_ntp/
http://wss.geekclub.pl/forum/watek/synchronizacja-czasu-w-domenie,337205

środa, 8 stycznia 2014

Samba4 jako dodatkowy kontroler istniejącej domeny

Kilka osób zapytało mnie ostatnio jak dołączyć serwer z Sambą do istniejącej już domeny jako dodatkowy kontroler a przy okazji też jako dodatkowy DNS. Informacje na ten temat można znaleźć na stronie https://wiki.samba.org/index.php/Samba4/HOWTO/Join_a_domain_as_a_DC. Żeby jednak wszystko było jasne i zrozumiałe, pokusiłem się o szybki test i spieszę z podzieleniem się zdobytą wiedzą.

Za bazę do testów posłużył mi skonfigurowany wcześniej podstawowy kontroler domeny wg tego tutarialu: http://www.samba.org.pl/2013/09/active-directory-na-linuxie-kompletny.html. Zatem podłączyłem Sambę do Samby :)

A teraz o tym co trzeba robić po kolei.

Na początku należy otworzyć wspomniany wyżej tutorial i skonfigurować system, kończąc na punkcie III. 3. Oczywiście należy nadać komputerowi inną nazwę i numer IP.

Przy instalacji kerberosa pola Kerberos servers for your realm i Administrative server for your Kerberos realm można zostawić puste. Należy jednak pamiętać aby poprawnie wpisać nazwę domeny.

Kolejnym krokiem jest wyedytowanie pliku /etc/krb5.conf. Należy usunąć całą jego zawartość, pozostawiając tylko poniższą treść:

[libdefaults]
   default_realm = NAZWA.NASZEJ.DOMENY
   dns_lookup_realm = true
   dns_lookup_kdc = true

Następnie trzeba wyedytować plik /etc/resolv.conf wg wzoru:

nameserver 192.168.0.1
nameserver 192.168.0.2
domain nazwa.naszej.domeny
search nazwa.naszej.domeny

Jako pierwszy musi być wpisany DNS rozpoznający nazwy w domenie, czyli np. adres głównego kontrolera. Jako drugi podajemy adres konfigurowanego drugiego serwera.

Po dwóch powyższych krokach należy wykonać polecenie, które doda nowy kontroler do istniejącej domeny:

# /usr/local/samba/bin/samba-tool domain join nazwa.naszej.domeny DC -Uadministrator --realm=nazwa.naszej.domeny --dns-backend=BIND9_DLZ

Konfigurator zapyta o hasło administratora domeny a po jego wpisaniu rozpocznie się proces dodawania dodatkowego kontrolera. Po tej operacji powinien się wyświetlić komunikat taki jak ten:

Joined domain SAMBA (SID S-1-5-21-3565189888-2228146013-2029845409) as a DC

Oznacza on, że nigdzie nie popełniliśmy błędu :)

W kolejnych krokach wykonujemy punkty III. 6., III. 8. i III. 9. tutoriala.

Następnie możemy zalogować się do komputera z systemem Windows podpiętego do naszej domeny, na którym mamy zainstalowane narzędzia administracji serwerem. Po otwarciu przystawki "Użytkownicy i komputery usługi Active Directory" wchodzimy w Domain Controllers i po odświeżeniu powinniśmy zobaczyć dwa kontrolery naszej domeny:



Podobnie wybierając przystawkę "DNS":


Podczas otwierania przystawki "DNS" może wyświetlić się pytanie o to, z którym serwerem chcemy się połączyć. Należy wpisać którąś z nazw. Jeśli na liście brakuje któregoś serwera, należy kliknąć po lewej stronie na ikonę DNS i wybrać Podłącz do serwera DNS...

I to wszystko jeśli chodzi o instalację dodatkowego kontrolera domeny :)