Tips Samba : Migrating From Windows Server To Samba 4 Part 2

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]
list-user-samba4-imanudin.com

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.

dns_query_imanudin.com

Tambahkan juga record domain pada baris paling bawah

dns-record-imanudin.com

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]
ntdsguid-record-imanudin.com
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]
domainguid-record-imanudin.com
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]
testing_bind_imanudin.com
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]
selinux_imanudin.com
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]
disable_chrootdns_imanudin.com
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]
keytab_dns_imanudin.com

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 😀

Ahmad Imanudin, Tinggal di Bekasi. Bekerja sebagai salah satu staff di PT. Excellent Infotama Kreasindo. Dapat dihubungi pada alamat surel ahmad [at] imanudin.com

14 thoughts on “Tips Samba : Migrating From Windows Server To Samba 4 Part 2

  • 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

    • 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

  • 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

  • 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

      • 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

Leave a Reply

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

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

You might also like
Menambahkan Modul Set Flag Moderated melalui CLI pada Mailman

Menambahkan Modul Set Flag Moderated melalui CLI pada Mailman

Cara Membuat WhatsApp Gateway Sendiri dengan go-whatsapp-web-multidevice

Cara Membuat WhatsApp Gateway Sendiri dengan go-whatsapp-web-multidevice

Panduan Konfigurasi Network dengan systemd-networkd di Ubuntu/Debian

Panduan Konfigurasi Network dengan systemd-networkd di Ubuntu/Debian

Stay Connected
Tips Mengganti Tampilan Background di Zimbra Webmail
Cara Membuat WhatsApp Gateway Sendiri dengan go-whatsapp-web-multidevice
Menambahkan Modul Set Flag Moderated melalui CLI pada Mailman
Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1,863 other subscribers
Categories