Skip to content

jchorl/dnsserv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DNSServ

DNSServ is a dynamic dns client and server built using golang

Deployment

Server

$ make certs
$ ssh dnsserv
jchorlton@dnsserv:~/dnsserv/certs$ sudo systemctl stop dnsserv
$ make deploy
jchorlton@dnsserv:~/dnsserv/certs$ sudo systemctl start dnsserv

See scripts/README.md for instructions on installing the systemd service.

Client

$ make deploy-pi
$ ssh nas
j@orangepipcplus:~$ /home/j/dnsserv/scripts/install.sh

Development

  1. Generate certs
make dev-certs
  1. Build for linux
make build
  1. Start the server
make test-serve
  1. Hit it
make test-client

Generating certs

go get -u github.com/cloudflare/cfssl/cmd/...
cfssl print-defaults csr > ca-csr.json
cfssl print-defaults csr > server-csr.json
cfssl print-defaults csr > client-csr.json
cfssl print-defaults csr > devserver-csr.json
cfssl print-defaults config > ca-config.json
cfssl print-defaults config > server-config.json
cfssl print-defaults config > client-config.json

# now update the csrs and configs

cfssl gencert -initca ca-csr.json | cfssljson -bare ca
cfssl gencert  \
    -ca=ca.pem \
    -ca-key=ca-key.pem \
    -config=server-config.json \
    -hostname=dns.joshchorlton.com \
    -profile=www \
    server-csr.json | cfssljson -bare server
cfssl gencert \
    -ca=ca.pem \
    -ca-key=ca-key.pem \
    -config=server-config.json \
    -profile=www \
    devserver-csr.json | cfssljson -bare devserver
cfssl gencert \
    -ca=ca.pem \
    -ca-key=ca-key.pem \
    -config=client-config.json \
    -profile=client \
    client-csr.json | cfssljson -bare client

About

Dynamic DNS, both client and server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published