mirror of
https://github.com/ookangzheng/blahdns.git
synced 2025-12-18 07:05:38 +07:00
Re init git
This commit is contained in:
52
server-conf/dnsdist.conf
Executable file
52
server-conf/dnsdist.conf
Executable file
@@ -0,0 +1,52 @@
|
||||
-- When an IPv6 IP:PORT combination is needed, the bracketed syntax from RFC 3986 should be used. e.g. “[2001:DB8:14::C0FF:FEE]:5300”
|
||||
-- https://dnsdist.org/reference/config.html?highlight=servfail
|
||||
|
||||
--addTLSLocal('0.0.0.0', '/etc/letsencrypt/live/dns.jp.blahdns.com/fullchain.pem', '/etc/letsencrypt/live/dns.jp.blahdns.com/privkey.pem', { doTCP=true, reusePort=true })
|
||||
--addTLSLocal("[::]", '/etc/letsencrypt/live/dns.jp.blahdns.com/fullchain.pem', '/etc/letsencrypt/live/dns.jp.blahdns.com/privkey.pem', { doTCP=true, reusePort=true})
|
||||
|
||||
addDNSCryptBind("0.0.0.0:8443", "2.dnscrypt-cert.blahdns.com", "/etc/dnsdist/ssl.cert", "/etc/dnsdist/ssl.key")
|
||||
addDNSCryptBind("[::]:8443", "2.dnscrypt-cert.blahdns.com", "/etc/dnsdist/ssl.cert", "/etc/dnsdist/ssl.key")
|
||||
|
||||
addLocal('0.0.0.0:53', { doTCP=true, reusePort=true})
|
||||
addLocal('[::]:53', { doTCP=true, reusePort=true})
|
||||
|
||||
addAction(MaxQPSIPRule(10, 32, 48), DropAction())
|
||||
addAction(QTypeRule(dnsdist.ANY) ,DropAction())
|
||||
addAction(QTypeRule(dnsdist.PTR) ,DropAction())
|
||||
|
||||
-- Force TCP
|
||||
addAction(AndRule({NotRule(OrRule({QTypeRule(dnsdist.TXT), QTypeRule(dnsdist.A), QTypeRule(dnsdist.AAAA)})),TCPRule(false)}), TCAction())
|
||||
|
||||
|
||||
setACL({'0.0.0.0/0', '::/0' })
|
||||
|
||||
-- https://dnsdist.org/reference/constants.html#dnsaction
|
||||
-- https://dnsdist.org/rules-actions.html#addLuaAction
|
||||
-- https://stackoverflow.com/questions/11271547/does-lua-have-or-comparisons
|
||||
|
||||
local dbr = dynBlockRulesGroup()
|
||||
dbr:setQTypeRate(dnsdist.PTR, 5, 10, "Exceeded PTR rate", 60)
|
||||
dbr:setQTypeRate(dnsdist.TXT, 5, 10, "Exceeded TXT rate", 60)
|
||||
dbr:setQTypeRate(dnsdist.SOA, 5, 10, "Exceeded SOA rate", 60)
|
||||
dbr:setQTypeRate(dnsdist.MX, 3, 10, "Exceeded MX rate", 60)
|
||||
dbr:setQTypeRate(dnsdist.SRV, 3, 10, "Exceeded SRV rate", 60)
|
||||
dbr:setQTypeRate(dnsdist.NS, 3, 10, "Exceeded PTR rate", 60)
|
||||
dbr:setQTypeRate(dnsdist.SIG, 3, 10, "Exceeded PTR rate", 60)
|
||||
|
||||
function maintenance()
|
||||
dbr:apply()
|
||||
end
|
||||
|
||||
newServer({address="127.0.0.1:50", checkType="A", checkType=DNSClass.CHAOS, checkName="google.com", mustResolve=false})
|
||||
newServer({address="[::1]:50", checkType="AAAA", checkType=DNSClass.CHAOS, checkName="google.com", mustResolve=false})
|
||||
|
||||
newServer({address="[::1]:51", checkType="AAAA", checkType=DNSClass.CHAOS, checkName="google.com", mustResolve=false})
|
||||
-- function luarule(dq)
|
||||
-- if(dq.qtype==dnsdist.ANY)
|
||||
-- then
|
||||
-- return DNSAction.ServFail
|
||||
-- else
|
||||
-- return DNSAction.None
|
||||
-- end
|
||||
-- end
|
||||
-- addLuaAction(AllRule(), luarule)
|
||||
Reference in New Issue
Block a user