daeuniverse / daeuniverse/dae

[Bug Report] failed to init dns upstream

Closed
#776 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
6.2k
Forks
402
Avg merge
57m
Merged PRs (30d)
2

Description

### Checks

- [x] I have searched the existing issues
- [x] I have read the documentation
- [x] Is it your first time sumbitting an issue

### Current Behavior

在 docker 环境中,将 DNS upstream 配置为域名类型后,出现错误。

```
Dns.GetUpstream error="failed to init dns upstream: dns_upstream https://dns.alidns.com has no record"
Dns.GetUpstream error="failed to init dns upstream: dns_upstream https://dns.google has no record"
```

### Expected Behavior

支持域名类型的 DNS upstream 。

### Steps to Reproduce

可以使用的配置
```
dns {
ipversion_prefer: 4

upstream {
chinadns: 'udp://119.29.29.29'
googledns: 'tcp+udp://8.8.4.4'
}
routing {
request {
qname(geosite:category-ads-all) -> reject
qname(geosite:google@cn) -> chinadns
qname(full:dns.google) -> chinadns
qname(geosite:google) -> googledns
qname(geosite:youtube) -> googledns
qname(geosite:telegram) -> googledns
qname(geosite:netflix) -> googledns
qname(geosite:twitter) -> googledns
fallback: chinadns
}
}
}
```

有问题的配置
```
dns {
ipversion_prefer: 4

upstream {
chinadns: 'https://dns.alidns.com'
googledns: 'https://dns.google'
}

routing {
request {
qname(geosite:category-ads-all) -> reject
qname(geosite:google@cn) -> chinadns
qname(full:dns.google) -> chinadns
qname(geosite:google) -> googledns
qname(geosite:youtube) -> googledns
qname(geosite:telegram) -> googledns
qname(geosite:netflix) -> googledns
qname(geosite:twitter) -> googledns
fallback: chinadns
}
}
}
```

### Environment

- **Dae version (use `dae --version`)**:
```
dae version unstable-20250304.r797.2edc2d3
go runtime go1.22.12 linux/arm64
Copyright (c) 2022-2024 @daeuniverse
License GNU AGPLv3
```
- **OS (e.g `cat /etc/os-release`)**:
```
PRETTY_NAME="Armbian 25.2.2 bookworm"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.armbian.com"
SUPPORT_URL="https://forum.armbian.com"
BUG_REPORT_URL="https://www.armbian.com/bugs"
ARMBIAN_PRETTY_NAME="Armbian 25.2.2 bookworm"
```
- **Kernel (e.g. `uname -a`)**:
```
Linux HK1Box 6.1.96-ophub #1 SMP Fri Jun 28 01:14:11 EDT 2024 aarch64 GNU/Linux
```
- **Others**:

```
$ docker info
Client:
Context: default
Debug Mode: false
Plugins:
compose: Docker Compose (Docker Inc., v2.29.2)

Server:
Containers: 12
Running: 12
Paused: 0
Stopped: 0
Images: 12
Server Version: 20.10.24+dfsg1
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 1.6.20~ds1-1+b1
runc version: 1.1.5+ds1-1+deb12u1
init version:
Security Options:
seccomp
Profile: default
cgroupns
Kernel Version: 6.1.96-ophub
Operating System: Armbian 25.2.2 bookworm
OSType: linux
Architecture: aarch64
CPUs: 4
Total Memory: 3.574GiB
Name: HK1Box
ID: 24QB:6NAL:PQIB:TAI4:INYK:WO74:NORQ:YPKS:6GB4:3X74:FUC5:A72Z
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
```

docker-compose.yaml
```yaml
dae:
container_name: dae
image: daeuniverse/dae
restart: unless-stopped
network_mode: host
pid: host
volumes:
- /sys:/sys
- ./dae/:/etc/dae/
privileged: true
depends_on:
- naive
- naive-b2
- naive-v
```

### Anything else?

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the Docker configuration and follow the Dns.GetUpstream error for HTTPS DNS upstreams such as https://dns.alidns.com and https://dns.google. Compare it with the working UDP and TCP+UDP configurations; done means domain-based DNS upstreams initialize without the reported “has no record” error.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.