Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
The Internet Bug

Providers Ignoring DNS TTL? 445

cluge asks: "It seems that several large providers give their users DNS servers that simply ignore DNS time to live (TTL). Over the past decade I've seen this from time to time. Recently it seems to be a pandemic, affecting very large cable/broadband and dial up networks. Performing a few tests against our broadband cable provider has shown that only one of the three provided DNS servers picked up a change in seven days or less. After turning in a trouble ticket with that provider - two of the three provided DNS servers were responding correct - while the third was still providing bad information more than two weeks after that specific change. What DNS caches ignore TTL by default? Is there a valid technical reason to ignore TTL?"
"This struck me as odd, and I decided to run a few tests using my own domain. Lowering the TTL to twenty four hours, and making changes and then checking to see when a change was picked up. I queried twelve outside DNS servers/caches that I had access to (Thanks to my friends and relatives with dial ups and DSL who put up with me and my requests to reboot their machine daily!). Checks performed against these outside DNS servers indicate that it may take as much as four to five weeks before a DNS change is picked up! Most DNS servers picked up the change within 48 hours. A small number did not (three out of twelve - that's a quarter of them!)

This merits more study, and prompts a few questions. So, before I begin with a more serious broad study, I'd like to get some feedback on the problem as I've seen it. I know the tin foil hat crowd will see the failure to propagate DNS correctly as censorship, and the OS/bind/djb/whatever zealots will simply see this as an argument for their particular religion.

Based on the responses I get, I will then setup and test a couple of domains with different DNS servers for 6 weeks and report back the findings. [volunteers welcome!]"
This discussion has been archived. No new comments can be posted.

Providers Ignoring DNS TTL?

