Membangun Linux Active Directory Server Berbasis Samba 4 – (Build Samba From Source)

Oke, untuk artikel ini, tidak jauh berbeda dengan artikel sebelumnya yakni membangun active directory linux berbasis samba. bedanya hanya disini instalasi samba menggunakan source yang  kemudian kita kompile sendiri, kemudian DNS yang digunakan adalah Bind9, tidak menggunakan Samba Internal DNS seperti pada artikel sebelumnya. oke langsung saja berikut caranya ;

Information System

Sistem Operasi = Ubuntu 18.04 Server

Samba versi = Samba 14.13.4

IP Address Server = 192.168.15.55/24

Gateway = 192.168.15.1

DNS Server = 192.168.15.55, 8.8.8.8

Hostname = samba4.ombangambing.com

Domain = ombangambing.com

 

Konfigurasi Operating Sistem

Konfigurasi Network

pada ubuntu 18.04, konfigurasi network seperti berikut ;

lalu berikut konfigurasi IP addressnya;

kemudian test apakah konfigurasi sudah benar, dengan cara ketikkan netplan try , Kemudian Tekan Enter ;

Note : Jika setelah tekan Enter muncul tulisan “Configuration Accepted”, artinya konfigurasi sudah benar.

setelah itu, lakukan pengecekkan apakah IP sudah sesuai dengan konfigurasi, dengan cara ;

Atau bisa juga menggunakan ip addr ;

konfigurasi network sudah selesai.

Konfigurasi /ETC/HOSTS

lakukan konfigurasi /etc/hosts seperti berikut;

lalu save dengan tekan ctrl + x kemudian tekan Y.

Konfigurasi Hostname

Untuk konfigurasi hostname jalankan perintah berikut ;

setelah itu, lakukan pengecekkan perubahannya dengan cara ;

Namun konfigurasi hostname diatas akan otomatis berubah ketika dilakukan restart. Perubahan tersebut dilakukan secara otomatis oleh cloud-init. maka dari itu service cloud-init bisa di uninstall. dengan cara ;

Konfigurasi /ETC/RESOLV.CONF

Pada Ubuntu 18.04 terdapat services systemd-resolved. services ini sudah otomatis running dan menggunakan port 53 UDP. Dikarenakan port 53 UDP tersebut akan digunakan oleh Bind9, maka lakukan disable service tersebut dan konfigurasi /etc/resolve.conf secara manual.

kemudian save file dengan cara tekan ctrl + x, kemudian tekan Y.

Update & Upgrade Pakage

Agar sistem yang digunakan lebih uptodate, lakukan update dan upgrade ubuntu pakage sebelum masuk pada proses berikutnya;

oke, jika sudah, lanjut ke instalasi samba4.

Instalasi Samba4

Pada Instalasi Samba4 menggunakan resource langsung dari Samba, perlu dilakukan pengecekkan dan perhatian sebelum melakukan instalasi. karena berbeda versi samba dan versi OS yang diinstall, mempunyai pakage depedensi yang berbeda, maka penting terlebih dahulu mencari informasi dulu ke website samba. :).

Instalasi Depedensi Samba4

Download Pakage Samba4

Download samba4 pada website https://download.samba.org/pub/samba/stable/samba-latest.tar.gz dan pilih file tarball samba4 versi terakhir atau latest release. berukut caranya ;

Install Samba4

Untuk melakukan instal, berikut perintahnya ;

tunggu proses instalasi selesai, butuh wakktu yang cukup lama untuk ubuntu melakukan instalasi.

NOTE : kesuksesan dalam proses install samba4, tergantung dengan proses install pakage depedensi sebelumnya, masing-masing versi pada samba4, bisa saja memiliki file depedensi yang berbeda, maka pastikan dan perhatikan versi OS dan versi samba yang digunakan. kemudian cari informasi pada website samba. sebagai berikut ;

https://wiki.samba.org/index.php/Package_Dependencies_Required_to_Build_Samba#Distribution-specific_Packages_Required_to_Build_Samba

tepatnya pada bagian ini ;

samba4 pakage depedencies

Provisioning Samba4

Provisioning ini adalah proses menjadikan samba 4 sebagai Active Directory atau Domain Controller (tergantung saat melakukan provisioning).

Sesuai dengan Informasi Sistem diatas, nama domain yang digunakan adalah OMBANGAMBING.COM. nama Hostname samba4. maka provisioning dapat dilakukan seperti ;

