diff --git a/cmd/ctrld/cli.go b/cmd/ctrld/cli.go index c14a4c7..acbdb2d 100644 --- a/cmd/ctrld/cli.go +++ b/cmd/ctrld/cli.go @@ -43,6 +43,7 @@ import ( "github.com/Control-D-Inc/ctrld/internal/router/firewalla" "github.com/Control-D-Inc/ctrld/internal/router/merlin" "github.com/Control-D-Inc/ctrld/internal/router/tomato" + "github.com/Control-D-Inc/ctrld/internal/router/ubios" ) var ( @@ -975,6 +976,10 @@ func defaultIfaceName() string { if oi := osinfo.New(); strings.Contains(oi.String(), "Microsoft") { return "lo" } + // Same as WSL case above. + if router.Name() == ubios.Name { + return "lo" + } mainLog.Fatal().Err(err).Msg("failed to get default route interface") } return dri diff --git a/cmd/ctrld/prog.go b/cmd/ctrld/prog.go index 394b4a0..24fd9d9 100644 --- a/cmd/ctrld/prog.go +++ b/cmd/ctrld/prog.go @@ -249,7 +249,7 @@ func (p *prog) setDNS() { // If ctrld is direct listener, use 127.0.0.1 as nameserver. ns = "127.0.0.1" } else if lc.Port != 53 { - ifaceName := defaultIfaceName() + ifaceName := iface switch router.Name() { case firewalla.Name: // On Firewalla, the lo interface is excluded in all dnsmasq settings of all interfaces.