Skip to content

ui-kreinhard/go-dns-rabbit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What's this?

The idea is to provide a dns server which resolves dns queries by a hashmap which is updated by a heartbeat mechanism. This means that client send heartbeats in a certain interval. These messages contain the hostname and the ip address. The server takes these heartbeats and updates the entries in it's hashmap.

When later a client sends a query to the server it'll resolve it by the filled hashmap. If no entry is found the server asks all clients if it's their hostname.

As a communication base rabbit is used for heartbeats and also for other communications like active querying

It's a hobby project and more as a proof of concept. It's not intended to be used in production.

How to use/run/whatever

Either compile it (never checked if it's working on another machine).

For using it you need 2 hosts which can connect to a rabbitmq instance

On server:

go run main.go amqp://guest:guest@localhost:5672/ server

On client

go run main.go amqp://guest:guest@localhost:5672/ client $interface

On the server side Try to resolve a dns name with dig

dig -p 5553 clientname.$interface @127.0.0.1

You can also run client and server on the same machine

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages