Dynamic DNS for fluid local area networks.
List vmdns peers
$ vmdns -l
hector: addr 10.1.1.7, uptime 1.33 days, loadavg 0.03 0.04 0.05
stonk: addr 10.1.1.10, uptime 1.33 days, loadavg 0.01 0.06 0.11
Open shells on all peers
$ cssh $(vmdns)
vmdns keeps /etc/hosts up to date, so you can access a peer
using <hostname> or <hostname>.local
$ grep hector /etc/hosts
10.1.1.7 hector.local hector # Added by vmdns
$ ssh hector
/etc/init/vmdns.conf runs vmdns --server on boot.
The server advertises the local host as a vmdns peer as well as using mDNS to browse for other peers.
Peers it discovers are added to /etc/hosts and periodically queried for uptime/load information. (GET http://<peer>:9300/stats)
Running vmdns by hand will query a vmdns server, listing its peers in short or long form.
$ vmdns -h
Query: vmdns [--list] [--connect-to ] [vm-names...]
$ git clone git://github.com/jlabusch/vmdns.git
$ cd vmdns
$ make all
$ sudo make install
- Only tested on Linux.
- Address resolution depends on Avahi.
node-mdnsdepends on libavahi-compat-libdnssd-dev.