Coder Social home page Coder Social logo

udns's Introduction

udns

A barebones, simple DNS server implementation for edification and use with my Wireguard VPN.

I've written a blog post about the implementation of this DNS server.

Requirements

  • go (tested on 1.14, but could/should work on older versions)

Installation & Usage

  1. Clone repository
  2. Build with go build
  3. Run with:
./udns [-port 8053] [-zonefile file.zone] [-address "127.0.0.1"] [-forward-server "1.1.1.1:53"]
  • Port defaults to 8053
  • Zonefile defaults to master.zone (you can use http://zonefile.org to create a zonefile)
  • Address defaults to empty
  • Forward server defaults to 1.1.1.1:53

There is also a bundled systemd unit file that can be modified and copied into /etc/systemd/system/ for an auto-starting service.

A note about Linux distributions with systemd

If you are using systemd-resolved, keep in mind that you will not be able to run this with an empty address on port 53. This is because systemd-resolved creates a local DNS server/cache/resolver that listens on 127.0.0.53:53 and an empty address attempts to listen on all availabe IP addresses of the local system. To get around this, you can specify an -address for others to listen on, a simple one being 127.0.0.1.

udns's People

Contributors

aos avatar

Stargazers

Jamal Al avatar ryan avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.