我正在尝试在 LXC 容器内拥有一个仅有权威性的绑定服务器,但是当我将端口 53 转发给它时,收到一条错误消息,提示该端口已被使用。(listen=tcp:0.0.0.0:53 connect=tcp:127.0.0.1:53)
经过研究,我了解到 dnsmasq/netplan/systemd-resolve(不知道哪一个)负责容器名称解析。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 608 systemd-resolve 13u IPv4 21646 0t0 TCP localhost:domain (LISTEN)
dnsmasq 6667 lxd 9u IPv4 103653 0t0 TCP v2202102:domain (LISTEN)
dnsmasq 6667 lxd 11u IPv6 103655 0t0 TCP v2202102:domain (LISTEN)
有人知道我该怎么做才能解决这个问题吗?我想到了以下几点:
禁用 dnsmasq 但随后我将无法再从容器中获取名称解析......
禁用 dnsmasq 并让 Bind 解析名称 - 不知道如何做到这一点..
更改 dnsmasq 端口 - 我不知道该怎么做,并确保容器解析继续工作
欢迎其他想法:)
我正在使用带有 LXD 4.xxx 的 Ubuntu 20.04
提前致谢。
答案1
谢谢你的帮助!绑定转发到 dnsmasq 对我来说似乎是理想的方法,但不幸的是我找不到 dnsmasq 配置文件,并且在使用systemctl status dnsmasq
它时说它没有安装 LOL... 如果你问我的话,这很奇怪。
我最终采用了一种侵入性较小的方法,即只监听我的 external_IP_address:53,而不是像之前尝试的那样监听整个 0.0.0.0:53。