使用白名单保护 dnsmasq dns 守护进程

使用白名单保护 dnsmasq dns 守护进程

我在服务器上使用 dnsmasq(绑定到 wan IP),并且想要为允许使用我的服务器解析 dns 的 ip 范围/ip 地址添加 acl/白名单。

我似乎无法从 Google 上找到任何东西,是否有一个选项可以将不允许的地址列入白名单/阻止其使用我的服务器进行解析?

请不要建议使用 iptables 或其他防火墙解决方案。

答案1

我知道的唯一解决办法是通过iptables

最简单的方法是ipset:创建允许的 IP 列表,

    ipset create good_ips hash:net

将你的 IP 地址添加到列表中,

     ipset add good_ips 8.8.8.8
     ipset add good_ips 192.168.155.0/24

然后你可以封锁所有 IP不是在列表中,尝试访问您的 DNS 服务器,如下所示:

      iptables -A INPUT -p udp  --dport 53 -m set  --match-set !  good_ips src -j DROP

可以通过以下方式使其永久生效:

      ipset save > /etc/ipset.conf
      systemctl enable ipset

(最后一条命令是systemd服务(这是目前大多数 Linux 都具有的服务;如果您没有使用这样的系统,请进行相应调整)。

相关内容