I don’t care where you live, this is freaking cool.
These guys are jumping into the Cave of Swallows in Mexico. This clip is from the “Caves” section of the BBC’s awesome documentary Planet Earth.
Archive for October, 2007
Base Jumping Into a Cave
Wednesday, October 24th, 2007Installing Kubuntu 7.10 (Gutsy Gibbon) on an ThinkPad X61 Tablet
Sunday, October 21st, 2007This weekend I installed Gutsy, now officially known as Kubuntu 7.10 on my X61. I decided I’d try and write up a guide on thinkwiki.org. Because I don’t have an optical drive for my laptop, installation was a bit tricky, I ended up booting off the network. Once over that hurdle, everything else pretty much just worked. No fussing with X configuration settings, wired and wireless network just worked, sound worked etc. Installing Linux has come a long way in the last few years.
DHCP Failover on OpenBSD
Saturday, October 20th, 2007I have been running a DHCP server on my home network for eons now, and today I decided I’d move it on to my OpenBSD firewall cluster. It probably really shouldn’t be there but I already run a handful of other internal services there, like DNS, and NTP. Running DHCP on the firewall cluster also means that I can upgrade any machine on my network without losing internet access. Here’s how I got it set up and working.
Running xntpd on my OpenBSD firewall cluster
Tuesday, October 16th, 2007Now that my firewall cluster is working better, I can add some additional critical services to it. For a long time I have run a time server on a machine on my network so we can have consistant accurate time. I thought I would move this over to my firewall cluster, giving me redundant time servers. The setup was pretty easy.
First, get the xntpd package for OpenBSD from your favorite mirror. OpenNTPD is fine, but the lack of the ntpq command is enough for me to not use it. Once you have xntpd installed, we need to get it set up so it will run when you boot.
Add the following lines to /etc/rc.conf.local:
# flags to get xntpd started xntpd=YES xntpdate_flags="pool.ntp.org"
Then add the following to /etc/rc.local:
# xntpd stuff
# run ntpdate prior to ntpd
if [ $securelevel -le 1 -a X"${xntpdate_flags}" != X"NO" \
-a -x /usr/local/sbin/ntpdate ]; then
echo -n ' ntpdate'
/usr/local/sbin/ntpdate -b ${xntpdate_flags} >/dev/null
fi
if [ X"${xntpd}" == X"YES" -a -x /usr/local/sbin/ntpd \
-a -e /etc/ntp.conf ]; then
xntpd_flags="-p /var/run/ntpd.pid"
if [ $securelevel -ge 1 ]; then
xntpd_flags="${xntpd_flags} -x"
fi
echo -n ' ntpd'; /usr/local/sbin/ntpd ${xntpd_flags}
fi
Now that it will start and run, we just need a config file. OpenNTPD uses /etc/ntpd.conf as it’s configuration file, xntpd uses /etc/ntp.conf. Here’s my ntp.conf file from one of the machines in the cluster:
# /etc/ntp.conf: Configuration file for ntpd. # logfile /var/log/ntpd.log driftfile /etc/ntp.drift keys /etc/ntp.keys # set up our keys for run time modification requestkey 137 controlkey 137 trustedkey 137 #enable auth # time servers server 0.us.pool.ntp.org server 1.us.pool.ntp.org server 2.us.pool.ntp.org # use local system clock if all else fails server 127.127.1.0 iburst fudge 127.127.1.0 stratum 11 # restrict who can get time from us restrict 127.0.0.1 restrict 192.168.13.0 mask 255.255.255.0 restrict default nomodify nopeer
Note how I am using pool.ntp.org as my time servers. This gets me a randomly assigned time server each time I boot the machine. The config file on the other machine in the cluster is exactly the same, except that I am not using the ntp pool. I found several restricted time servers, and have acquired permission to utilize their services. This means that I will be sure and have different time sources on each of my time servers.
Notice also how I have the:
# use local system clock if all else fails server 127.127.1.0 iburst fudge 127.127.1.0 stratum 11
section in the file. This makes it so that if I lose internet connectivity, this time server will look at the local clock for a time source, so at least all the machines on my network will drift time together. The other machine in the cluster has it’s local clock set to stratum 10, so there will only be one “master” local clock.
All the clients on my network now have a simple configuration file to use these two new time servers. It looks like this:
# /etc/ntp.conf: Configuration file for ntpd. # logfile /var/log/ntpd.log driftfile /etc/ntp.drift keys /etc/ntp.keys # set up our keys for run time modification requestkey 137 controlkey 137 trustedkey 137 #enable auth # time servers server tick.kotfu.net iburst server tock.kotfu.net iburst # use local system clock if all else fails server 127.127.1.0 iburst fudge 127.127.1.0 stratum 13 # restrict who can get time from us restrict 127.0.0.1 restrict 192.168.13.0 mask 255.255.255.0 restrict default nomodify nopeer noquery noserve
Now I have my own redundant, reliable time services for my home network.
OpenBSD Firewall Cluster
Friday, October 12th, 2007I have been running an OpenBSD firewall cluster on my home network for some time. These two machines use CARP and pfsync to seamlessly fail over interfaces in case of a hardware or software failure. This has been quite convenient, and allows me to upgrade OpenBSD without losing internet connectivity. I only have one available public IP address, so that has to be on the CARP interface, ie each firewall can’t have it’s own public IP address. This meant that the backup machine had no connectivity to the outside world.