Samba4 Active Directory Domain Controller

Üdv!
Egyelőre teszt jelleggel próbálom lxc konténerben: centos7, samba4, kerberos, domain controller.
Két doksit néztem, szépen működik is a dolog, de a teszt még nem teljes. :)
https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Director…
https://www.howtoforge.com/tutorial/samba-4-domain-controller-installat…


~# yum install epel-release -y
~# yum install perl gcc libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig krb5-workstation zlib-devel setroubleshoot-server libaio-devel setroubleshoot-plugins policycoreutils-python libsemanage-python setools-libs-python setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel cyrus-sasl-devel cups-devel bind-utils libxslt docbook-style-xsl openldap-devel pam-devel bzip2 vim wget -y
~# wget https://download.samba.org/pub/samba/stable/samba-4.6.0.tar.gz
~# tar -zxvf samba-4.6.0.tar.gz
~# cd samba-4.6.0
~# ./configure --enable-debug --enable-selftest --with-ads --with-systemd --with-winbind
~# make && make install
~# nano /etc/krb5.conf
#includedir /etc/krb5.conf.d/
~# samba-tool domain provision --use-rfc2307 --interactive
~# firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;firewall-cmd --add-port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent; \
firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;firewall-cmd --add-port=139/tcp --permanent; \
firewall-cmd --add-port=389/tcp --permanent;firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \
firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;firewall-cmd --add-port=636/tcp --permanent; \
firewall-cmd --add-port=1024-5000/tcp --permanent;firewall-cmd --add-port=3268-3269/tcp --permanent
~# firewall-cmd --reload

# nano /etc/systemd/system/samba.service
[Unit]
Description= Samba 4 Active Directory
After=syslog.target
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/samba/var/run/samba.pid
ExecStart=/usr/local/samba/sbin/samba

[Install]
WantedBy=multi-user.target

### --- service ---
~# systemctl enable samba
~# systemctl start samba

A samba-tool-t nem találtam centos7-ben, csak ezért tettem fel a howtoforge szerint.
Ha jól néztem, akkor a samba4 felteszi a saját dns és egyéb szolgáltatásait + kerberos.
Az sssd-t mikor érdemes feltenni a szerveren? Az autentikációban és távoli könyvtár elérésben van jelentősége.

Kinek mi a tapasztalata (samba4+kerberos+sssd) Windows10 környezetben?

Hozzászólások

Én sssd helyett nslcd-t használok a Linuxon, amúgy működik minden 2 DC-vel, replikációval.

Szia

Most Te sima Domain Controllert szeretnél, vagy Active Dyrectory-s Domain Controllert?

Sajnos Centosban alapból nincs bent, vagy külső tárolóból telepítesz vagy leforgatsz egy sambát magadnak. Utóbbi nem a legjobb megoldás, ha rendszeresen frissíteni akarod. Én abba fáradtam bele. Normális repót meg nem találtam, amiben benne van.

Ez alapján a video alapján, valamint SZBlacky kolléga irományát (DEBIAN) tanulmányozva csináltam egy egészen jó szájbarágós doksit kimondottan Centosra, ha gondolod privben átdobom.

powered by ©gentoo

