Technitribe

interesting problems (and a few solutions, too)

Technitribe
  • About the Authors
  • Log In
  • Log Out
  • Lost Password
  • Register
  • Reset Password
    • 23 Oct 2014

      DNS for Your Virtual Machines

      Written by Alex Wood

      For me, the holy grail of working with virtual machines is

      $ ssh root@my-vm

      I am tired of manually updating /etc/hosts or looking at arp tables1. There’s got to be a better way. And there is! Here’s how. This works with Fedora 20. Your mileage may vary with other distros.

      1. Read this article. It will explain the basics, but follow the instructions below because there are a few differences in the process on Fedora.
      2. Add the following line to /etc/NetworkManager/NetworkManager.conf under the [main] block:

        dns=dnsmasq

        This line tells NetworkManager to run a dnsmasq process.

      3. Download this script that will take care of writing out a hosts style file that dnsmasq will use for name resolution.

        $ curl -o /usr/bin/virt-hosts  https://raw.github.com/awood/virt-utils/master/virt-hosts && chmod 755 /usr/bin/virt-hosts
      4. $ echo "addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts" >> /etc/NetworkManager/dnsmasq.d/virt-hosts

        This line tells NetworkManager to add the default.addnhosts file to the list of places that dnsmasq looks at for name resolution.

      5. $ yum install -y incron
      6. $ systemctl enable incrond.service && systemctl start incrond.service
      7. Set up incron to run virt-hosts every time we detect a change in the status of a virtual machine.

        $ echo "/var/lib/libvirt/dnsmasq/default.leases IN_MODIFY /usr/bin/virt-hosts -ur" > /etc/incron.d/virt-hosts
      8. Add the following line to /etc/sysconfig/network-scripts/ifcfg-em1

        DOMAIN="default.virt"
      9. $ systemctl restart NetworkManager
      10. $ ssh root@your-vm

      Done!

      1 The arp table solution seems really simple, but half the time my VMs vanish from the arp table and I can’t get their IP anymore.

      • Tags »
      • DNS libvirt Linux

    Leave a Reply Cancel reply

    Your email address will not be published. Required fields are marked *

    • The Authors
    • Virtual Disk Guide

      Interested in virtualization? Do QCOWs rule your filesystem? Are you a libvirt or KVM+QEMU wizard? I wrote a book about virtual disk management. Check out the The Linux Sysadmin's Guide to Virtual Disks online for free at ScribesGuides.com.


      Consider supporting the author by purchasing a hard copy of the first edition for just $10.00 on Lulu.com.

    • bitmath

      bitmath is a Python library for dealing with file size units (GiB's, kB's, etc) in a sane way. bitmath supports arithmetic, rich comparison, conversion, automatic best human-readable representation, and many other utility functions. Read some examples on the docs site or check out the source on GitHub.

    • latest posts

      • Querying block device sizes in Python on Linux and Mac OS X February 4, 2023
      • Using jq to filter an array of objects from JSON September 9, 2019
      • Two Year Break — And we’re back! November 16, 2018
    • tags

      bitmath blog conference css dblatex DNS DocBook eclipse Emacs Erlang Fedora fedora 22 filter GNU Screen Haiku Introduction java jboss LCSEE Linux locale locales fix slicehost ubuntu Macports module nist nXML-Mode opengl open source OS X package packaging pki prefix units presentation project pypi Python scholarship si summit Tutorial ubuntu xcode XML XMPP
    • h4ck teh world

      tbielawatbielawa
      • Issue Comment
        bitmath
        February 6, 2023 - 12:55 am UTC
      • Issue Comment
        bitmath
        February 6, 2023 - 12:54 am UTC
      • Push
        bitmath
        February 6, 2023 - 12:51 am UTC
      • Issue Comment
        bitmath
        February 6, 2023 - 12:36 am UTC
      • Push
        bitmath
        February 6, 2023 - 12:30 am UTC

Creative Commons License
Technitribe by Tim Bielawa is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.