11 comments

  • necovek1 hour ago
    It is not really true that DNS is for people only: it is used as an aliasing system, for load balancing, and for caching (with no cache invalidation mechanism other than ahead-of-time TTL setting).<p>It is used to make entire protocols work (MX records for email, but SRV records are used for much more).<p>Now, if we do look at the most basic of basic DNS roles — mapping a human readable name to arbitrary set of numbers identifying a machine on the network — we should consider how do we avoid some of the issues while keeping all of the benefits of DNS.<p>Eg. if we indeed &quot;materialize&quot; machine identifiers, we lose the ability to do virtual hosting (domains not passed in) or fix a problem with just a DNS update (eg. treating load-balancing machines like cattle).<p>The author jumps immediately to, arguably, ill advised materialization techniques like &#x2F;etc&#x2F;hosts, without considering all that DNS does for a complex, real world system and what goes missing.
    • louwrentius6 minutes ago
      - note I was talking about internal infrastructure, not public services<p>- DNS load balancing is not that important for internal services in most Cases? Would only use it if alternatives won’t work.<p>- the virtual host issue is really adressed by &#x2F;etc&#x2F;hosts, I thought that was obvious, I now regret not explicitly adressing it.
  • gfody1 hour ago
    &gt; we&#x27;ll just use &#x2F;etc&#x2F;hosts no DNS required!<p>this is classic &quot;easy vs. simple&quot; folly, witness how someone too lazy to [learn how to] setup proper DNS for their infrastructure will do 10x the work hacking something &quot;easy&quot;
    • louwrentius4 minutes ago
      Serious response: how is templating out &#x2F;etc&#x2F;hosts with Ansible not 10x simpler than setting up an additional service that only introduces additional risk?
  • fulafel12 minutes ago
    History tip: Using &#x2F;etc&#x2F;hosts (or as it was called then, &quot;the HOSTS.TXT file&quot;) ran into some problems.
  • jaredhallen1 hour ago
    Seems like a weird crusade. Pointing everything directly at the IP address might not seem so swell when it&#x27;s time to upgrade the server or the address has to change for some reason. Sure would be nice to just update the DNS record to point to the new address.
    • louwrentius1 minute ago
      Proposed solution: update the inventory and run your Ansible playbook&#x2F;role agains your infrastructure (or subset). I don’t see the issue, to be frank.
    • themafia1 hour ago
      &gt; or the address has to change for some reason<p>One annoying reason is you don&#x27;t own it&#x2F;have access through the owner anymore.<p>&gt; Sure would be nice to just update the DNS record to point to the new address.<p>EC2. Elastic IPs are easy enough, but, precisely, I would just like to make a Route53 alias for an EC2 instance and not even have to care.
  • Bratmon2 hours ago
    &gt; Instead of configuring domain names that may not resolve, we can just directly inject the appropriate IP address(ess) into configuration files<p>Because now you&#x27;ve replaced one single point of failure configuration system with caching and TTLs (DNS) with a higher maintenance and much less widely supported one.
    • bot40339 minutes ago
      Not to mention losing load balancing and failover.
      • dzr000124 minutes ago
        And making TLS more difficult, especially for HA systems. Guess you would just need one cert for 127.0.0.1 for all local services.
  • mixdup2 hours ago
    &quot;just use &#x2F;etc&#x2F;hosts&quot; is wild. That is effectively just going from one DNS server servicing all of your machines to having bespoke DNS servers individually running on every host. madness
  • samrus1 hour ago
    But whats the problem woth using DNS internally? Given the system is already present, and moving away fron it would be effort. Seems like a nitpick
  • linksnapzz3 hours ago
    Counterpoint: DNS isn&#x27;t used enough; consider replacing sssd&#x2F;AD with Hesiod.
  • jghefner48 minutes ago
    &gt; It&#x27;s easy to configure systems with tools like Ansible or pyinfra at scale.<p>Tell me that you&#x27;ve never used Ansible at scale without telling me that you&#x27;ve never used Ansible at scale.
  • denkmoon51 minutes ago
    This is what happens when you take the &quot;it was DNS&quot; meme too seriously. DNS is brilliant. Learn it. If you&#x27;re really that ideologically opposed to such brilliance, just use the addresses directly. The system described is insane.
  • themafia1 hour ago
    &gt; The case against DNS for internal IT infrastructure<p>In SOHO settings I might actually agree, but, this is where I think site administered and distributed multicast DNS was a missed opportunity.