$ apt-get install make gcc g++ subversion libtool \ autoconf automake libboost-dev libboost-thread-dev \ python-twisted libqt4-dev libqt4-debug \ libssl-dev avahi-utils libavahi-compat-libdnssd-dev
$ cd somewhere $ svn co svn://svn.pdos.csail.mit.edu/uia/trunk/uia uia $ cd uia $ ./configure uianet --with-user=`whoami` $ make $ sudo make install
$ sudo chown -R `whoami` /etc/uia $ echo Your Name >/etc/uia/owner.txt $ echo machine-name >/etc/uia/devname.txtUse your favorite editor to add "nameserver 127.0.0.1" as the first name server line in /etc/resolv.conf. Using ed:
$ echo '/nameserver/i nameserver 127.0.0.1 . wq' | sudo ed /etc/resolv.confIf you use dhclient, you may need to edit /sbin/dhclient-script (or perhaps /etc/dhcp3/dhclient-script, depending on your system) to make this setting "stick" across DHCP renewals. The edit is to add the --> marked line. (There must be a better way to interact with dhclient.)
if [ -n "$new_domain_name_servers" ]; then --> echo nameserver 127.0.0.1 >>$new_resolv_conf for nameserver in $new_domain_name_servers; do echo nameserver $nameserver >>$new_resolv_conf done else # keep 'old' nameserversMake sure tun device is installed
$ sudo modprobe tun
$ uialegacy restartIf uialegacy restart stops after printing "Starting router...", look in the /var/log/uia/* files to see what's going on.
$ ifconfig uiaThe ifconfig should print information about an IPv6 device named "uia". If not, double-check that the tun driver is loaded.
$ ping6 -c 1 `cat /etc/uia/eid.txt`Should succeed in sending a packet! If not, double-check that /etc/uia/uid.txt matches the address printed by ifconfig.
$ host machine-name.Should succeed in resolving to the address you just sent a packet to. If not, double-check that "ps axwwu|grep uianamed" finds an instance of uianamed.py, and then look at uianamed.log. Also (cat /etc/uia/names.db.root; echo), which should show a three-line file (missing the trailing newline) with EID (IPv6 address), key, and machine-name.
$ ping6 -c 1 machine-name.Should succeed in sending a packet! (If the last two commands worked, this Can't Fail.)
$ firefox http://machine-name./Note the trailing dot when referring to machine-name. The trailing dot keeps the DNS resolver from appending the default domain name (e.g., turning machine-name into machine-name.mit.edu). Finally, start the UIA control panel:
$ uiactl &(If you don't have a UIA control panel, make sure that the uia configure script found Qt version 4.)