blob: 3f5154eebeed1caa07c06cc44780a72ddef53d25 [file] [log] [blame]
.. 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)`