.. Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. =============== splitdns.config =============== .. configfile:: splitdns.config The :file:`splitdns.config` file enables you to specify the DNS server that Traffic Server should use for resolving hosts under specific conditions. For more information, refer to :ref:`admin-split-dns`. To specify a DNS server, you must supply the following information in each active line within the file: - A primary destination specifier in the form of a destination domain, a destination host, or a URL regular expression - A set of server directives, listing one or more DNS servers with corresponding port numbers You can also include the following optional information with each DNS server specification: - A default domain for resolving hosts - A search list specifying the domain search order when multiple domains are specified After you modify the :file:`splitdns.config` file, run the :option:`traffic_ctl config reload` command to apply the changes. Format ====== Each line in the :file:`splitdns.config` file uses one of the following formats: :: dest_domain=dest_domain | dest_host | url_regex named=dns_server def_domain=def_domain search_list=search_list The following list describes each field. .. _splitdns-config-format-dest-domain: ``dest_domain`` A valid domain name. This specifies that DNS server selection will be based on the destination domain. You can prefix the domain with an exclamation mark (``!``) to indicate the NOT logical operator. .. _splitdns-config-format-dest-host: ``dest_host`` A valid hostname. This specifies that DNS server selection will be based on the destination host. You can prefix the host with an exclamation mark (``!``) to indicate the ``NOT`` logical operator. .. _splitdns-config-format-url-regex: ``url_regex`` A valid URL regular expression. This specifies that DNS server selection will be based on a regular expression. .. _splitdns-config-format-named: ``named`` This is a required directive. It identifies the DNS server that Traffic Server should use with the given destination specifier. You can specify a port using a colon (``:``). If you do not specify a port, then 53 is used. Specify multiple DNS servers with spaces or semicolons (``;``) as separators. You must specify the domains with IP addresses in CIDR ("dot") notation. .. _splitdns-config-format-def-domain: ``def_domain`` A valid domain name. This optional directive specifies the default domain name to use for resolving hosts. Only one entry is allowed. If you do not provide the default domain, the system determines its value from ``/etc/resolv.conf`` .. _splitdns-config-format-search-list: ``search_list`` A list of domains separated by spaces or semicolons (;). This specifies the domain search order. If you do not provide the search list, the system determines the value from :manpage:`resolv.conf(5)` Examples ======== Consider the following DNS server selection specifications: :: dest_domain=internal.company.com named="255.255.255.255:212 255.255.255.254" def_domain=company.com search_list="company.com company1.com" dest_domain=!internal.company.com named=255.255.255.253 Now consider the following two requests: :: http://minstar.internal.company.com This request matches the first line and therefore selects DNS server ``255.255.255.255`` on port ``212``. All resolver requests use ``company.com`` as the default domain, and ``company.com`` and ``company1.com`` as the set of domains to search first. :: http://www.microsoft.com This request matches the second line. Therefore, Traffic Server selects DNS server ``255.255.255.253``. Because no ``def_domain`` or ``search_list`` was supplied, Traffic Server retrieves this information from :manpage:`resolv.conf(5)`