ADDCを構築する際、「samba-tool domain provision」において

のいずれかでDNSを選ぶのだが、いったん選んだ後で、別の機構に移る事ができる。
例えば初めはSAMBA_INTERNALを選んだのだが、BIND DNSの機能が必要になったとか、
BIND9_DLZを選んだのだが、BIND DNSのメンテが面倒でSAMBA_INTERNALに乗り換えたいとかとか。

samba_upgradednsを使用して簡単に切り替えられるようだ。
参照先:https://wiki.samba.org/index.php/Changing_the_DNS_backend

SAMBA_INTERNALからBIND DNSへ

まずはBIND DNSを構築する。参照samba/DNS
その後、sambaを停止して

[root@c ~]# systemctl stop samba

samba_upgradednsを実行してDNSのbackendをBIND DNSとさせる。

[root@c ~]# /opt/samba/sbin/samba_upgradedns --dns-backend=BIND9_DLZ
Reading domain information
DNS accounts already exist
No zone file /opt/samba/private/dns/SYBYL.LOCAL.zone
DNS records will be automatically created
DNS partitions already exist
Adding dns-c account
See /opt/samba/private/named.conf for an example configuration include file for BIND
and /opt/samba/private/named.txt for further documentation required for secure DNS updates
Finished upgrading DNS
You have switched to using BIND9_DLZ as your dns backend, but still have the internal dns starting. 
Please make sure you add '-dns' to your server services line in your smb.conf.
[root@c ~]#

画面に流れる説明文に従い、/opt/samba/private/named.confをnamed.confにincludeさせて、使用するBINDのバージョンに
合わせてdlzを調整します。そして、dns.keytabも組み込んでパーミッションを変更する。

[root@c ~]# vi /etc/named.conf
options {
    directory      "/var/named";
    forward        only;
    forwarders     {
        192.168.0.1;
    };
    session-keyfile  "/var/run/named/session.key";
    pid-file         "/var/run/named/named.pid";
    tkey-gssapi-keytab "/opt/samba/private/dns.keytab";
};
include "/opt/samba/private/named.conf";
 
[root@c ~]# 
[root@c ~]# chgrp named /opt/samba/private/dns.keytab
[root@c ~]# chmod g+r /opt/samba/private/dns.keytab
[root@c ~]# vi /opt/samba/private/named.conf
dlz "AD DNS Zone" {
    # For BIND 9.8.x
    # database "dlopen /opt/samba/lib/bind9/dlz_bind9.so";
 
    # For BIND 9.9.x
     database "dlopen /opt/samba/lib/bind9/dlz_bind9_9.so";
 
    # For BIND 9.10.x
    # database "dlopen /opt/samba/lib/bind9/dlz_bind9_10.so";
};
[root@c ~]#

その後、smb.confを調整するのだが、SAMBA_INTERNALでprovisionするとsmb.confには
server servicesの項目は表示されない。sambaが提供するserver servicesのデフォルト値が
適用されるためである。っで、そのデフォルト値はというとtestparmで得られる。

[root@c ~]# /opt/samba/bin/testparm -sv|grep "server services"
(中略)
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns
[root@c ~]#

最後のdnsがsamba謹製のDNSである SAMBA_INTERNAL を使用するという意味。
なので、ここではBIND DNSを利用したいので、dnsを消す。

[root@c ~]# vi /opt/samba/etc/smb.conf
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
[root@c ~]#

とする。その後、BINDとsambaを起動すれば完了

BIND9_DLZを辞めてSAMBA_INTERNALを採用する。

まず稼働中のBIND DNSを停止させ(systemctl diseble namedも実施)

[root@ad ~]# systemctl stop named
[root@ad ~]# systemctl disable named
 
[root@ad ~]# systemctl stop samba

sambaも停止させて、samba_upgradednsでDNSのbackendをsamba謹製のDNSとさせる

[root@c ~]# /opt/samba/sbin/samba_upgradedns --dns-backend=SAMBA_INTERNAL
[root@c ~]#

あとはsmb.confのserver servicesにdnsを追加してsambaを起動すれば完了

最新の60件
2026-05-13 2026-05-12 2026-05-11 2026-05-08 2026-05-06 2026-05-05 2026-05-04 2026-05-03 2026-05-02 2026-04-30 2026-04-29 2026-04-28 2026-04-27 2026-04-25 2026-04-24 2026-04-22 2026-04-21 2026-04-12 2026-04-08 2026-04-06 2026-04-05 2026-04-02 2026-03-26 2026-03-23 2026-03-21 2026-03-19 2026-03-15 2026-03-14 2026-03-13 2026-03-07 2026-03-06 2026-03-04 2026-03-02 2026-02-26 2026-02-24 2026-02-21 2026-02-18 2026-02-17 2026-02-16 2026-02-11

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-05-03 (火) 16:01:30