[j-nsp] SRX 3600 dropped packets - how to debug?
Phil Mayers
p.mayers at imperial.ac.uk
Tue May 28 09:57:49 EDT 2013
On 28/05/13 14:40, Julien Goodwin wrote:
> On 28/05/13 19:40, ashish verma wrote:
>>> That said, I can't believe the firewall was *actually* dropping 1500pps of
>>> DNS traffic; we'd have widespread problems reported, surely. So, it seems
>>> that maybe ALG-processed traffic is being counted under "packets dropped"
>>> for "show security flow statistics"?
>
> eDNS fallback perhaps?
IME eDNS is pretty much exclusively confined to server-server DNS
traffic (modulo newer stuff like in-app DNSSEC resolvers) and these are
ordinary clients, which don't tend to make eDNS requests. A SPAN of the
link(s) into the SRX tends to support this - no eDNS traffic in a 32Gb
capture.
I have my suspicions about what exactly the ALG is (mis)counting as a
drop, and will be trying to reproduce it on the bench now it's been
taken out of service.
> I never understood the use of DNS ALG's, unless it's to perform a NAT
> translation on addresses (which is a really bad idea) they just seem
> like a waste of valuable resources. Far better to ACL down so that DNS
> queries can only go to trusted DNS servers which can run something that
> doesn't break on a malformed query.
I'm not a fan of ALGs, and in principle I agree with you.
However, if you disable the DNS ALG, you might see a sharp increase in
session utilisation, as the UDP session stays open for the UDP timeout,
as opposed to the fraction of a second that the DNS request/response
takes. With even moderate load, this can be tens or hundreds of
thousands of sessions "wasted", particularly because clients tend to use
different UDP source ports - I know this because I tried it, both on our
"real" Netscreen 5400s and on this SRX, and sure enough - big jumps.
The best solution here is to avoid the DNS traffic hitting the firewall
altogether. If you use L3VPN (as we do) this involves the well-known
"services VRF" solution using appropriate route-targets, or simply
multi-homing your DNS servers into each security zone.
But this only gets *your* DNS servers. If you have people using Google
DNS, Open DNS or whatever, you are faced with either blocking access to
those services and eating the support costs ("I have a roomful of VIPs
and 3 of them can't access the internet") or worse, intercepting traffic
to those services and pretending to be them.
I'm not wild about the upswing in public DNS resolvers and their
apparent popularity amongst customers, but they're a fact of life now,
particularly in more open networks (such as universities). The idea of a
malfunctioning client with 8.8.8.8 as a DNS server consuming 250,000
sessions on our firewall is not attractive :o(
More information about the juniper-nsp
mailing list