我在 LXD 实例中设置了一个绑定服务器,并尝试将所有 DNS 查询从主机转发到此实例。我尝试了以下操作:
sudo lxc config device add bind dnsdevicetcp proxy listen=tcp:0.0.0.0:53 connect=tcp:bind:53
但 DNS 主要是一个 UDP 服务,当我尝试这样的操作时:
sudo lxc config device add bind dnsdeviceudp proxy listen=udp:0.0.0.0:53 connect=udp:bind:53
我会收到一个错误:
Error: Proxy device doesn't support the connection type: udp
我如何正确转发查询?
主机:Ubuntu Server 18.04
无虚拟化
LXC/LXD 版本:3.0.3
答案1
您正在使用 LXD 3.0.x,它不支持UDP 代理设备。在后来的版本(我认为是 LXD 3.4)中已经添加了对此类代理设备的支持。
因此,我建议升级到 LXD 的 snap 包,具体操作如下:
sudo snap install lxd
sudo lxd.migrate
这样,您将获得 LXD 3.23(目前最新版本),它支持 UDP 代理设备。
请注意,即使没有 LXD 代理设备,您仍然可以使用 转发网络流量iptables
。但是,这是一个更复杂的过程,因为您需要正确设置命令,然后使其在每次重启时在系统上自动运行。