2018-03-25 12:35:05 +00:00
|
|
|
.. _global_configuration_auto_dns:
|
|
|
|
|
|
|
|
********
|
|
|
|
Auto-DNS
|
|
|
|
********
|
2018-03-27 07:10:07 +00:00
|
|
|
|
|
|
|
If you don't want to add DNS records manually for every project, you can also use the bundled
|
|
|
|
DNS server and use it's DNS catch-all feature to have all DNS records automatically available.
|
|
|
|
|
|
|
|
.. important::
|
|
|
|
By default, the DNS server is set to listen on ``1053`` to avoid port collisions during startup.
|
|
|
|
You need to change it to ``53`` in ``.env`` via :ref:`env_host_port_bind`.
|
|
|
|
|
|
|
|
|
|
|
|
**Table of Contents**
|
|
|
|
|
|
|
|
.. contents:: :local:
|
|
|
|
|
|
|
|
|
|
|
|
Native Docker
|
|
|
|
=============
|
|
|
|
|
|
|
|
The webserver as well as the DNS server must at least be available on ``127.0.0.``.
|
|
|
|
The DNS server port must be set to ``53``.
|
|
|
|
|
|
|
|
* Ensure :ref:`env_local_listen_addr` is set accordingly
|
|
|
|
* Ensure :ref:`env_host_port_bind` is set accordingly
|
|
|
|
* No other DNS resolver should listen on ``127.0.0.1:53``
|
|
|
|
|
|
|
|
Linux
|
|
|
|
-----
|
|
|
|
|
|
|
|
First you need to ensure that :ref:`env_host_port_bind` is set to ``53``.
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
:caption: .env
|
|
|
|
:name: .env
|
|
|
|
:emphasize-lines: 3
|
|
|
|
|
|
|
|
host> cd path/to/devilbox
|
|
|
|
host> vi .env
|
|
|
|
HOST_PORT_BIND=53
|
|
|
|
|
|
|
|
Before starting up the Devilbox, ensure that port ``53`` is not already used on ``127.0.0.1``.
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
:emphasize-lines: 2
|
|
|
|
|
|
|
|
host> netstat -an | grep -E 'LISTEN\s*$'
|
|
|
|
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
|
|
|
|
tcp 0 0 127.0.0.1:43477 0.0.0.0:* LISTEN
|
|
|
|
tcp 0 0 127.0.0.1:50267 0.0.0.0:* LISTEN
|
|
|
|
|
|
|
|
If you see port ``53`` already being used as in the above example, ensure to stop any
|
|
|
|
DNS resolver, otherwise it does not work.
|
|
|
|
|
|
|
|
The output should look like this (It is only important that there is no ``:53``.
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
host> netstat -an | grep -E 'LISTEN\s*$'
|
|
|
|
tcp 0 0 127.0.0.1:43477 0.0.0.0:* LISTEN
|
|
|
|
tcp 0 0 127.0.0.1:50267 0.0.0.0:* LISTEN
|
|
|
|
|
|
|
|
If everything is set, you can edit ``/etc/resolv.conf`` with root or sudo privileges
|
|
|
|
and add the Devilbox DNS server line by adding a ``nameserver`` directive
|
|
|
|
which points to ``127.0.0.1``:
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
:caption: /etc/resolv.conf
|
|
|
|
:name: /etc/resolv.conf
|
|
|
|
:emphasize-lines: 4
|
|
|
|
|
|
|
|
host> sudi vi /etc/resolv.conf
|
|
|
|
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
|
|
|
|
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
|
|
|
|
nameserver 127.0.0.1
|
|
|
|
nameserver 192.168.0.10
|
|
|
|
search local
|
|
|
|
|
|
|
|
.. important::
|
|
|
|
Keep all other ``nameserver`` entries intact. The Devilbox DNS nameserver will only work
|
|
|
|
once the Devilbox is running. If you remove all others and don't run the Devilbox,
|
|
|
|
you won't be able to resolve any DNS names anymore.
|
|
|
|
|
|
|
|
.. important::
|
|
|
|
The Devilbox ``nameserver`` entry should be the very first one.
|
|
|
|
|
|
|
|
If you now start the Devilbox you don't need to take care about manually adding DNS records
|
|
|
|
anymore. Auto-DNS is now setup working.
|
|
|
|
|
|
|
|
|
|
|
|
Docker Toolbox
|
|
|
|
==============
|