Domeenikontrolleri seadistamine Samba4 näitel09. May '15

Sissejuhatus

Domeenikontroller pakub kohtvõrgule mitmeid võtmeteenuseid: keskne autentmine, nimeserveri teenus, Windows tööjaamade keskne haldus ja paljugi muud 1.

ubuntu-mate.matiWANdc1.matirouter.matiweb.matiwindoge.mati

Domeenikontroller ja teenusserverid

Domeenikontrolleri pakutavatest teenustest annab ülevaate tüüpiline pordiskäneering, mis näeb välja järgnev:

53/tcp   open  domain                # DNS nimelahendus
53/udp   open  domain
88/tcp   open  kerberos-sec          # Autentimine Kerberosega
88/udp   open  kerberos-sec
135/tcp  open  msrpc                 # NetBIOS, nimelahendus vanadele Windowsi tööjaamadele
139/tcp  open  netbios-ssn
389/tcp  open  ldap                  # LDAP kasutajakontode ja masinate kohta info pärimiseks
389/udp  open  ldap                  # LDAP Search over UDP
445/tcp  open  microsoft-ds          # NetBIOS over TCP, Samba failiserver jms
464/tcp  open  kpasswd5              # Kerberos paroolivahetus
464/udp  open  kpasswd5
636/tcp  open  ldapssl               # LDAPS ehk LDAP üle TLS-i
1024/tcp open  kdm                   # AD RPC päringud a'la domeeni liitmine
3268/tcp open  globalcatLDAP         # Global Catalog üle LDAP-i
3269/tcp open  globalcatLDAPssl      # Global Catalog üle LDAPS-i

Käesolev juhend eeldab, et masinasse on paigaldatud Ubuntu 14.04 LTS või Debian 8 jessie ning et IP-aadressid on staatiliselt seadistatud.

1

https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO

Paigaldus

Samba4 paigaldamiseks piisab sel juhul:

apt-get install samba \
   samba-vfs-modules smbclient \
   winbind krb5-user ldap-utils

Eemalda eelnev Samba seadistuste fail:

rm -fv /etc/samba/smb.conf

Samba seadistamine koos RFC2307 attribuutidega, sisse-ehitatud nimeserveriga domeenikontrolleriks:

samba-tool domain provision \
    --use-rfc2307 \
    --server-role=dc \
    --domain=MATI \
    --realm=MATI.LAN \
    --host-name=dc1

Important

Oluline on märkida realm läbiva suurtähtega!

Veendu et /etc/hostname failis oleks ülal seadistatud masinanimi, antud juhul dc1.

See käsk loob ka Kerberose võtmejaotuskeskuse seadistuste, mille võib otse linkida /etc/krb5.conf alla:

rm -fv /etc/krb5.conf
ln -s /var/lib/samba/private/krb5.conf /etc/krb5.conf

Siinkohal domain MATI viitab NetBIOS töögrupile, mis enam tänapäeval pole nii oluline. Palju rohkem huvipakkuvam on Kerberose realm MATI.LAN millest saab samaaegselt mati.lan DNS domeeni suffiks.

Domeenikontrolleri paigaldamisel luuakse ka Administrator konto ning kuvatakse parool selle konto jaoks, kui konto parool kaduma peaks minema saab parooli lähtestada nii:

samba-tool user setpassword administrator

Ilmselt võib ka parooli aegumised keelata:

samba-tool domain passwordsettings set --max-pwd-age=0
samba-tool domain passwordsettings set --min-pwd-age=0

Failis /etc/samba/smb.conf täpsusta upstream DNS serverid millele päringuid edastada:

[global]
# ...
# ...
dns forwarder = 8.8.8.8
# ...
# ...

Lõpuks (taas)käivita teenused:

service smbd stop
service nmbd stop
service samba-ad-dc stop
service samba-ad-dc start

Veendu et samba, smbd ja winbind protsessid töötavad:

pgrep -a samba     # LDAP, Kerberos, DNS
pgrep -a smbd      # SMB/CIFS failiserver
pgrep -a winbind   # UID/SID mapping

Vaata et samba protsess

netstat -lntup

OpenWrt marsruuteri seadistamine

Kui marsruuterit pole seni ümber seadistatud pakutakse DHCP-ga nimeserveriks samuti marsruuterit ennast. Selleks, et kogu kooslus hakkaks nimeserveriga õigesti toimima tuleb marsruuteri DHCP server ümber seadistada pakkuma primaarse domeenikontrolleri kui ka sekundaarse domeenikontrolleri IP aadresse.

OpenWrt puhul ava veebiliides ning leia peamenüü Network alt võrguliideste nimistu Interfaces:

img/openwrt-main-menu-interfaces.png

Vali kohtvõrgule vastav võrguliides LAN ning klõpsa nupul Edit:

img/openwrt-edit-lan-interface.png

Keri allapoole ning leia DHCP Server sektsioonist Advanced Settings alt DHCP-options nimistu. Sisesta 6,192.168.1.2,192.168.1.3 asendades 192.168.1.2 ning 192.168.1.3 oma primaarse ja sekundaarse domeenikontrolleri IP-aadressidega.

