Membuat Active Directory Domain Controller Server di Ubuntu Server 16.04 Menggunakan Samba

Ubuntu Server

Setup

Domain: ZAKKY.LOCAL
Hostname Server: server

1. Install Ubuntu Server 16.04 seperti biasa.
2. Lakukan update & upgrade software packages.

$ apt update
$ apt upgrade

3. Install beberapa software packages yang dibutuhkan.

# git
# build-essential
# libacl1-dev
# libattr1-dev
# libblkid-dev
# libgnutls-dev
# libreadline-dev
# python-dev
# python-dnspython
# gdb
# pkg-config
# libpopt-dev
# libldap2-dev
# dnsutils
# libbsd-dev
# attr
# krb5-user
# docbook-xsl
# libcups2-dev
# libpam0g-dev
# ntp

4. Ketika instalasi berjalan, masukkan beberapa konfigurasi untuk Kerberos.

# realm: FAVEHOTELS.LOCAL
# kerberos server: server
# administrative server: server

5. Download dan Install Samba.

$ git clone -b v4-1-stable git://git.samba.org/samba.git samba4
$ cd samba4
$ ./configure --enable-debug --enable-selftest
$ make
$ make install

6. Melakukan domain provision.

$ /usr/local/samba/bin/samba-tool domain provision --realm=zakky.local --domain=FAVEHOTELS --adminpass="adminZAKKY123" --server-role=dc --dns-backend=SAMBA_INTERNAL

7. Verifikasi Samba.

$ /usr/local/samba/sbin/samba
$ /usr/local/samba/sbin/samba --version
$ /usr/local/samba/bin/smbclient -L localhost -U%
$ /usr/local/samba/bin/smbclient //localhost/netlogon 
  -UAdministrator%"adminFAVE123" -c 'ls'

8. Tambahkan domain ke file resolv.conf.

$ echo "domain FAVEHOTELS.LOCAL" >> /etc/resolv.conf

9. Tambahkan DNS Forwarder pada konfigurasi Samba.

$ nano /usr/local/samba/etc/smb.conf
// dns forwarder = 8.8.8.8

10. Konfigurasi pada Kerberos.

$ nano /usr/local/samba/share/setup/krb5.conf
// default_realm = FAVEHOTELS.LOCAL

11. Test Kerberos.

$ kinit Administrator@FAVEHOTELS.LOCAL
$ klist -e

12. Konfigurasi Samba untuk file sharing.

$ nano /usr/local/samba/etc/smb.conf
// [profile]
// directory_mode:parameter = 0700
// read only = no
// path = /Users
// csc policy = User Profile Folder

13. Set expiration untuk user Administrator.

$ /usr/local/samba/bin/samba-tool user setexpiry administrator --noexpiry

14. Dapat juga menonaktifkan password complexity.

$ /usr/local/samba/bin/samba-tool domain passwordsettings set --complexity=off

Problem Solving

Jika terdapat error pada server, baik ketika meminta akses atau ticket untuk kerberos atau Samba berjalan tidak normal maka dapat melakukan langkah-langkah di bawah ini:

1. kinit: Cannot contact any KDC for realm ….
–> Pastikan Samba berjalan dengan baik. Jika masih terdapat error, maka bisa melakukan restart server.

$ smbclient -L localhost -U%

–> Pastikan server dapat melakukan ping menggunakan FQDN server tersebut. Jika tidak, silahkan cek lagi konfigurasi hostname dan DNS resolv nya di /etc/resolv.conf.

$ ping server.zakky.local

2. klist: Credentials cache file ‘/tmp/krbcc_0’ not found
Pastikan user Administrator aktif atau memilii ticket untuk akses.

$ klist -e
$ kinit Administrator@FAVEHOTELS.LOCAL

3. session setup failed: NT_STATUS_INVALID_SERVER_STATE
Pastikan Samba berjalan normal atau bisa melakukan restart pada server.

Join Domain dan Manajemen AD DC pada Windows

1. Pastikan jam yang berjalan pada server dan client Windows 7 sama.
2. Lakukan join domain dari Windows 7 ke Domain Controller ZAKKY.LOCAL.
3. Download dan install RSAT untuk melakukan manajemen Domain Controller.
4. Aktifkan beberapa fitur pada Windows:

# Group Policy Management Tools
# Windows System Resource Management Tools
# Active Directory Module for Windows PowerShell
# Active Directory Administrative Center
# AD DS Snap-ins and Command-line Tools
# File Server Resource Management Tools
# Server Manager

5. Pastikan 2 fitur utama untuk melakukan manajemen AD DC sudah terpasang.

# Active Directory Users and Computers
# Group Policy Management

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.