Néhány tipp:
* ha rám hallgatsz, egyelőre elfelejted a CentOS-t (esetleg nézd meg a RHEL 8 bétát, RHEL 8-ra ígérték, hogy lehet, hogy a Samba AD-DC technológiai előzetes státuszt kap). RHEL vonal egyelőre szívás, mert a Samba mindenhol Heimdal kerberost használ, a RHEL eléggé ragaszkodik az MIT-féle implementációhoz [és sokat dolgoznak az összekötésén, haladnak is vele, de so-so]... az már mondjuk bíztató, hogy Fedora-ban nem csak egy txt fájl a samba-dc csomag, hogy "Előbb-utóbb lesz"...
* ha mindenképp RHEL vonalon akarsz maradni (és a 8-as bétában még nincs csomag vagy nincs időd a CentOS 8-at megvárni), egyelőre nézz szét Fedorán, egyébként Debian (utóbbin évek óta szépen stabilan megy a Samba AD, egyszer volt breaking change a Heartbleed-kor [ott csináltak egy talán 4.1 - 4.2 váltást, mert a patcheket backportolni katasztrófa lett volna, és a kettő közti winbindd váltás miatt bele kellett nyúlni a konfigba]
* SSSD-t a szerverre ne tegyél, vagy ha igen, nagyon nézd meg a host keytab frissítést (egy-két topic itt is van a HUP-on, ahol felmerült: az SSSD alapbeállításon a rendszer keytabot használja [/etc/krb5.keytab], a Samba alapbeállításon _szintén_ a rendszer keytab-ot használja és nem szerencsés, hogy az SSSD havonta új keytabot csinál alapbeállításon, ha a DC-ről van szó...), DC-ken szvsz. a winbindd + pam_winbindd bőven elég
* Ha már csomagból fordítod és most építed a rendszert, kezd az aktuális legfrissebbel, a 4.6-os ág jó ideje EOL (speciel a 4.8 óta, most 4.10 a legfrissebb) - a csomagból telepítésnek ez az előnye megvan, hogy a secu patchek backportolását elvégzi a disztribúció készítője, egyébként kiadáson belül többnyire marad a főverzió.

Tapasztalat: Két Debian-alapú DC + Windows 7, 2008 R2 és 10 kliensek szépen működnek (a sysvol replikáció spec nem hiányzik, amikor hozzányúlok a GP-hez, kézzel indítok egy robocopy /mir /sec -et, oszt jónap)

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Most, ahogy a hozzászóláshoz ránéztem, hogy még mindig csak egy txt van-e az rpm-ben, láttam , innen az "az már mondjuk biztató" rész :) (a tavalyi SambaXP-ig követtem a történteket, ott ígérték a Fedora X-et, ezek szerint X+N N>=1 lett belőle, mert úgy rémlik, az ígért release-be még nem került bele, ezért vagyok bizonytalan RHEL 8-ilag, mert mintha azt meg arra a releasere építenék)

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

"ha rám hallgatsz, egyelőre elfelejted a CentOS-t"

Erre sajnos én is rájöttem. Jó a Centos, meg a red hat vonal, de mivel ott a biztonság a legfontosabb, kevésbé rugalmas a rendszer, ha faragni kell.

Erre a célra tényleg jobb választás egy Debian vagy Ubuntu.

powered by ©gentoo

A tűzfalhoz mi kell még?
Ezek majdnem jók:

firewall-cmd --add-service={dns,kerberos,kpasswd,ldap,ldaps,samba} --permanent
firewall-cmd --add-port={135/tcp,137-138/udp,139/tcp,3268-3269/tcp,49152-65535/tcp} --permanent

firewall-cmd --add-port=53/tcp --permanent;
firewall-cmd --add-port=53/udp --permanent;
firewall-cmd --add-port=88/tcp --permanent;
firewall-cmd --add-port=88/udp --permanent;
firewall-cmd --add-port=135/tcp --permanent;
firewall-cmd --add-port=137-138/udp --permanent;
firewall-cmd --add-port=139/tcp --permanent;
firewall-cmd --add-port=389/tcp --permanent;
firewall-cmd --add-port=389/udp --permanent;
firewall-cmd --add-port=445/tcp --permanent;
firewall-cmd --add-port=464/tcp --permanent;
firewall-cmd --add-port=464/udp --permanent;
firewall-cmd --add-port=636/tcp --permanent;
firewall-cmd --add-port=1024-5000/tcp --permanent;
firewall-cmd --add-port=3268-3269/tcp --permanent

## firewall-cmd --reload

Ha kikapcsolom a tűzfalat, akkor működik. Mi marad ki?