[Bug Report] failed to init dns upstream
- 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