img/openwrt-lan-interface-advanced-settings.png

Salvesta muudatused klõpsates nupul Save. Seejärel vali peamenüü Network alt DHCP-serveri seaded DHCP and DNS:

img/openwrt-main-menu-dhcp-and-dns.png

korrigeeri Local server ning Local domain välju vastavalt oma domeeni suffiksile:

img/openwrt-dhcp-and-dns.png

Muudatuste salvestamiseks ja rakendamiseks klõpsa Save & Apply. DHCP-ga IP saanud masinates küsi uued seadistused.

Debian marsruuteri seadistamine

Juhul kui marsruuteriks on hoopiski Debian koos tavalise dnsmasq teenusega, lisa lihtsalt konfiguratsioonifaili lõppu:

# Paku DHCP-ga õiget domeeni suffiksit
domain=mati.lan

# Paku DHCP-ga DNS serveriteks domeenikontrollereid
dhcp-option=option:dns-server,192.168.1.2,192.168.1.3

Seejärel taaskäivita teenus:

service dnsmasq restart

Lisaks korrigeeri /etc/resolv.conf sisu:

search mati.lan
domain mati.lan
nameserver 192.168.1.2
nameserver 192.168.1.3

Asenda näidetes olev 192.168.1.2 ja 192.168.1.3 oma domeenikontrolleri IP aadressidega.

Replikatsioon

Täiendav domeenikontroller paigalda eraldi masinasse. Operatsioonisüsteemina võid kasutada nagu ikka Debiani.

Seejärel paigalda Samba vahendid:

apt-get install samba samba-vfs-modules krb5-user libsasl2-modules-gssapi-mit

Eemalda eelnev Samba konfiguratsioon:

rm -fv /etc/samba/smb.conf

Liida masin domeeni sekundaarse domeenikontrollerina:

samba-tool domain join mati.lan DC -Uadministrator --realm=MATI.LAN

BIND9 seadistamine

Vaikimisi samba-tool seadistab domeenikontrolleri koos sisse-ehitatud DNS serveriga. Kui on huvi panna BIND9 nimeserver kasutama Samba andmebaasi tsoone siis see on võimalik üsna hõlpsalt vastava nimelahenduse tagarakendiga 2. Kui tegu on sekundaarse domeenikontrolleriga, tuleks see käima lasta korraks sisemise DNS lahendajaga, enne kui BIND9 tagarakend sisse lülitatakse.

Esmalt paigalda BIND9:

apt-get install bind9

Loo /etc/bind/named.conf:

dlz "AD DNS Zone" {
    database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so";
};

options {
    auth-nxdomain yes;
    directory "/var/named";
    notify no;
    empty-zones-enable no;

    allow-query {
        0.0.0.0/0;
        # Lisa võrgud kust lubatakse pärida sisevõrgu DNS kirjeid
    };

    allow-recursion {
        127.0.0.1;
        192.168.110.0/24;
        # Kindlasti MITTE lisada 0.0.0.0/0;
    };

    forwarders {
        # Upstream DNS servers
        8.8.8.8;
        8.8.4.4;
    };

    allow-transfer {
        # this config is for a single master DNS server
        none;
    };

};


# Root servers (required zone for recursive queries)
zone "." {
   type hint;
   file "named.root";
};

# Required localhost forward-/reverse zones
zone "localhost" {
    type master;
    file "master/localhost.zone";
};

zone "0.0.127.in-addr.arpa" {
    type master;
    file "master/0.0.127.zone";
};

Loo /var/named kui seda pole veel juba tehtud:

mkdir -p /var/named/master

Laadi alla DNS juurserverite nimistu:

curl http://www.internic.net/domain/named.root > /var/named/named.root

Loo loopback tsoonid failis /var/named/master/localhost.zone:

$TTL 3D

$ORIGIN localhost.

@       1D      IN     SOA     @       root (
                       2013050101      ; serial
                       8H              ; refresh
                       2H              ; retry
                       4W              ; expiry
                       1D              ; minimum
                       )

@       IN      NS      @
        IN      A       127.0.0.1

Ning reverse DNS kirjed /var/named/master/0.0.127.zone:

$TTL 3D

@       IN      SOA     localhost. root.localhost. (
                        2013050101      ; Serial
                        8H              ; Refresh
                        2H              ; Retry
                        4W              ; Expire
                        1D              ; Minimum TTL
                        )

       IN      NS      localhost.

1      IN      PTR     localhost.

Korrigeeri failiõigusi:

find -type d /var/named -exec chmod 750 {} \;
find -type f /var/named -exec chmod 640 {} \;
chown root:bind -R /var/named

Seadista domeenikontroller ringi:

samba_upgradedns --dns-backend=BIND9_DLZ

Failis /etc/samba/smb.conf lülita välja dns teenus:

[global]
# ...
# ...
server services = ..., -dns
# ...
# ...

Lõpuks (taas)käivita teenused:

service smbd stop
service nmbd stop
service samba-ad-dc stop
service samba-ad-dc start
service bind9 stop
service bind9 start
2

https://wiki.samba.org/index.php/DNS_Backend_BIND

Kerberos LDAP samba4 training