LXC dnsmasq 端口 53 正在使用中,但我想映射到容器

LXC dnsmasq 端口 53 正在使用中,但我想映射到容器

我正在尝试在 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。

相关内容