Dengan semakin matangnya dukungan Active Directory pada samba4, maka mimin kavalinux mencoba untuk melakukan instalasi samba4 untuk dijadikan AC DC Server. Percobaan dilakukan mengunakan mesin virtual yang telah di install dengan distro Centos versi 6.5, instalasi menggunakan mode basic server dengan tambahan paket development.
Kebutuhan program
IP Address yang akan digunakan
- SERVER : 10.211.55.10
- GATEWAY : 10.211.55.1
- DNS SERVER : 10.211.55.10
- DNS FORWARD : 10.211.55.1
- NTP SERVER : 172.16.2.8
- Selalu update centos, agar selalu dalam kondisi prima.
- Pastikan nama server menggunakan aturan FQDN, contoh : server.kavalinux.net.
Gunakan perintah hostname untuk memastikan nama server yang digunakan sudah sesuai.[root@server.kavalinux.net:~] # hostname server.kavalinux.net
-
Update environment language, edit file /etc/environment, tambahkan baris berikut :
LANGUAGE=en_US.utf-8 LC_ALL=en_US.utf-8
-
Disable selinux, edit file /etc/selinux/config menjadi seperti berikut :
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
- reboot !!!!
INSTALASI SAMBA :
Sebelum melakukan kompilasi program, pastikan paket untuk melakukan kompilasi sudah terinstall.
install paket pendukung untuk kompilasi program
yum -y install gcc make python-devel gnutls-devel openssl-devel libacl-devel krb5-server krb5-libs krb5-workstation
kompilasi dan instalasi samba
tar xf samba-4.1.4.tar.gz ./configure --prefix=/opt/samba --enable-selftest make && make install
Setelah samba selesai di instal, langkah selanjutnya adalah menambahkan default library cache dan default path, berikut langkahnya :
-
Buat file baru dengan nama domain.sh di /etc/profile.d/, isi dengan :
export PATH=/opt/samba/bin:/opt/samba/sbin:$PATH
-
Buat file baru dengan nama domain.conf di /etc/ld.so.conf.d/, isi dengan :
/opt/app/samba/lib /opt/app/samba/lib64
-
Setelah menambahkan dua buah file diatas, untuk sementara supaya perubahan dapat langsung digunakan, ketik 2 buah perintah berikut di terminal :
export PATH=/opt/samba/bin:/opt/samba/sbin:$PATH ldconfig
KONFIGURASI NTP, SAMBA dan KERBEROS:
NTP
Sebelum melakukan provisioning domain menggunakan samba, pastikan waktu sudah tersinkronisasi dengan benar, untuk itu kita akan melakukan konfigurasi ntp server terlebih dahulu.
- Paksa update time menggunakan ntpdate : ntpdate -u 172.16.2.8
-
Backup file ntp.conf di direktori /etc, lalu buat file ntp.conf baru, isi dengan :
restrict 127.0.0.1 restrict 172.16.2.8 mask 255.255.255.255 nomodify notrap nopeer noquery restrict default kod nomodify notrap nopeer mssntp server 127.127.1.0 fudge 127.127.1.0 stratum 10 server 172.16.2.8 iburst prefer driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntp ntpsigndsocket /opt/samba/var/lib/ntp_signd/
-
Aktifkan dan jalankan service ntpd :
chkconfig --add ntpd chkconfig --level 345 ntpd on service ntpd start
SAMBA
Kita mulai provisioning domain baru dengan konfigurasi yang akan digunakan sebagai berikut :
– REALM : KAVALINUX.NET
– DOMAIN : KAVALINUX
– DNS Backend : SAMBA_INTERNAL
– DNS Forward IP address : 10.211.55.1
Ketik perintah dibawah ini untuk memulai provisioning :
samba-tool domain provision --use-rfc2307 --interactive --use-xattrs=yes
keterangan :
use-rfc2307, menambahkan attribut POSIX ke dalam schema AD, agar bisa menggunakan client dari linux, bsd atau OS X untuk autentikasi.
use-xattrs=yes, digunakan samba agar mendukung ACLs untuk file yang akan di share (pastikan file system di mount dengan dukungan ACLs).
Buat script service samba, letakan di direktori /etc/init.d.
Isi file service samba dengan :
#! /bin/bash # # samba4 This shell script takes care of starting and stopping # the Samba4 server # # chkconfig: - 91 35 # description: Samba provides file and print services to SMB/CIFS # Version 4 adds an Active Directory domain controller. # config: /opt/samba/etc/smb.conf # pidfile: /opt/samba/var/run/samba.pid # ### BEGIN INIT INFO # Provides: # Should-Start: # Short-Description: Start and stop the Samba4 server # Description: Samba provides file and print services to SMB/CIFS # Version 4 adds an Active Directory domain controller. ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions # Avoid using root's TMPDIR unset TMPDIR prog=samba4 samba=/opt/samba/sbin/samba pidfile=/opt/samba/var/run/samba.pid smbdpidfile=/opt/samba/var/run/smbd.pid # Check that smb.conf exists. [ -f /opt/samba/etc/smb.conf ] || exit 6 RETVAL=0 start() { echo -n $"Starting $prog: " daemon --pidfile=$pidfile $samba $SMBDOPTIONS RETVAL=$? echo return $RETVAL } stop() { echo -n $"Shutting down $prog: " killproc -p $pidfile $samba RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $pidfile && rm -f $smbdpidfile return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status -p $pidfile $samba RETVAL=$? ;; restart|reload) stop sleep 1 start ;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 1 esac exit $RETVAL
Konfigurasi agar file service samba jalan saat restart :
chmod +x /etc/init.d/samba chkconfig --add samba chkconfig --level 345 samba on
KERBEROS
Setelah selesai melakukan provisioning domain, selanjutnya akan dilakukan konfigurasi kerberos.
- Backup terlebih dahulu file krb5.conf yang ada pada direktori /etc.
-
Buat file krb5.conf baru pada direktori /etc, lalu isi dengan data sebagai berikut :
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = KAVALINUX.NET dns_lookup_realm = false dns_lookup_kdc = true ticket_lifetime = 24h renew_lifetime = 7d forwardable = true
TESTING INSTALASI
DNS
Pastikan DNS berjalan dengan normal, gunakan beberapa perintah dibawah ini :
host -t SRV _ldap._tcp.internal.domain.com. host -t SRV _kerberos._udp.internal.domain.com. host -t A server.internal.domain.com.
Berikut ini contoh hasil dari perintah diatas :
[root@server.kavalinux.net:~] # host -t SRV _ldap._tcp.kavalinux.net. _ldap._tcp.kavalinux.net has SRV record 0 100 389 server.kavalinux.net. [root@server.kavalinux.net:~] # host -t SRV _kerberos._udp.kavalinux.net. _kerberos._udp.kavalinux.net has SRV record 0 100 88 server.kavalinux.net. [root@server.kavalinux.net:~] # host -t A kavalinux.net. kavalinux.net has address 10.211.55.10
NT Authentication
Untuk memastikan otentikasi password berjalan dengan lancar, gunakan perintah dibawah ini untuk mengetesnya :
smbclient //localhost/netlogon -U Administrator -c 'ls'
Berikut ini contoh hasil dari perintah diatas :
[root@server.kavalinux.net:~] # smbclient //localhost/netlogon -U Administrator -c 'ls' Enter Administrator's password: Domain=[KAVALINUX] OS=[Unix] Server=[Samba 4.1.4] . D 0 Fri Jan 17 15:07:15 2014 .. D 0 Fri Jan 17 15:07:20 2014 44914 blocks of size 131072. 16149 blocks available
Kerberos
Untuk memeriksa apakah KDC berjalan dengan normal, gunakan perintah berikut ini :
kinit administrator@INTERNAL.DOMAIN.COM klist smbclient //serversubdomainname/netlogon -k -c 'ls'
Berikut ini contoh hasil dari perintah diatas :
[root@server.kavalinux.net:~] # kinit administrator@KAVALINUX.NET Password for administrator@KAVALINUX.NET: Warning: Your password will expire in 41 days on Fri Feb 28 15:07:19 2014 [root@server.kavalinux.net:~] # klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@KAVALINUX.NET Valid starting Expires Service principal 01/17/14 17:54:22 01/18/14 03:54:22 krbtgt/KAVALINUX.NET@KAVALINUX.NET renew until 01/24/14 17:54:20 [root@server.kavalinux.net:~] # smbclient //server/netlogon -k -c 'ls' Domain=[KAVALINUX] OS=[Unix] Server=[Samba 4.1.4] . D 0 Fri Jan 17 15:07:15 2014 .. D 0 Fri Jan 17 15:07:20 2014 44914 blocks of size 131072. 16149 blocks available
Selanjutnya??
Kalau sampai test di atas tidak ada error, berarti konfigurasi sudah selesai dan samba4 sudah berjalan dengan mulus :D. selanjutnya join-kan salah satu windows client dan login dengan user Administrator lalu install Windows Remote Administration Tools untuk mengkonfigurasi AD lebih lanjut, (cara install Remote Administration Tools bisa dibaca di wiki samba)
Source: Kavalinux
[youtube=https://youtu.be/hmvSouckp4Y]
[youtube=https://youtu.be/id-5L4HUVPU]