berikut contohnhya ;

Hasil instalasi samba4 diatas berada pada folder “/usr/local/samba/”.

jika sudah selesai dan berhasil, lakukan start dengan cara ;

untuk melakukan stop service, dapat menggunakan perintah pkill ;

Automatic Running Samba Service

Agar otomatis service samba running pada saat setelah booting, maka perlu script untuk menjalankan secara otomatis. scrip ini saya dapat dari mas imanudin dari excellent. melalui http://imanudin.com/wp-content/uploads/2013/08/samba4.txt

Berikut caranya ;

Konfigurasi Dynamic DNS Server

Ada beberapa tahapan dalam konfigurasi Dynamic DNS ;

Edit File /etc/bind/named.conf.

Samba memiliki file named.conf sendiri untuk konfigurasi DNS dengan metode DLZ. tambahkan perintah  include “/usr/local/samba/bind-dns/named.conf” ke dalam file named.conf. berikut contohnya ;

kemudian save dengan menekan tombol CTRL + X lalu tekan Y.

Disable Apparmor Service

Apparmor menimbulkan konflik dengan Dynamic DNS.

Setting DNS Bind9 Service

Kemudian checking versi dari DNS Server Bind9 yang digunakan dengan perintaah dpkg -l bind9 atau named -v. Informasi tentang versi yang digunakan ini berguna untuk memastikan agar samba4 menggunakan bind versi 9.8.x keatas yang sudah mendukung model dynamic dns. Ubuntu yang saya pakkai menggunakan Bind versi 9.11.x. berikut cara ngeceknya ;

# named -V
BIND 9.11.3-1ubuntu1.14-Ubuntu (Extended Support Version) <id:a375815>
running on Linux x86_64 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 05:20:47 UTC 2021
built by make with ‘–build=x86_64-linux-gnu’ ‘–prefix=/usr’ ‘–includedir=/usr/include’ ‘–mandir=/usr/share/man’ ‘–infodir=/usr/share/info’ ‘–sysconfdir=/etc’ ‘–localstatedir=/var’ ‘–disable-silent-rules’ ‘–libdir=/usr/lib/x86_64-linux-gnu’ ‘–libexecdir=/usr/lib/x86_64-linux-gnu’ ‘–disable-maintainer-mode’ ‘–disable-dependency-tracking’ ‘–libdir=/usr/lib/x86_64-linux-gnu’ ‘–sysconfdir=/etc/bind’ ‘–with-python=python3’ ‘–localstatedir=/’ ‘–enable-threads’ ‘–enable-largefile’ ‘–with-libtool’ ‘–enable-shared’ ‘–enable-static’ ‘–with-gost=no’ ‘–with-openssl=/usr’ ‘–with-gssapi=/usr’ ‘–with-libjson=/usr’ ‘–without-lmdb’ ‘–with-gnu-ld’ ‘–with-geoip=/usr’ ‘–with-atf=no’ ‘–enable-ipv6’ ‘–enable-rrl’ ‘–enable-filter-aaaa’ ‘–enable-native-pkcs11’ ‘–with-pkcs11=/usr/lib/softhsm/libsofthsm2.so’ ‘–with-randomdev=/dev/urandom’ ‘–with-eddsa=no’ ‘build_alias=x86_64-linux-gnu’ ‘CFLAGS=-g -O2 -fdebug-prefix-map=/build/bind9-kJUjhc/bind9-9.11.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing -fno-delete-null-pointer-checks -DNO_VERSION_DATE -DDIG_SIGCHASE’ ‘LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now’ ‘CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2’
compiled by GCC 7.5.0
compiled with OpenSSL version: OpenSSL 1.1.1 11 Sep 2018
linked to OpenSSL version: OpenSSL 1.1.1 11 Sep 2018
compiled with libxml2 version: 2.9.4
linked to libxml2 version: 20904
compiled with libjson-c version: 0.12.1
linked to libjson-c version: 0.12.1
compiled with zlib version: 1.2.11
linked to zlib version: 1.2.11
threads support is enabled

juga pastikan pada file named.conf pada bind, menggunakan database Bind 9.11.x. berikut cara ketik perintah “nano /usr/local/samba/bind-dns/named.conf” , Kemudian untuk mengetahui database mana saja yang digunakan Bind yaitu dimana versi yang tidak ditandai dengan tanda komentar “#”;

# nano /usr/local/samba/bind-dns/named.conf

