[Pdns-users] Can I filter AAAA DNS requests for Netflix?
Nicholas Williams
nicholas at nicholaswilliams.net
Tue Oct 8 01:30:07 UTC 2019
Thanks, Bert, et. al.! Based on this feedback and https://github.com/fumiyas/pdns-scripts/blob/master/recursor/filter-aaaa.lua <https://github.com/fumiyas/pdns-scripts/blob/master/recursor/filter-aaaa.lua>, I tried this, and it seems to be working:
blacklisted = newDS()
blacklisted:add{"netflix.com"}
blacklisted:add{"netflix.net"}
function postresolve(dq)
if blacklisted:check(dq.qname) then
local records = dq:getRecords()
local records_new = {}
for i, record in ipairs(records) do
if record.type ~= pdns.AAAA then
records_new[#records_new + 1] = record
end
end
dq:setRecords(records_new)
end
return true
end
Now to see if the Netflix apps start behaving any better…
Thanks!
Nick
> On Oct 7, 2019, at 1:47 AM, bert hubert <bert.hubert at powerdns.com> wrote:
>
> Hello everyone,
>
> I used to use this script:
>
> --[[
> Sometimes, domains break when IPv6 is used. A common example is
> Netflix via an IPv6 tunnel, which Netflix interprets as a proxying
> attempt.
>
> This function strips IPv6 from one or more subdomains. It can be called
> with a single domain, like "netflix.com", or with a domain set, which
> is more efficient and scales very well.
>
> This file is meant for including, so you can call it from your preresolve.
> Alternatively, uncomment the activation code below and you can load it
> directly into your resolver with 'lua-dns-script=strip-ipv6-from-domains.lua'.
> ]]--
>
> function preventIPv6ForDomains(dq, domain)
> local ds=newDS()
> if(type(domain) == "string") then
> ds:add{domain}
> else
> ds=domain
> end
> if(dq.qtype ~= pdns.AAAA) then return false end
> if(ds:check(dq.qname)) then
> dq.rcode = 0
> return true
> end
> return false
> end
>
> -- To activate, uncomment the block below:
>
> netflix=newDS()
> netflix:add{"netflix.com"}
>
> function preresolve(dq)
> return preventIPv6ForDomains(dq, "netflix.com")
> end
>
> Perhaps useful.
>
> Bert
>
>
> On Mon, Oct 07, 2019 at 02:23:07AM -0400, Aleksandr Rogozin via Pdns-users wrote:
>> Hi Nick,
>>
>> Since your request was to filter based on specific domains for qtype AAAA
>> with custom response, I suggest looking into Response Policy Zone (RPZ) or
>> LUA script.
>>
>> Best Regards,
>> Aleksandr
>>
>> On Sat, Oct 5, 2019 at 23:10 Nicholas Williams <
>> nicholas at nicholaswilliams.net> wrote:
>>
>>> I’ve got a conundrum that has kind of come to a head for me. It may be
>>> 2019, but Comcast is still too incompetent to provide me with
>>> properly-working IPv6, so I’ve resorted to using a Hurricane Electric
>>> tunnel for IPv6 access. However, Netflix blocks all Hurricane Electric and
>>> similar tunnels under the assumption that you’re trying to scam their
>>> location identification and access content that you don’t have geographic
>>> access to and, worse, the Netflix apps prefer IPv6 over IPv4 when it’s
>>> available, so Hurricane Electric users are kinda screwed.
>>>
>>> In the past, I’ve dealt with this by adding a black hole route for
>>> Netflix’s IPv6 prefix. However, I’m now having to block THREE /48 prefixes
>>> in order to keep Netflix working, and from what I can tell that means I’m
>>> now blocking most of AWS’s enter CDN, so I’m losing out on IPv6 on a bunch
>>> of sites.
>>>
>>> This solution is really like using a sledgehammer to install a picture
>>> frame hanger (and having to replace the picture frame hanger every few
>>> months). A better solution is to prevent Netflix from doing AAAA lookups
>>> (or somehow filter them and respond with only A results). I’m already using
>>> PowerDNS Recursor for my DNS. Is there a way I can configure PowerDNS
>>> Recursor so that certain domains (like Netflix) respond with only A results
>>> and never return AAAA results, so that I can remove my blackhole routes?
>>>
>>> Thanks,
>>>
>>> Nick
>>>
>>> _______________________________________________
>>> Pdns-users mailing list
>>> Pdns-users at mailman.powerdns.com
>>> https://mailman.powerdns.com/mailman/listinfo/pdns-users
>>>
>
>> _______________________________________________
>> Pdns-users mailing list
>> Pdns-users at mailman.powerdns.com
>> https://mailman.powerdns.com/mailman/listinfo/pdns-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/pdns-users/attachments/20191007/7642cb8e/attachment.htm>
More information about the Pdns-users
mailing list