Linux machine running as a DHCP, DNS, Webserver.
This is what I’m looking for:
When another machines connects to the network and try to surf, every attempt to browse a web page, they will land on the Webserver mentioned above.
Can the DNS server do this for me? Redirect all requests to a specified webadress?
Is Captive Portal the only way to do this? I would really like the DNS just to do this instead.
DNS resolves (host)names to IP addresses. You can configure wildcard-records to resolve any given name to the address of your server. However, it will only work as long as the clients use your DNS server for name resolution, and it will affect any DNS lookup against your server, not only HTTP requests. A transparent proxy might be a better solution.