Artikel Sebelumnya : https://www.imanudin.com/2013/05/22/tips-samba-migrating-from-windows-server-to-samba-4-part-1/
TESTING REPLIKASI
Check user yang ada pada Samba 4, seharusnya user yang ada sama dengan user pada Windows Server
[code lang=’bash’]
/usr/local/samba/bin/samba-tool user list
[/code]
Testing membuat user pada Samba 4 dan check pada Windows Server
[code lang=’bash’]
/usr/local/samba/bin/samba-tool user add ahmad Rahasia123
[/code]
FSMO role transfer
Jalankan perintah berikut untuk menyalin FSMO dari Windows Server
[code lang=’bash’]
/usr/local/samba/bin/samba-tool fsmo seize –role=all
[/code]
MIGRASI GROUP POLICY OBJECT/GPO
Untuk melakukan migrasi GPO yang ada pada Windows server, kita dapat menggunakan perintah mount dan rsync pada Linux. Seperti kita ketahui bahwa GPO diletakkan pada file sharing sysvol, maka file sharing ini harus disalin pada Linux Samba4 Active Directory. Berikut tahapan yang dilakukan :
Mounting file sharing sysvol pada Linux
[code lang=’bash’]
mount -t cifs //192.168.56.26/sysvol -o username=administrator /mnt/
[/code]
Pastikan cifs-utils sudah terinstall. IP Address 192.168.56.26 diatas merupakan IP Windows Server. Salin isi dari file sharing tersebut dengan rsync
[code lang=’bash’]
rsync -XAavz –delete-after /mnt/ /usr/local/samba/var/locks/sysvol/
[/code]
KONFIGURASI DNS
DNS yang ada pada Samba 4 tidak bisa melakukan replikasi dengan Windows Server. Agar Linux Samba4 dapat digunakan, maka harus dibuat record yang sesuai dengan Windows Server. Berikut tahapannya :
[code lang=’bash’]
yum install bind bind-sdb
vi /etc/named.conf
[/code]
Tambahkan ip address server pada bagian listen-on port 53 dan any pada allow-query.
Tambahkan juga record domain pada baris paling bawah
Buat record dns domain yang baru saja dibuat
[code lang=’bash’]
vi /var/named/dynamic/imanudin.com
[/code]
Isi dengan isian seperti berikut :
[code lang=’bash’]
$TTL 1W
@ IN SOA samba4.imanudin.com. root.imanudin.com. (
01 ; serial
2D ; refresh
4H ; retry
6W ; expiry
1W ) ; minimum
@ IN NS ns1
ns1 IN A 192.168.56.11
@ IN A 192.168.56.11
samba4 IN A 192.168.56.11
gc._msdcs IN CNAME samba4
${NTDSGUID}._msdcs IN CNAME samba4
_gc._tcp IN SRV 0 100 3268 samba4
_gc._tcp.Default-First-Site-Name._sites IN SRV 0 100 3268 samba4
_ldap._tcp.gc._msdcs IN SRV 0 100 389 samba4
_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs IN SRV 0 100 389 samba4
_ldap._tcp IN SRV 0 100 389 samba4
_ldap._tcp.dc._msdcs IN SRV 0 100 389 samba4
_ldap._tcp.pdc._msdcs IN SRV 0 100 389 samba4
_ldap._tcp.${DOMAINGUID} IN SRV 0 100 389 samba4
_ldap._tcp.${DOMAINGUID}.domains._msdcs IN SRV 0 100 389 samba4
_ldap._tcp.Default-First-Site-Name._sites IN SRV 0 100 389 samba4
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs IN SRV 0 100 389 samba4
_kerberos._tcp IN SRV 0 100 88 samba4
_kerberos._tcp.dc._msdcs IN SRV 0 100 88 samba4
_kerberos._tcp.Default-First-Site-Name._sites IN SRV 0 100 88 samba4
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs IN SRV 0 100 88 samba4
_kerberos._udp IN SRV 0 100 88 samba4
_kerberos-master._tcp IN SRV 0 100 88 samba4
_kerberos-master._udp IN SRV 0 100 88 samba4
_kpasswd._tcp IN SRV 0 100 464 samba4
_kpasswd._udp IN SRV 0 100 464 samba4
_kerberos IN TXT IMANUDIN.COM
[/code]
Ganti ${NTDSGUID} dengan angka+huruf yang dihasilkan dengan perintah berikut :
[code lang=’bash’]
/usr/local/samba/sbin/samba_dnsupdate –verbose | grep msdcs | grep CNAME
[/code]
Lihat tulisan yang diberi warna
dan ganti ${DOMAINGUID} dengan angka+huruf yang dihasilkan dengan perintah berikut :
[code lang=’bash’]
/usr/local/samba/sbin/samba_dnsupdate –verbose | grep msdcs | grep domains._msdcs
[/code]
Sehingga hasilnya seperti berikut ini :
[code lang=’bash’]
$TTL 1W
@ IN SOA samba4.imanudin.com. root.imanudin.com. (
01 ; serial
2D ; refresh
4H ; retry
6W ; expiry
1W ) ; minimum
@ IN NS ns1
ns1 IN A 192.168.56.11
@ IN A 192.168.56.11
samba4 IN A 192.168.56.11
gc._msdcs IN CNAME samba4
2a5e739f-ba80-4e03-b2ce-65bc3bd40c01._msdcs IN CNAME samba4
_gc._tcp IN SRV 0 100 3268 samba4
_gc._tcp.Default-First-Site-Name._sites IN SRV 0 100 3268 samba4
_ldap._tcp.gc._msdcs IN SRV 0 100 389 samba4
_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs IN SRV 0 100 389 samba4
_ldap._tcp IN SRV 0 100 389 samba4
_ldap._tcp.dc._msdcs IN SRV 0 100 389 samba4
_ldap._tcp.pdc._msdcs IN SRV 0 100 389 samba4
_ldap._tcp.035ec24d-de7f-4e49-9370-2b093c0c56c3 IN SRV 0 100 389 samba4
_ldap._tcp.035ec24d-de7f-4e49-9370-2b093c0c56c3.domains._msdcs IN SRV 0 100 389 samba4
_ldap._tcp.Default-First-Site-Name._sites IN SRV 0 100 389 samba4
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs IN SRV 0 100 389 samba4
_kerberos._tcp IN SRV 0 100 88 samba4
_kerberos._tcp.dc._msdcs IN SRV 0 100 88 samba4
_kerberos._tcp.Default-First-Site-Name._sites IN SRV 0 100 88 samba4
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs IN SRV 0 100 88 samba4
_kerberos._udp IN SRV 0 100 88 samba4
_kerberos-master._tcp IN SRV 0 100 88 samba4
_kerberos-master._udp IN SRV 0 100 88 samba4
_kpasswd._tcp IN SRV 0 100 464 samba4
_kpasswd._udp IN SRV 0 100 464 samba4
_kerberos IN TXT IMANUDIN.COM
[/code]
Jangan lupa juga untuk mengganti nama domain imanudin.com dengan nama domain yang digunakan, dan samba4 dengan nama hostname server yang digunakan. Ganti hak akses agar dimiliki dengan user dan group named dan restart service dns-nya
[code lang=’bash’]
chown named.named /var/named/dynamic/imanudin.com
chown named.named /var/named/
service named restart
[/code]
Testing konfigurasi DNS
[code lang=’bash’]
host -t SRV _ldap._tcp.imanudin.com.
host -t SRV _kerberos._udp.imanudin.com.
host -t A imanudin.com.
[/code]
Disable SELinux
SELinux merupakan security yang digunakan yang ada pada CentOS seperti halnya Apparmor pada Debian/Ubuntu. Agar konfigurasi dns dapat diload oleh DLZ, maka selinux harus di disable. Berikut cara disable selinux :
[code lang=’bash’]
vi /etc/sysconfig/selinux
[/code]
Kemudian jalankan perintah berikut :
[code lang=’bash’]
setenforce 0
[/code]
Disable chroot directory
DNS pada samba4 tidak dapat berjalan jika menggunakan chroot dns, maka kita harus disable chroot dns terlebih dahulu pada file /etc/sysconfig/named dan berikan comment (#) pada ROOTDIR=/var/named/chroot
[code lang=’bash’]
vi /etc/sysconfig/named
[/code]
Konfigurasi kerberos DNS dynamic updates (Optional)
Untuk melakukan konfigurasi kerberos dynamic DNS updates, rekomendasi versi bind yang digunakan adalah versi 9.8 atau latest version, karena pada versi tersebut terdapat patches dari samba team secara langsung yang membuat DNS dynamic updates lebih bagus dan mudah dikonfigurasi. Tambahkan tkey-gssapi-keytab “/usr/local/samba/private/dns.keytab”; pada named.conf dan berada dalam konfigurasi options {…}.
[code lang=’bash’]
vi /etc/named.conf
[/code]
Setelah melakukan penambahan pada named.conf, ubah kepemilikannya
[code lang=’bash’]
chgrp named /usr/local/samba/private/dns.keytab
chmod g+r /usr/local/samba/private/dns.keytab
chkconfig named on
[/code]
check apakah ada update terbaru mengenai dynamic DNS updates
[code lang=’bash’]
/usr/local/samba/sbin/samba_dnsupdate –verbose
[/code]
Testing Windows Klien
Silakan coba matikan Windows Server dan arahkan DNS yang pertama pada Windows Klien agar mengarah pada IP Address Samba4. Testing Login dan GPO yang ada, apakah sama dengan settingan yang dilakukan pada Windows Server.
Silakan dicoba dan semoga bermanfaat 😀
salam Mas Bro,
Saya menggunakan Bind sbb:
Installed Packages
Name : bind
Arch : i686
Epoch : 32
Version : 9.8.2
Release : 0.17.rc1.el6_4.4
Size : 7.2 M
Repo : installed
From repo : updates
Summary : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
URL : http://www.isc.org/products/BIND/
License : ISC
Description : BIND (Berkeley Internet Name Domain) is an implementation of the DNS
: (Domain Name System) protocols. BIND includes a DNS server (named),
: which resolves host names to IP addresses; a resolver library
: (routines for applications to use when interfacing with DNS); and
: tools for verifying that the DNS server is operating properly.
pada file : /usr/local/samba/private/named.conf
# This DNS configuration is for BIND 9.8.0 or later with dlz_dlopen support.
#
# This file should be included in your main BIND configuration file
#
# For example with
# include “/usr/local/samba/private/named.conf”;
#
# This configures dynamically loadable zones (DLZ) from AD schema
# Uncomment only single database line, depending on your BIND version
#
dlz “AD DNS Zone” {
# For BIND 9.8.0
database “dlopen /usr/local/samba/lib/bind9/dlz_bind9.so”;
# For BIND 9.9.0
# database “dlopen /usr/local/samba/lib/bind9/dlz_bind9_9.so”;
};
Saya coba implementasi artikel ini, ketika
service named restart
terjadi failed
error yang saya dapat pada /var/log/message
ad named: dns_master_load: dynamic/emi.inet:15: unknown $ directive ‘${NTDSGUID}._msdcs’
apakah syntaxnya berbeda dengan bind versi 9.9.0
atas pencerahannya saya ucapkan terima kasih.
regards
Yogi
@Yogi : Sudah lakukan hal yang ini belum “Ganti ${NTDSGUID} dengan angka+huruf yang dihasilkan dengan perintah berikut :” dan “Lihat tulisan yang diberi warna
dan ganti ${DOMAINGUID} dengan angka+huruf yang dihasilkan dengan perintah berikut :”
Maaf Mas Bro, belum.
Setelah saya ubah sesuai saran Mas Bro, named tetap tidak dapat start
error lognya :
Jun 18 13:23:07 ad named-sdb[21675]: samba_dlz: Failed to configure zone ’emi.inet’
Jun 18 13:23:07 ad named-sdb[21675]: loading configuration: already exists
Jun 18 13:23:07 ad named-sdb[21675]: exiting (due to fatal error)
berikut konfigurasinya :
/etc/named.conf
options {
tkey-gssapi-keytab “/usr/local/samba/private/dns.keytab”;
listen-on port 53 { 127.0.0.1; 192.168.0.7; };
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { localhost; any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;
managed-keys-directory “/var/named/dynamic”;
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
zone “.” IN {
type hint;
file “named.ca”;
};
zone “emi.inet” {
type master;
file “dynamic/emi.inet”;
};
include “/etc/named.rfc1912.zones”;
include “/usr/local/samba/private/named.conf”;
DAN /var/named/dynamic/emi.inet
$TTL 1W
@ IN SOA ad.emi.inet. root.emi.inet. (
01 ; serial
2D ; refresh
4H ; retry
6W ; expiry
1W ) ; minimum
@ IN NS ns1
ns1 IN A 192.168.0.7
@ IN A 192.168.0.7
ad IN A 192.168.0.7
gc._msdcs IN CNAME ad
1e2e73f8-ae83-4d5a-8d8d-4a054a7703c0._msdcs IN CNAME ad
_gc._tcp IN SRV 0 100 3268 ad
_gc._tcp.Default-First-Site-Name._sites IN SRV 0 100 3268 ad
_ldap._tcp.gc._msdcs IN SRV 0 100 389 ad
_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs IN SRV 0 100 389 ad
_ldap._tcp IN SRV 0 100 389 ad
_ldap._tcp.dc._msdcs IN SRV 0 100 389 ad
_ldap._tcp.pdc._msdcs IN SRV 0 100 389 ad
_ldap._tcp.3e9ee78b-7979-4995-9c5d-8434e9a5971a IN SRV 0 100 389 ad
_ldap._tcp.3e9ee78b-7979-4995-9c5d-8434e9a5971a.domains._msdcs IN SRV 0 100 389 ad
_ldap._tcp.Default-First-Site-Name._sites IN SRV 0 100 389 ad
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs IN SRV 0 100 389 ad
_kerberos._tcp IN SRV 0 100 88 ad
_kerberos._tcp.dc._msdcs IN SRV 0 100 88 ad
_kerberos._tcp.Default-First-Site-Name._sites IN SRV 0 100 88 ad
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs IN SRV 0 100 88 ad
_kerberos._udp IN SRV 0 100 88 ad
_kerberos-master._tcp IN SRV 0 100 88 ad
_kerberos-master._udp IN SRV 0 100 88 ad
_kpasswd._tcp IN SRV 0 100 464 ad
_kpasswd._udp IN SRV 0 100 464 ad
_kerberos IN TXT EMI.INET
@Yogi : Coba buang file ini mas dari named.conf kemudian restart dns “include “/usr/local/samba/private/named.conf”;”
Salam,
service named restart hasilnya “OK” (Jalan Mas Bro..Siiipp)
tapi ketika saya check apakah ada update terbaru mengenai dynamic DNS updates dengan /usr/local/samba/sbin/samba_dnsupdate –verbose
hasilnya
Calling nsupdate for SRV _ldap._tcp.gc._msdcs.emi.inet ad.emi.inet 3268
Outgoing update query:
;; ->>HEADER<>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
_ldap._tcp.default-first-site-name._sites.gc._msdcs.emi.inet. 0 NONE SRV 0 100 3 89 ad.emi.inet.
_ldap._tcp.default-first-site-name._sites.gc._msdcs.emi.inet. 900 IN SRV 0 100 3 268 ad.emi.inet.
update failed: REFUSED
Failed nsupdate: 2
Failed update of 2 entries
@Yogi : Halo mas,
Cara diatas memang tidak dapat melakukan otomatis update DNS apabila ada klien yang login. Jadi harus manual dibuat satu persatu
Salam mas,
Saya mau tanya : jika PC client yang sudah join ke domain windows server yang lama dan lalu kita migrasi ke samba4 … apakah setelah login PC client akan buat profile baru atau tetap ke profile yang sama (meskipun nama username login windows sama)….
Salam mas,
Saya berhasil migrasi tp ada kendala :
Mengapa file ” /usr/local/samba/private/dns.keytab ” tidak ada ya? repot juga kalau harus input manual, clientnya buanyakk mas.. 🙂
Ketahuannya saat mau lakukan chgrp
ini errornya :
[root@lab-pdc ~]# chgrp named /usr/local/samba/private/dns.keytab
chgrp: cannot access `/usr/local/samba/private/dns.keytab’: No such file or directory
Kalau sy baca di wikinya samba, file dns.keytab itu otomatis ada setelah kita lakukan provisioning… piye mas?
Trimakasih
salam
kang akhmad;
saya mengikuti semua step2 untuk migrasi,cuma pada tahap Konfigurasi kerberos DNS dynamic updates (Optional) ada erorr sehingga bind9 failed jadi saya tidak melakukan step tersebut.
dan setelah test PC windwos join domain tidak bisa ya.
erorrnya sbb:
an active directory domain controler (AD DC) for domain “psg.com” couldnot be contacted.
ensure that domain name is typed corectly
if the name is correct,click detail troubleshooting.
Apakah di samba server perlu dibuat DNS sendiri?
terimakasih
@Jalaludin : Halo mas,
Sangat perlu. Karena DNS Windows Server tidak ikut tersinkronisasi pada saat migrasi
kang,sudah saya buatkan dns tapi pc client tetap gak bisa join ya,errornya sam dgn yg atas.
kalau lihat lognya dimana ya
mas Ahmad,
saya sdg coba migrasi dari Windows AD ke linux AD, utk proses awal semua berjalan lancar. (https://imanudin.com/2013/05/22/tips-samba-migrating-from-windows-server-to-samba-4-part-1/)
Pada tutorial ke dua ini, pada bagian transfer roles FSMO, prosesnya succes, hanya pada bagian akhir muncul pesan error:
ERROR: Failed to delete role ‘domaindns’: LDAP error 50 LDAP_INSUFFICIENT_ACCESS_RIGHTS –
Apakah maksud error ini?
Terimakasih sebelumnya
regards
Hi mas,
Jika dilihat dari pesannya, sepertinya koneksi pada LDAP nya gagal. Silakan dicoba kembali lagi saja mas
Mas Ahmad,
Saya sudah coba lagi, tetapi pada saat menjalankan proses trannsfer FSMO muncul pesan berikut:
[root@addc-svr002 ~]# /usr/local/samba/bin/samba-tool fsmo seize –role=all
This DC already has the ‘rid’ FSMO role
This DC already has the ‘pdc’ FSMO role
This DC already has the ‘naming’ FSMO role
This DC already has the ‘infrastructure’ FSMO role
This DC already has the ‘schema’ FSMO role
Attempting transfer…
ERROR: Failed to delete role ‘domaindns’: LDAP error 50 LDAP_INSUFFICIENT_ACCESS_RIGHTS –
Terimakasih sebelumnya
regards