disable resolvctl dns

This commit is contained in:
Matthew R. Kasun 2022-03-03 15:07:27 -05:00
parent 9bd0af7e9c
commit d7b0852e24
2 changed files with 37 additions and 39 deletions

View file

@ -7,7 +7,6 @@ import (
"errors"
"fmt"
"log"
"os/exec"
"runtime"
nodepb "github.com/gravitl/netmaker/grpc"
@ -110,14 +109,14 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string, iscomms bool) error
}
}
if ncutils.IsLinux() {
_, err := exec.LookPath("resolvectl")
if err != nil {
ncutils.PrintLog("resolvectl not present", 2)
ncutils.PrintLog("unable to configure DNS automatically, disabling automated DNS management", 2)
cfg.Node.DNSOn = "no"
}
}
// if ncutils.IsLinux() {
// _, err := exec.LookPath("resolvectl")
// if err != nil {
// ncutils.PrintLog("resolvectl not present", 2)
// ncutils.PrintLog("unable to configure DNS automatically, disabling automated DNS management", 2)
// cfg.Node.DNSOn = "no"
// }
// }
if ncutils.IsFreeBSD() {
cfg.Node.UDPHolePunch = "no"
}
@ -236,20 +235,20 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string, iscomms bool) error
if err != nil {
return err
}
if node.DNSOn == "yes" {
for _, server := range node.NetworkSettings.DefaultServerAddrs {
if server.IsLeader {
go func() {
if !local.SetDNSWithRetry(node, server.Address) {
cfg.Node.DNSOn = "no"
var currentCommsCfg = getCommsCfgByNode(&cfg.Node)
PublishNodeUpdate(&currentCommsCfg, &cfg)
}
}()
break
}
}
}
// if node.DNSOn == "yes" {
// for _, server := range node.NetworkSettings.DefaultServerAddrs {
// if server.IsLeader {
// go func() {
// if !local.SetDNSWithRetry(node, server.Address) {
// cfg.Node.DNSOn = "no"
// var currentCommsCfg = getCommsCfgByNode(&cfg.Node)
// PublishNodeUpdate(&currentCommsCfg, &cfg)
// }
// }()
// break
// }
// }
// }
if !iscomms {
if cfg.Daemon != "off" {

View file

@ -118,14 +118,14 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
}
time.Sleep(time.Second >> 0)
if newNode.DNSOn == "yes" {
for _, server := range newNode.NetworkSettings.DefaultServerAddrs {
if server.IsLeader {
go local.SetDNSWithRetry(newNode, server.Address)
break
}
}
}
// if newNode.DNSOn == "yes" {
// for _, server := range newNode.NetworkSettings.DefaultServerAddrs {
// if server.IsLeader {
// go local.SetDNSWithRetry(newNode, server.Address)
// break
// }
// }
// }
doneErr := publishSignal(&commsCfg, &nodeCfg, ncutils.DONE)
if doneErr != nil {
ncutils.Log("could not notify server to update peers after interface change")
@ -143,10 +143,13 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
//deal with DNS
if newNode.DNSOn != "yes" && shouldDNSChange && nodeCfg.Node.Interface != "" {
ncutils.Log("settng DNS off")
_, err := ncutils.RunCmd("/usr/bin/resolvectl revert "+nodeCfg.Node.Interface, true)
if err != nil {
ncutils.Log("error applying dns" + err.Error())
if err := removeHostDNS(ncutils.IsWindows()); err != nil {
ncutils.Log("error removing netmaker profile from /etc/hosts " + dataErr.Error())
}
// _, err := ncutils.RunCmd("/usr/bin/resolvectl revert "+nodeCfg.Node.Interface, true)
// if err != nil {
// ncutils.Log("error applying dns" + err.Error())
// }
}
}
@ -195,12 +198,8 @@ func UpdatePeers(client mqtt.Client, msg mqtt.Message) {
return
}
logger.Log(0, "DNS updating /etc/hosts")
windows := false
if ncutils.IsWindows() {
windows = true
}
if cfg.Node.DNSOn == "yes" {
if err := setHostDNS(peerUpdate.DNS, windows); err != nil {
if err := setHostDNS(peerUpdate.DNS, ncutils.IsWindows()); err != nil {
ncutils.Log("error updating /etc/hosts " + err.Error())
return
}