Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing Technitium DNS Server #2

Closed
ShreyasZare opened this issue Jul 3, 2022 · 2 comments · Fixed by #5
Closed

Testing Technitium DNS Server #2

ShreyasZare opened this issue Jul 3, 2022 · 2 comments · Fixed by #5

Comments

@ShreyasZare
Copy link

I would like to introduce you to Technitium DNS Server project. Its an open source, cross platform, authoritative as well as recursive DNS server with support for encrypted DNS protocols and DNSSEC.

It would be great if you can you can spare some time and run tests on your setup for this project. I would really appreciate any feedback that you have.

@SivaKesava1
Copy link
Member

Nice project, @ShreyasZare.

I pulled the Docker image and could start the DNS server quickly. I see a config folder in /etc/dns, which has a zones sub-folder, but the zone files are in binary format from what I have seen. If you can answer the following questions, it would be helpful and quick for me to run tests against your implementation:

  1. How to add a zone file through the command line? (I was able to do it through UI). More specifically, given a zone file in Bind format, how to convert it to the binary format used by your server through the command line to place it in the zones folder?
  2. How to turn the DNS_SERVER_RECURSION flag to deny through the command line?
  3. How to stop/restart the server? There is only start.sh in the /etc/dns folder.

@ShreyasZare
Copy link
Author

Nice project, @ShreyasZare.

Thanks for the response and compliments. Please find the response inline:

  1. How to add a zone file through the command line? (I was able to do it through UI). More specifically, given a zone file in Bind format, how to convert it to the binary format used by your server through the command line to place it in the zones folder?

The zone files are in binary format where records are stored in their wire format with additional metadata. There is no option to import bind zone files yet, but the UI supports importing records or doing zone transfer via the DNS Client tab's Import feature if you have the zone running on any other DNS server.

But since you are looking at a command line option, the HTTP API that is available can be used over command like with curl to create zone and add records to it. You will need to parse the login API json response to get the token which needs to be used with other API calls. Let me know if you have any queries regarding it.

  1. How to turn the DNS_SERVER_RECURSION flag to deny through the command line?

For this too using the HTTP API with curl can be done. Check out the setDnsSettings API call. You can use the recursion=Deny query string parameter with the call. You wont need to pass any other optional query string parameters.

  1. How to stop/restart the server? There is only start.sh in the /etc/dns folder.

You can use the systemctl stop dns and systemctl restart dns commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants