diff --git a/netclient/functions/daemon.go b/netclient/functions/daemon.go index 0c808dae..271043ff 100644 --- a/netclient/functions/daemon.go +++ b/netclient/functions/daemon.go @@ -13,6 +13,7 @@ import ( mqtt "github.com/eclipse/paho.mqtt.golang" "github.com/gravitl/netmaker/models" "github.com/gravitl/netmaker/netclient/config" + "github.com/gravitl/netmaker/netclient/local" "github.com/gravitl/netmaker/netclient/ncutils" "github.com/gravitl/netmaker/netclient/wireguard" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" @@ -151,6 +152,17 @@ var NodeUpdate mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message) ncutils.Log("error restarting wg after node update " + err.Error()) return } + //deal with DNS + if newNode.DNSOn == "on" { + if err = local.UpdateDNS(cfg.Node.Interface, cfg.Network, cfg.Server.CoreDNSAddr); err != nil { + ncutils.Log("error applying dns" + err.Error()) + } + } else { + _, err := ncutils.RunCmd("resolvectrl revert "+cfg.Node.Interface, true) + if err != nil { + ncutils.Log("error applying dns" + err.Error()) + } + } }() } diff --git a/netclient/wireguard/common.go b/netclient/wireguard/common.go index 9600d743..d312f067 100644 --- a/netclient/wireguard/common.go +++ b/netclient/wireguard/common.go @@ -424,9 +424,9 @@ func UpdateWgInterface(file, privateKey, nameserver string, node models.Node) er if node.Address6 != "" { wireguard.Section(section_interface).Key("Address").SetValue(node.Address6) } - if node.DNSOn == "yes" { - wireguard.Section(section_interface).Key("DNS").SetValue(nameserver) - } + //if node.DNSOn == "yes" { + // wireguard.Section(section_interface).Key("DNS").SetValue(nameserver) + //} if node.PostUp != "" { wireguard.Section(section_interface).Key("PostUp").SetValue(node.PostUp) }