Comments Filter:
  • I Noticed Too (Score:4, Insightful)

    by ArchAngel21x ( 678202 ) on Tuesday April 19, 2005 @11:33AM (#12282084)
    It kind of defeats the point of root DNS servers being updated so fast if the ISPs are going to drag their feet and take their time updating their cache. I speculate it is server admin laziness.
  • Re:Faulty system (Score:5, Insightful)

    by wiredlogic ( 135348 ) on Tuesday April 19, 2005 @11:34AM (#12282092)
    DNS isn't about "the web". It's much bigger than that.
  • old TTL? (Score:3, Insightful)

    by l33td00d42 ( 873726 ) on Tuesday April 19, 2005 @11:38AM (#12282133)
    it sounds possible the OP lowered the TTL on entries expecting that to have a retroactive effect on servers with the entries already cached. can we get confirmation that this is not what is happening?
  • by Anonymous Coward on Tuesday April 19, 2005 @11:41AM (#12282188)
    Given that you pretty much have to intentionally misconfigure a server to behave this way, it'd be hard to call it laziness.
  • Re:I Noticed Too (Score:5, Insightful)

    by Alioth ( 221270 ) <no@spam> on Tuesday April 19, 2005 @11:43AM (#12282205) Journal
    The thing is if the server admins were lazy, the default configuration of any caching DNS server that I've come across is to do the Right Thing. Therefore if you have a lazy admin, it should be working.

    They've actually had to go to extra effort to break it on purpose.
  • BW (Score:2, Insightful)

    by whackco ( 599646 ) on Tuesday April 19, 2005 @11:46AM (#12282243) Journal
    Because its the 'save $0.05 a million times' attitude for alot of them. The CTO recognizes that by saving that little tiny bit of bandwidth he can save a fraction of a penny, accumulated over a period of time.

    The other problem is lazy or incompetant sysadmins...

  • Re:Yes there is (Score:5, Insightful)

    by Kupek ( 75469 ) on Tuesday April 19, 2005 @11:47AM (#12282258)
    Caching, at all levels of computing, gives enormous performance gains. In the DNS world, without caching, everyone would hit top level domains which would introduce a serious bottleneck to what should be a distributed system.
  • Test case (Score:4, Insightful)

    by Other ( 29546 ) on Tuesday April 19, 2005 @11:50AM (#12282291)
    I'm a bit curious about this test case. It says the TTL was changed TO 24 hours and then checked to see how long it took for results to propogate. What was the TTL set to for these entries before the change? If it was set to 2 weeks and was just queried before the change occured, there is no reason for the server to recheck just because it was changed to 24 hours.

    The TTL should stay the same for a while and then try simply making a change without modifying any other configuration to avoid any other problems with this test.
  • by Karma Farmer ( 595141 ) on Tuesday April 19, 2005 @11:51AM (#12282297)
    Thanks to my friends and relatives with dial ups and DSL who put up with me and my requests to reboot their machine daily!

    If you're rebooting client machines to check DNS records, then I'm forced to view your entire study with caution.
  • ELOGICFAULT (Score:5, Insightful)

    by Anonymous Coward on Tuesday April 19, 2005 @11:54AM (#12282330)
    If it's all about trust, then you don't want to extend the TTL, you want to *shorten* it. That way if you're hit with a cache-poisioning attack, you get the correct record *faster*, instead of holding on to crap for weeks.

    Besides, this behavior blows up all sorts of geographical load balancing, datacenter failover, etc. type solutions (google for a F5 3DNS device sometime).

    Bad stuff, mucking about with the TTL that someone has assigned to a record. It's not arbitrary information. To those fucking with TTLs, how about we arbitrarily alter the numbers in your paycheck? Oh? What's that? That doesn't seem like a good idea? Gee. Go Fig. HANDS OFF MY TTL, ASSHAT.

    -AC
  • Re:Faulty system (Score:5, Insightful)

    by MightyMartian ( 840721 ) on Tuesday April 19, 2005 @11:57AM (#12282362) Journal
    Screwing around with DNS TTLs has a larger effect than the web. Quite commonly when we're doing a major change, particularly with mail servers, we set our TTL low a few days in advance. If some idiot running a DNS sets it up so that my TTL is ignored, then guess what, whoever is using that DNS is suddenly not going to be able to get mail to my server.

    It's irresponsible tampering, it's that simple.

  • You did what? (Score:3, Insightful)

    by SamMichaels ( 213605 ) on Tuesday April 19, 2005 @11:59AM (#12282392)
    Um...

    ipconfig /flushdns
    ipconfig /registerdns

    But wouldn't an easier way be just using dig to directly query the name servers?
  • by sabat ( 23293 ) on Tuesday April 19, 2005 @11:59AM (#12282399) Journal
    Setting a low TTL is not abuse; it's good administration. You need a short TTL in case of outages or other emergency actions. The bandwidth is negligible, even if thousands of sites do this. The ISPs are run by idiots.
  • Re:You did what? (Score:3, Insightful)

    by sabat ( 23293 ) on Tuesday April 19, 2005 @12:02PM (#12282434) Journal
    None of that will help Grandma with her browser. The major ISPs are running cache-ing DNS servers that don't flush their entries when they're told to. That's the problem.
  • by Mysticode ( 696150 ) on Tuesday April 19, 2005 @12:18PM (#12282585)
    Fine, set an upper limit on the TTL but don't ignore the TTL if it is lower than your limit.
  • by terraformer ( 617565 ) <tpb@pervici.com> on Tuesday April 19, 2005 @12:33PM (#12282779) Journal
    Ever had your mom try to type ipconfig /flushdns in a dos prompt???
    I'd imagine rebooting was easier.
  • by fm6 ( 162816 ) on Tuesday April 19, 2005 @12:39PM (#12282844) Homepage Journal
    A nice hack, but kind of beside the point. Outdated DNS information is pretty unimportant to most web users. How many people routinely access sites that routinely change their IP numbers? Who it matters to is web providers, who are effectively offline if their site names don't resolve properly. A savvy user can work around this kind of problem (if nothing else, by entering the IP number). But only a tiny fraction of users are that savvy.
  • by fm6 ( 162816 ) on Tuesday April 19, 2005 @12:55PM (#12283051) Homepage Journal
    The bandwidth is negligible, even if thousands of sites do this.
    But there are millions of sites out there. Still negligible?

    If DNS bandwidth were a non-issue, you wouldn't even be able to set TTL -- it would just be hardwired to a small value. But it is. Don't lapse into spammer logic: "I'm only wasting a tiny amount of resources, so it doesn't matter." But it does matter, because lots of other people are thinking the same thing.

  • by ScentCone ( 795499 ) on Tuesday April 19, 2005 @12:57PM (#12283073)
    Our additude at the time was well screw the AOL users, there's no one importing using AOL anyways

    I'd be curious who's the audience for the site(s) you're talking about. I'm pretty uncomfortable calling tens of millions of users unimportant, especially when it comes to e-commerce. Different "additude", I guess. Or attitude, even.

    I maintain an ancient AOL account specifically so I can see things the way that some of my customers' customers see them. But it has one other advantage: if I've just made DNS changes to domain I care about, I set up a temporary new A record (like X.whatever.com) and then surf to it through AOL's proxies. This seems to get their name servers to notice that the SOA record is new, and it flushes out the rest of their cache. This seems to work on all sorts of servers, most of the time.
  • by lythander ( 21981 ) on Tuesday April 19, 2005 @12:58PM (#12283082)
    Simple. Response time and bandwidth.

    Caching provides a response much more quickly (albeit not always right), and for a large scale ISP, DNS lookups consume not-insignificant amounts of bandwidth. This used to cost much more than it does today, and I'll bet much of this continues out of intertia.
  • by schon ( 31600 ) on Tuesday April 19, 2005 @12:59PM (#12283096)
    I'd like to know your methodology
    Subscribe to the list and find out.

    So you're developing the methodology for something you've already done?

    a troll, or just an ignoramus.

    Mu. If you ask people for help, then insult them when they respond with legitimate concerns, you're going to have a tough time getting recruits. My statement was based entirely on the text you wrote, which was liberally peppered with statements that show you do not have a strong grasp of DNS concepts. Specifically:

    You appeared to include details of your methodology, but included irrelevant details, and (as evidenced by your reply) omitted important ones. You have not yet even mentioned dig - whether you know what it is, or how to use it to troubleshoot DNS problems.

    Testing wasn't carried out until a MONTH after I changed the TTL to be sure it had propagated correctly.

    An example of important omitted information. Other things you omitted: Did you check the TTL (on the recursive server) before and after you made the change? Did you ensure that the recursive server was obtaining the new TTL, by checking the SOA? Did you determine if the recursive server was caching the SOA (technically you're not supposed to, but many DNS servers send a TTL with SOA replies, and it's possible that the implementation on your recursive server was caching the SOA.) Did you check the returned TTL via sequential, timed queries to see if it was changing properly?

    there are other methods, this is by far the simplest for the non technical

    It's also the one that provides the least amount of data, and is the least reliable. A windows batch file (created by you) with a clicky-clicky icon is only marginally more difficult, and would provide better, more reliable data.
  • by oneiros27 ( 46144 ) on Tuesday April 19, 2005 @01:12PM (#12283273) Homepage
    I feel your pain -- I've done my share of idiot tech support questions that should never have been sent to me.

    But I have seen once when we had changed the serial, we had lowered the TTL for the week preceeding, and yet there were DNS servers out there that just refused to update. (AOL being one of them).

    After we hit two weeks, and the IP still hadn't propagated, I did some digging -- somehow, 4 of the root name servers were forwarding queries to two development DNS servers that someone had set up, which weren't being maintained and getting updates. So yes, it was not the fault of the remote DNS servers that weren't taking the updates ... but we have no clue how the outside world found out about the development DNS servers. (or why the hell they weren't firewalled off, but that's another story).

    But it's not always just a matter of changing the serial.... other things can go wrong with DNS.
  • by Fizzl ( 209397 ) <<ten.lzzif> <ta> <lzzif>> on Tuesday April 19, 2005 @01:23PM (#12283424) Homepage Journal
    Oh shut up already.

    If you don't want to volunteer, Fine.
    If you think that the poster doesn't know how to plan the test; go make your own test. ...With black jack, and hookers.

    He specifically said the test methodology will be improved on suggestions on the mailing list. How about contributing there instead of making an uppity jackass of yourself here.

    (Would like to post my rant AC, but I don't want you think the GP is responsible for this reply)
  • Where to begin... (Score:3, Insightful)

    by cbreaker ( 561297 ) on Tuesday April 19, 2005 @01:33PM (#12283564) Journal
    Okay first of all this guy doesn't really seem to have much depth of knowledge.

    Asking friends to REBOOT? Why not just ipconfig /flushdns? And For The Love Of God, DNS DOES NOT PROPAGATE. It's a referral system that caches.

    I also have a really hard time taking someone seriously that, in the opening question, mentions something like "well, zealots will argue, and tin foil hats will bitch" or whatever. Yea, he's really unbiased..

    TTL affects the time you should cache the records, at least he seems to get this. So, he can't think of one reason why a large ISP might want to ignore TTL's?

    I'll name a couple and leave it to this guy to fill in the rest:

    A) Because a lot of really terrible DNS admins set the value way too low and leave it there?

    B) Because ISP's might have a need to keep their cache database activity to a resonable level?

    GO on with your study! The results will probably prove to be very uninteresting.
  • by VGPowerlord ( 621254 ) on Tuesday April 19, 2005 @01:38PM (#12283639)
    I haven't seen this mentioned in any of the comments I've read so far, but changing the TTL on your server will not have any immediate effect on other companies servers.

    In fact, servers that are obeying TTL won't see the new record until the old record's TTL expires.

    The querent doesn't say whether or not there was any wait for the old TTL to expire. They don't even mention what the old TTL was!

  • by shirpa_kewl ( 238010 ) on Tuesday April 19, 2005 @01:41PM (#12283671)
    I work at a hugeISP and we sometimes receive tickets accusing us of ignoring TTLs. However, it has always boiled down to one of three things.

    1. Change in the hosting of a domain to new DNS servers without properly removing the domain from the old hosting DNS servers.

    When this happens, a DNS server caching a domain's info will continue to check the old servers until the old server stops answering.

    2. A change in the TTL of a domain to a lesser value.

    If you change the TTL of a domain from 7 days to 1 hour, DNS servers currently caching that domain's information will hold onto it for 7 days before discovering the new TTL.

    3. A bug in BIND 8 that prevents it from pulling updated information from the primary DNS server for a domain.

    We see this rarely, but it requires a restart of an affected DNS server. We have not diagnosed the specific cause yet since we're moving servers to BIND 9.
  • by Cramer ( 69040 ) on Tuesday April 19, 2005 @05:43PM (#12286399) Homepage
    This, more often than not, is just stupid. DDoS or not, an authoritative name server cannot arbitrarily block ranges of addresses, or classes of users (dialup, cablemodem, etc.) If someone asks you about a domain for which you are authoritative, you MUST answer it. That's the price you've agreed to for running a name server. This is exactly like a Denny's resturant refusing to seat French people... "We've had problems with them in the past." Just because you've had problems with some French people doesn't mean they're all bad.

    We've put up with this sort of subversion for email (SMTP) out of necessity -- there just isn't any other way to deal with dumbass users with unpatched windows boxes sending 95% of the world's spam. Subverting DNS like this should be punishable by death. Face it people, any service can be targeted.
  • by Anonymous Coward on Tuesday April 19, 2005 @05:51PM (#12286473)
    As far as the astute individual who pointed out that ridiculously low TTL's are necessary for things like MX record cut overs -- yeah, well little grasshopper -- please stop lecturing me and go get me my coffee. See with MX records, if the primary isn't reachable, it's possible to have a secondary.
    Which helps non-MX applications how? The only way to get a web server back up when its data center is destroyed is by propagating DNS entries to its backup.
    [TTL] should be set to a sane and reasonable number, and so if you don't set it to something I consider SANE and REASONABLE, I will do it for you.
    And who are you to dictate to your customers and their Internet associates? If I'm trying to make a critical purchase from a web store, and their data center is carried off by a tornado, I had damn well better get IPs for the backup data center in a big hurry. If I'm using VOIP and a backhoe cuts the provider's POTS trunk, I had damn well better get IPs for the backup interchange in a big hurry.

    You see, the Internet is no longer a bunch of DARPA nerds playing with ftp and gopher. It's an important part of people's lives, often as important as the telephone. (More important for a considerable number of people.) I will only become more important. Capriciously blocking chunks of the network to save a few dimes on bandwidth and DNS server RAM is simply unacceptable. Seriously: the average mail transaction is thousands of bytes, the average web transaction is tens of kilobytes, and the average DNS transaction is under two hundred bytes. The bandwidth is negligible, and gigabytes of cache RAM are utterly cheap these days.

  • by sstidman ( 323182 ) on Tuesday April 19, 2005 @11:58PM (#12289403) Journal
    That isn't what I meant (you all should know that?!?!?), what I meant was that if you don't bump the TTL then your own nameserver if you do a SIGHUP won't show the changes and you can set the TTL to whatever you want and it won't do a bit of good.

    I don't know why you assume everyone should know what you meant. The rest of your hateful post made you look uninformed so folks probably generally presumed you were just a newbie admin with an inflated ego.

    And why would they bump the TTL on their nameserver, anyway? Could you possibly mean that they should bump the serial number? I think you keep confusing record caching with zone transfers to secondary servers.


    Also while we're on the subject of TTL's I that our nameserver is actually setup to increase TTL's less than 24 hours to 24 hours. I believe thats in an RFC or best practices guide I read somewhere.

    I presume you know nothing about global load balancing. Global load balancers, which are really just fancy DNS servers, work by varying the A records returned from queries. The GLBs monitor the servers (or more likely load balancer farms) and if one goes down the GLB will no longer resolve to that IP address. For that to work, the TTL must be set to a very short time. If an ISP ignores the TTL, it will cause problems for any of their customers who access the domain with the short TTLs. Many large sites with multiple data centers make use of GLBs to balance traffic accross their data centers. You should not ignore TTLs or you may find that folks who rely on your DNS servers will occasionally be unable to access various sites. Since GLBs also tend to direct traffic toward less busy data centers, you will find that ignoring TTLs will also result in slower access for your clients to their favorite web sites. And if that's in a best practices guide, you might consider throwing that guide away.


    I do know that TTL is a recommendation, thats all.

    And I suppose stopping when the guard rail drops at a train track is technically just a recommendation, too. People have good reasons for lowering TTLs even if you don't seem to think so. Ignoring them can cause real problems.


    I don't know why you need to interject the condescending, hateful speech in your posts. I would have blown it off with your apology, but then you included that unnecessary "you all should know that?!?!?)" crack in your latest post. You act like a genius and then make mistake after mistake in your technical statements, making you look like a buffoon. Why don't you relax and humble yourself a bit. Your ego is too inflated.

New York... when civilization falls apart, remember, we were way ahead of you. - David Letterman

Working...