But: I know FreeBSD can implement virtual interfaces and assign them to jails, so...
Answer: register freebsd5.cs.uwaterloo.ca, assign it to torres as a virtual interface, and then set up a jail that will call itself freebsd5.
jail wants to know its ip (129.97.15.40) and a user to run as. We don't want to run it as a regular user, nor do we want to run it as nobody, so let's create a new user "bsd5".
Username : bsd5 Password :Full Name : freebsd5 controller Uid : 1006 Class : Groups : bsd5 Home : /home/bsd5 Shell : /sbin/nologin Locked : yes OK? (yes/no): yes adduser: INFO: Successfully added (bsd5) to the user database. adduser: INFO: Password for (bsd5) is: (passwd elided) adduser: INFO: Account (bsd5) is locked. Add another user? (yes/no): no
Hopefully that will be sufficient. Now, looking at the manpage for jail(8), we see directions for setting up a complete distribution in a jail.
torres# setenv D /usr/freebsd5 torres# cd /usr/src torres# make world DESTDIR=$D
and wait a long time. Maybe I should have seen if I could have just done a make installworld DESTDIR=$D, but my /usr/obj is probably only half there now.
torres# cd etc torres# make distribution DESTDIR=$D torres# mount_devfs devfs $D/dev torres# cd $D torres# ln -sf dev/null kernel
That went much more quickly.
Now we run into troubles, because torres is a general purpose server for me, but we have to now restrict it IP wise. jail(8) says to do things like tell services to listen only on the one address: see the section marked "Setting up the Host environment".
So I'm going to leave off of this for now - too much work that'll just have to be tossed when I later get real hardware (I hope).