Deploy a fast recursive DNS server with Ansible.
- Linux machine with a modern Python version
- Another Linux machine with a fresh Debian/Ubuntu installation
- Unbound - main DNS server
- Blocky - uses Unbound server as an upstream, provides DoH and DoT (soon), and blocks ads
- Install Ansible and jmespath on the host:
pip install ansible jmespath
- Clone this repo:
git clone https://github.com/itsnebulalol/ansible-dns && cd ansible-dns
- Prepare your host file:
cp -rfp inventories/sample inventories/my-inventory
- Edit your hosts file (
inventories/my-inventory/hosts
) - Modify
group_vars/all.yml
to your needs - Install dependencies:
ansible-galaxy install -r requirements.yml
- Run the playbook:
ansible-playbook -i inventories/my-inventory/hosts playbook.yml -b -K
Coming soon
This repository is licensed under the MIT License. A copy is included when cloning the repository, and can also be found here.
Please open an issue if you think there is a bug.
If you would like to support my work, you can sponsor me with GitHub Sponsors!