[DNS] powerdns-dnsdist 基于域名分流实现
·
dnsdist 是一款高度 DNS 、DoS 和滥用感知的负载均衡器。其目标是将流量路由到最佳服务器,为合法用户提供最佳性能,同时分流或阻止滥用流量 文档: https://dnsdist.org/ addLocal(“127.0.0.1:5200″) newServer{address=”127.0.0.1:5373″, useClientSubnet=true,pool=”china”} newServer({address=”127.0.0.1:443″, tls=”openssl”, subjectName=”xxxx”, dohPath=”/dns-query”, validateCertificates=true,pool=”default”,useClientSubnet=true}) local shuntset = newDNSNameSet() for line in io.lines(“/etc/dnsdist/domains.txt”) do local trimmed_line = line:match(“^%s*(.-)%s*$”) if trimmed_line ~= “” then shuntset:add(newDNSName(line)) end end function matchChinaDomain(qname,shuntset) local primary_domain = qname:toStringNoDot():match(“([^.]+%.[^.]+)$”) domain = newDNSName(qname:toStringNoDot()) — infolog(“Query domain: ” .. qname:toStringNoDot()) — infolog(“Query domain: “…