Samba Internal DNS Back End: Difference between revisions

From SambaWiki
(Renamed section)
(Rewrote page. Clearer structure, removed unneccessary content. removed limitations that were already fixed.)
Line 1: Line 1:
= Introduction =
= Introduction =


The Samba Active Directory (AD) domain controller (DC) provides an internal DNS server that supports the basic feature required in an AD. It is easy to configure and requires no additional software or knowledge about DNS. The <code>INTERNAL_DNS</code> back end is recommended for simple DNS setups.
The internal DNS server is built into Samba and uses AD as the backend, it is the default DNS solution when provisioning a new Samba AD DC or upgrading from a Samba NT4 domain to Samba AD. Because the information the DNS server uses is stored in AD, you do not need to create any extra databases.


An alternative backend is [[BIND9_DLZ_DNS_Back_End|BIND_DLZ]].








= Limitations =


The internal DNS does not support:
= Configuration =


* acting as a caching resolver
If you have chosen the internal DNS as backend for your environment, there are only two options that can be added to your smb.conf, to control the behaviour of DNS at this point:
* recursive queries
* shared-key transaction signature (TSIG)
* stub zones
* zone transfers


# Don't allow any updates | allow unsigned updates | only allow signed updates
allow dns updates = False | nonsecure | signed
# If you require recursive queries i.e. queries outside the AD domain, the following is also needed.
# Samba 4.5 and later supports a space-sparated list of IPs. Older versions support only one IP.
dns forwarder = <ip addr of external dns server>








= Setting up Dynamic DNS Updates Using Kerberos =


Dynamic DNS updates using Kerberos is enabled by default in the internal DNS server. To change this setting, set the <code>allow dns updates</code> parameter in the <code>smb.conf</code> file.
= Limitations =

* The internal server is not a [[DNS/ToDo/caching_resolver|caching resolver]].
* The internal server by default only comes with a working forward zone; if you need a reverse zone, see [[DNS_Administration#Creating_a_new_zone|instructions here]].
* The samba_dnsupdate command produces warnings when used with [[DNS/ToDo/signed_updates|signed updates]]. We're currently investigating a fix for the warnings, but the updates actually succeed. Client systems like samba3 or Win7 work fine.
* Currently, recursive queries are not possible [[DNS/ToDo/recursive_queries_without_forwarder|without using a forwarder]].
* Negative replies do not come with an [[DNS/ToDo/add_authority_record|authority record]] (not required by RFC, but Windows seems to like that).
* [[DNS/ToDo/shared_key_tsig|Shared-key TSIG]] is not implemented.
* [[DNS/ToDo/stub_zones|Stub zones]] are not implemented.
* Zone axfr is not allowed from internal samba DNS.




For further details, see the <code>smb.conf (5)</code> man page.




= Tests =


Run during make test
TDB_NO_FSYNC=1 make test TESTS=samba.tests.dns


Run against external servers (Windows or BIND)
SERVER_IP=<dns server ip> SERVER=<dns server name> REALM=<dns server domain name part> PYTHONPATH=`pwd`/bin/python ./source4/scripting/bin/subunitrun samba.tests.dns


= Setting up a DNS Forwarder =


The internal DNS server is only able to resolve the Active Directory (AD) DNS zones. To enable recursive queries of other zones, set the <code>dns forwarder</code> parameter in the <code>smb.conf</code> file to one or more IP addresses of DNS servers that support recursive resolving. For example:


dns forwarder = 8.8.8.8


{{Imbox
= Troubleshooting =
| type = note
| text = Samba 4.5 and later supports multiple space-separated IP addresses. Older versions support one IP address.
}}


For further details, see the <code>smb.conf (5)</code> man page.
TBD.

Revision as of 01:29, 15 October 2016

Introduction

The Samba Active Directory (AD) domain controller (DC) provides an internal DNS server that supports the basic feature required in an AD. It is easy to configure and requires no additional software or knowledge about DNS. The INTERNAL_DNS back end is recommended for simple DNS setups.



Limitations

The internal DNS does not support:

  • acting as a caching resolver
  • recursive queries
  • shared-key transaction signature (TSIG)
  • stub zones
  • zone transfers



Setting up Dynamic DNS Updates Using Kerberos

Dynamic DNS updates using Kerberos is enabled by default in the internal DNS server. To change this setting, set the allow dns updates parameter in the smb.conf file.

For further details, see the smb.conf (5) man page.



Setting up a DNS Forwarder

The internal DNS server is only able to resolve the Active Directory (AD) DNS zones. To enable recursive queries of other zones, set the dns forwarder parameter in the smb.conf file to one or more IP addresses of DNS servers that support recursive resolving. For example:

dns forwarder = 8.8.8.8

For further details, see the smb.conf (5) man page.