有没有办法在同一台计算机上使用 DNSMasq 和 BIND?

问题描述 投票:0回答:2

我喜欢运行自己的名称服务器(BIND)的想法,但如果我这样做,我就无法通过将恶意网站放入 /etc/hosts 来阻止它们获得好处

DNSMasq 能够引用 /etc/hosts,但不是指定“上游”dnsserver,我希望它能够在同一台计算机上使用 BIND。但是,它们都需要使用相同的端口。

这可能吗?我在常规搜索中找不到任何相关信息。

我想另一种选择是在虚拟机中运行另一个 Linux 实例并在那里运行 DNSMasq(比如说),但我不想这样做。

dns bind dnsmasq
2个回答
2
投票

您可以将多个 IP 地址分配给同一个接口,无论是使用

ip addr add <address>/32 dev eth0

或使用

ifconfig eth0:1 <address>

然后将一台服务器绑定到一个地址,另一台服务器绑定到第二个地址。 查询哪个服务器现在取决于您的查询发送到的 IP 地址。

示例假设您的 eth 接口是 eth0。


0
投票

我遇到了同样的问题,因为我真的很喜欢 dnsmasq 处理 /etc/hosts 并附加本地域,但不想使用特定的上游名称服务器,我猜至少谷歌会计算谁获得最多的点击率,而我'我想缓存回复。我在一台机器上设置了与根域名服务器的缓存绑定,然后用 dnsmasq 指向我的其他机器,结果很好。我家里只有一台机器,所以想到添加一个别名并将 bind9 绑定到它。

因此,棘手的部分是 dnsmasq 默认情况下在启动时绑定到所有接口,因此要解决此问题。

  1. 在 /etc/network/interfaces 中添加别名

汽车 enp2s0

允许热插拔 enp2s0

iface enp2s0 inet 静态

地址192.168.12.7

网络192.168.12.0

网络掩码255.255.255.0

广播192.168.12.255

网关192.168.12.1

dns 名称服务器 1.1.1.1,9.9.9.9

自动 enp2s0:0

允许热插拔 enp2s0:0

iface enp2s0:0 inet 静态

地址192.168.12.53/24

  1. 配置/etc/bind/named.conf.options

监听{192.168.12.53; };

  1. 配置 DNSMasq 文件 /etc/dnsmasq.conf

除了接口=enp2s0:0

绑定接口

只需在适当的地方更改接口名称和 IP。

© www.soinside.com 2019 - 2024. All rights reserved.