This project is a DNS server implementation in Golang based on the Rust implementation and guide here: EmilHernvall - DNS Guide This DNS server is a simplified version, meant for educational purposes and not intended for production use. It allows users to understand and interact with DNS protocols directly. The only dependency is the testify library.
Ensure you have Golang installed on your machine. After cloning the repository run:
go run main.go
Open another terminal and query the DNS server using:
dig @127.0.0.1 -p 2053 <domain_name> <query_type>
- NS
- A
- AAAA
- MX
- CNAME
This project is intended for educational purposes and should not be used as a production DNS server