Files
computer-playbook/scripts/administration/network/dns/setup
kevinveenbirkenbachandClaude Sonnet 4.6 ba64df9bb7 fix(dns): correct common.sh source path in setup/linux.sh
The script sourced common.sh relative to its own directory (setup/),
but the file lives one level up in dns/. Fixes CI failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 00:39:19 +01:00
..
…

🌐 DNS Setup Scripts

This directory contains platform-specific scripts for setting up local DNS resolution for the infinito.example domain (and subdomains) on the development machine.

All scripts map *.infinito.example → 127.0.0.1 so that local deployments are reachable via their expected hostnames.


📄 Scripts

🐧 linux.sh

General-purpose DNS setup for Linux systems. Supports multiple strategies depending on the environment:

  • NetworkManager + dnsmasq — preferred path when NetworkManager is active; configures the NM dnsmasq plugin with a wildcard zone entry.
  • System dnsmasq — fallback when NetworkManager is not running; configures a standalone dnsmasq service.
  • /etc/hosts fallback — used in non-systemd environments (e.g. Docker containers, LXC) where service management is unavailable; writes a managed block of host entries directly into the hosts file.

Shared helper functions are sourced from ../common.sh.

🪟 wsl.sh

WSL2-specific DNS setup. Only executes when running inside a WSL2 environment (detected via /proc/version). Configures:

  • dnsmasq with the discovered WSL2 upstream DNS gateway as forwarder.
  • systemd-resolved stub listener disabled to avoid port conflicts.
  • /etc/resolv.conf pointed at the local dnsmasq instance (127.0.0.1).
  • /etc/wsl.conf set to generateResolvConf=false to prevent WSL from overwriting the resolver config on restart.

  • ../remove/ — teardown scripts that undo the DNS configuration
  • ../common.sh — shared variables and helper functions used by linux.sh
  • make dns-setup — invokes linux.sh
  • make wsl2-dns-setup — invokes wsl.sh (only on WSL2)