dlz “AD DNS Zone” {
# For BIND 9.8.x
# database “dlopen /usr/local/samba/lib/bind9/dlz_bind9.so”;

# For BIND 9.9.x
# database “dlopen /usr/local/samba/lib/bind9/dlz_bind9_9.so”;

# For BIND 9.10.x
# database “dlopen /usr/local/samba/lib/bind9/dlz_bind9_10.so”;

# For BIND 9.11.x
database “dlopen /usr/local/samba/lib/bind9/dlz_bind9_11.so”;

# For BIND 9.12.x
# database “dlopen /usr/local/samba/lib/bind9/dlz_bind9_12.so”;

# For BIND 9.14.x
# database “dlopen /usr/local/samba/lib/bind9/dlz_bind9_14.so”;

# For BIND 9.16.x
# database “dlopen /usr/local/samba/lib/bind9/dlz_bind9_16.so”;

#

};

Maka dapat dilihat, Bind menggunakan Database Bind 9.11.x.

Restart Bind9 Service

lakukan restart DNS Service, caranya ;

Setelah restart, lakukan 3 perintah berikut ini untuk mengecek apakah konfigurasi DNS sudah berjalan dengan baik, berikut caranya ;

Berikut ini contoh respon yang benar ;

Konfigurasi Kerberos

Sebelum mulai konfigurasi kerberos, copy terlebih dahulu file asli kerberos, agar jika terjadi kegagalan, dapat restore config menggunakan file asli. berikut caranya;

kemudian salin juga file krb5.conf yang sudah ada pada folder /usr/local/samba/private

Kemudian lakukan konfigurasi Password untuk Kerberos dengan menjalankan perintah berikut ;

Note : Dalam hal ini saya masukkan password adalah “Ubuntu123”.

jika sudah, lakukan pengecekkan hasil konfigurasi Kerberos, dengan cara ;

Setelah itu, lakukan konfigurasi Kerberos DNS dynamic updates dengan cara menambahkan parameter berikut tkey-gssapi-keytab “/usr/local/samba/binddns/dns.keytab” ; dengan masuk ke /etc/bind/named.conf.options

Kemudian restart DNS Server dan cek apakah Dynamic update sudah berjalan semestinya, dengan cara ;

Berikut hasilnya ;

dan sampai tahap ini sudah selesai melakukan konfigurasi Dynamic DNS dan Kerberos. Konfigurasi DNS merupakan hal yang vital bagi keberhasilan konfigurasi Active Directory. jadi jika masih menemui masalah pada DNS, maka umumnya komputer client akan sulit mengenali server active directory maupun melakukan join domain.

Konfigurasi NTP Server

konfigurasi NTP merupakan langkah tambahan namun penting keberadaannya, dikarenakan komputer klien maupun server haruslah sama waktunya. agar service berjalan lancar.

Lakukan edit file /jetc/ntp.conf dan masukkan server ntp indonesia, berikut contohnya ;

jika sudah, lakukan save (ctrl + x) dan tekan Y.

setelah itu, jalankan Service NTP.

Berikut Contohnya jika berhasil ;

Note : jika terdapat tanda asterisk (*) maka tandanya NTP server sudah sinkron dan dapat digunakan oleh klien.

Samba Syntax

Nah, untuk syntax-syntax untuk manage operationalnya, karena direktori instalasinya di “/usr/local/samba”. berikut contohnya ;

Oke sampai disini, sudah berhasil membangun Samba4 Active Directory Server berbasis Linux Ubuntu 18.04. untuk melakukan Administrasi Server, Join Domain, membuat file sharing, create GPO, management GPO, dan lainnya, dapat kunjungi artikel berikut ;

  1. https://restusetiawan.com/join-domain-controller-active-directory-pada-windows-10-client/
  2. https://restusetiawan.com/bermain-administration-server-pada-active-domain-server-samba-4/
  3. https://restusetiawan.com/bermain-dengan-group-policy-object-pada-active-directory-server/
  4. https://restusetiawan.com/installasi-dan-konfigurasi-dasar-file-sharing-samba/

References

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

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

https://wiki.samba.org/index.php/Package_Dependencies_Required_to_Build_Samba#Distribution-specific_Packages_Required_to_Build_Samba

https://git.samba.org/?p=samba.git;a=blob_plain;f=bootstrap/generated-dists/ubuntu1804/bootstrap.sh;hb=v4-13-test

Leave a Comment

Your email address will not be published. Required fields are marked *