![如何使用 xinetd 设置 DNS 端口转发?](https://linux22.com/image/678714/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20xinetd%20%E8%AE%BE%E7%BD%AE%20DNS%20%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%EF%BC%9F.png)
我在桥接网络中有一个 KVM 虚拟机管理程序和几个虚拟机。我使用 xinetd 将端口从公共 IP 地址转发到正确的虚拟机。
现在我在一台机器上安装了 PowerDNS,我想为其创建一个端口转发规则。它看起来像这样:
service dns-switch
{
disable = no
type = UNLISTED
socket_type = dgram
protocol = udp
wait = no
redirect = 192.168.0.3 53
bind = x.x.x.x
port = 53
user = nobody
}
重新启动 xinetd 后,我在 /var/log/messages 中收到以下消息,并且转发不起作用:
Mar 12 15:12:57 server systemd: Starting Xinetd A Powerful Replacement For Inetd...
Mar 12 15:12:57 server xinetd[5037]: socket creation failed (Protocol not supported (errno = 93)). service = dns-switch
Mar 12 15:12:57 server xinetd[5037]: Service dns-switch failed to start and is deactivated.
Mar 12 15:12:57 server xinetd[5037]: xinetd Version 2.3.15 started with libwrap loadavg labeled-networking options compiled in.
当然,netstat/ss 上什么都没有。主机是 CentOS 7。客户机(PowerDNS)是 Ubuntu 14.04。
欢迎任何想法/建议。
答案1
您可以使用 dnsdist 转发查询。它非常灵活,但也可以执行这种简单的转发情况。