dns server setup

This commit is contained in:
afeiszli
2021-05-04 21:36:55 +00:00
parent 7861e9e1e5
commit 2b77ae6723
12 changed files with 232 additions and 91 deletions

53
functions/local.go Normal file
View File

@@ -0,0 +1,53 @@
package functions
import (
"fmt"
"path/filepath"
"log"
"os"
"io/ioutil"
)
func FileExists(f string) bool {
info, err := os.Stat(f)
if os.IsNotExist(err) {
return false
}
return !info.IsDir()
}
func ConfigureDNS() error {
dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
if err != nil {
return err
}
_, err = os.Stat(dir + "/config/dnsconfig")
if os.IsNotExist(err) {
os.Mkdir(dir +"/config/dnsconfig", 744)
} else if err != nil {
fmt.Println("couldnt find or create /config/dnsconfig")
return err
}
if !FileExists(dir + "/config/dnsconfig/Corefile") {
corefile := `. {
hosts /root/dnsconfig/netmaker.hosts {
fallthrough
}
forward . 8.8.8.8 8.8.4.4
log
}
`
corebytes := []byte(corefile)
err = ioutil.WriteFile(dir + "/config/dnsconfig/Corefile", corebytes, 0644)
if err != nil {
log.Println(err)
log.Println("")
return err
}
}
return err
}