[Tutorial]: Membangun Active Directory/Domain Crontroller menggunakan Samba4 di CentOS 6.5

samba_logo

Author: Luthfi Setioutomo.


Tutorial: Membangun Active Directory/Domain Crontroller menggunakan Samba4 di CentOS 6.5

 Apa itu Active Directory ?

Active Directory adalah struktur direktori yang berfungsi untuk menyimpan informasi dan data pada sebuah jaringan domain, digunakan pada komputer berbasis Microsoft Windows.

Active Directory digunakan oleh sistem administrator untuk menyimpan informasi tentang user, menetapkan kebijakan keamanan, dan membangun software. Fitur ini akan sangat berguna jika diaplikasikan dalam suatu perusahaan yang menggunakan komputer untuk operasionalnya dan membutuhkan user account untuk aplikasi dan keamanan.

Selanjutnya server dengan Active Directory akan bertindak sebagai Domain Controller pada sebuah domain. Dia yang mengatur seluruh permintaan autentikasi keamanan (loging in aplikasi maupun windows).

Apa saja yang dibutuhkan ?

Berikut adalah hal-hal yang dibutuhkan, yaitu :

1. Sistem operasi CentOS 6.5

2. Aplikasi Samba4 beserta depedensinya dan aplikasi pendukung lainnya

cek Samba4 OS Requirements

Persiapan

Sistem operasi yang digunakan adalah CentOS 6.5 dan sudah terhubung dengan jaringan lokal dengan IP address 192.168.107

# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:0A:4F:2E
          inet addr:192.168.0.107  Bcast:192.168.0.127  Mask:255.255.255.128
          inet6 addr: fe80::a00:27ff:fe0a:4f2e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:52615 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1923 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4370764 (4.1 MiB)  TX bytes:576005 (562.5 KiB)

Jika perlu, update sistem operasi terlebih dahulu

# yum -y update

Untuk memudahkan dalam konfigurasi dan uji coba, matikan service iptables dan selinux terlebih dahulu

# chkconfig iptables off
# service iptables stop
--------------------------------
# vi /etc/sysconfig/selinux

SELINUX=disabled

Pastikan tidak ada paket samba versi sebelumnya (Samba 3), jika ada hapus paket tersebut

# rpm -qa | grep samba
# yum remove samba-*

Selanjutnya menbambahkan option ACL untuk file system / (root) di /etc/fstab. Tambahkan juga jika partisi seperti var, usr, dll dibuat terpisah dengan / (root).

/dev/mapper/VolGroup-lv_root /                       ext4    defaults,user_xattr,acl,barrier=1        1 1
UUID=e817dee7-e86f-4e83-984b-efe74394bf00 /boot      ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                     tmpfs   defaults        0 0
devpts                  /dev/pts                     devpts  gid=5,mode=620  0 0
sysfs                   /sys                         sysfs   defaults        0 0
proc                    /proc                        proc    defaults        0 0

Restart sistem operasi sebelum melakukan isntalasi Samba4

# Reboot

Instalasi Samba4

install paket-paket prerequisite dari samba 4

# yum -y install 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

selanjutnya download paket samba yang terakhir release

# wget http://ftp.samba.org/pub/samba/samba-latest.tar.gz

ekstrak paket tersebut, compile dan install samba4

# tar -xzf samba-latest.tar.gz
# cd samba-latest/
# ./configure.developer --enable-selftest --enable-debug
# make
# make install

Membuat Domain

Realm yang digunakan adalah CENT.COM dengan domain CENT, dan server bertindak sebagai Domain Controller

# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
Realm [CENT.COM]:
 Domain [CENT]:
 Server Role (dc, member, standalone) [dc]:
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
 DNS forwarder IP address (write 'none' to disable forwarding) [182.23.48.29]:

DNS yang digunakan adalah Samba_Internal dan hanya sebagai forwarder ke DNS yang sudah existing di 182.23.48.29.
DNS bisa diganti dengan Bind.

Selanjutnya salin konfigurasi untuk kerberos yang sudah tersedia setelah melakukan Provision di /usr/local/samba/private/krb5.conf ke /etc/

# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

ubah nameserver di /etc/resolve.conf ke server samba

# vi /etc/resolv.conf
-------------------------------
search cent.com
nameserver 192.168.0.107

buat script untuk memudahkan mematikan dan menghidupkan service samba4, dengan membuat file di /etc/init.d/samba4 dan  isi dengan konfigurasi dibawah ini

#! /bin/bash
#
# samba4 Bring up/down samba4 service
#
# chkconfig: - 90 10
# description: Activates/Deactivates all samba4 interfaces configured to
# start at boot time.
#
### BEGIN INIT INFO
# Provides:
# Should-Start:
# Short-Description: Bring up/down samba4
# Description: Bring up/down samba4
### END INIT INFO
# Source function library.
. /etc/init.d/functions

if [ -f /etc/sysconfig/samba4 ]; then
. /etc/sysconfig/samba4
fi

CWD=$(pwd)
prog="samba4"

start() {
# Attach irda device
echo -n $"Starting $prog: "
/usr/local/samba/sbin/samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then success $"samba4 startup"; else failure $"samba4 startup"; fi
echo
}
stop() {
# Stop service.
echo -n $"Shutting down $prog: "
killall samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then failure $"samba4 shutdown"; else success $"samba4 shutdown"; fi
echo
}
status() {
/usr/local/samba/sbin/samba --show-build
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status irattach
;;
restart|reload)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac

exit 0

aktifkan service samba4 dan juga pada startup

# chkconfig samba4 on
# service samba4 start

 Testing Samba

cek versi dari samba

# /usr/local/samba/sbin/samba -V
Version 4.1.4
# /usr/local/samba/bin/smbclient --version
Version 4.1.4
# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[CENT] OS=[Unix] Server=[Samba 4.1.4]

        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        Share           Disk      Sharing Folder
        IPC$            IPC       IPC Service (Samba 4.1.4)
Domain=[CENT] OS=[Unix] Server=[Samba 4.1.4]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------

cek domain setiap service

# host -t SRV _ldap._tcp.cent.com.
_ldap._tcp.cent.com has SRV record 0 100 389 dc.cent.com.
# host -t SRV _kerberos._udp.cent.com.
_kerberos._udp.cent.com has SRV record 0 100 88 dc.cent.com.
# host -t A dc.cent.com.
dc.cent.com has address 192.168.0.107

cek autentikasi lewat kerberos

# kinit administrator@CENT.COM
Password for administrator@CENT.COM:
Warning: Your password will expire in 14 days on Thu Apr  3 02:17:25 2014
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@CENT.COM

Valid starting     Expires            Service principal
03/19/14 02:56:09  03/19/14 12:56:09  krbtgt/CENT.COM@CENT.COM
        renew until 03/20/14 02:56:06

Samba4 Domain Controller siap digunakan. untuk management dan proses join domain akan dilanjutkan di post berikutnya.

 


lintasmediadanawa.com | cozy.co.id