<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1299820040181797045</id><updated>2012-02-02T18:02:08.112Z</updated><category term='VMware promiscuous vmnet0'/><category term='Static IP SIM cards'/><category term='Dell M4400 Ubuntu 10.04 Lucid'/><category term='pfsense aaisp multi-wan'/><category term='stunnel freebsd gmail'/><category term='C400 X Jaunty Ubuntu'/><category term='google mail gmail spam ham junk filtering false positives'/><category term='mac lion vnc ubuntu'/><category term='web host virtualisation vmware citrix xen xenserver'/><category term='Dell C400 Ubuntu 10.04 Lucid Lynx Netbook Edition'/><category term='apple time capsule arp ip'/><category term='Photos'/><category term='ubuntu 10.10 dell maverick meerkat'/><category term='WoL Apple Mac'/><category term='ADSL'/><category term='freebsd syslog syslog.conf'/><category term='Hotels'/><category term='iphone youtube'/><category term='FreeBSD 7.x 8.x Soekris NET5501'/><category term='sync contacts address book mac iphone ipad snow leopard os x'/><category term='diskless soekris pxe pxeboot monowall pfsense askozia freenas'/><category term='Mac'/><category term='Garmin GPSmap 60CSx Mac MicroSD MicroSDHC'/><category term='apple mac ping dig nslookup dns'/><category term='Garmin GPSmap 60CSx eTrex Mac'/><category term='PPP'/><category term='AAISP'/><category term='diskless PXE PXEBOOT Ubuntu Linux FreeBSD BSD'/><category term='ipv6 ubuntu hardy 8.04'/><category term='ubuntu vm virtualization 10.04 kimsufi'/><category term='ubuntu usb mouse disable touchpad'/><category term='come cycling ledbury'/><category term='monowall no-NAT'/><category term='mac lion saved versions encryption'/><category term='ubuntu server VM'/><category term='PDF'/><category term='iPad ipsec vpn pptp'/><category term='security pentest'/><category term='Cisco IOS ADSL Dual-WAN'/><category term='Dell Inspiron 15 1545 Windows XP 7'/><category term='awstats apache ubuntu'/><category term='sandboxie sandboxing windows mac security'/><category term='sleepy Herefordshire'/><category term='UK'/><category term='Snow Leopard'/><category term='dialup'/><category term='MacBook Leopard Wi-Fi problems'/><category term='random paste'/><category term='IPV6'/><category term='gmail imap push email mac iphone ipad linux thunderbird apple'/><category term='Mac Snow Leopard 10.6 10.6.3 PGP GPG FDE'/><category term='EZMLM'/><category term='ubuntu 10.04 pending updates'/><category term='Cisco IOS ADSL Dual-WAN VOIP QoS'/><category term='pfSense'/><category term='stopping ubuntu services 10.04'/><title type='text'>Martin's Random Notes</title><subtitle type='html'>Mainly geeky stuff. I hope some of it is useful.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>56</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-8793305753928533708</id><published>2012-01-04T15:25:00.003Z</published><updated>2012-01-06T09:07:07.897Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu server VM'/><title type='text'>Preparing a new Ubuntu VM Server</title><content type='html'>Here is my crib sheet on setting up a new Ubuntu server, including notes on enabling Virtualisation.&amp;nbsp; These notes include discussion of Kimsufi / OVH dedicated hosting, but the principles apply to all dedicated servers.&amp;nbsp; I use Kimsufi because they are the only dedicated hosting provider that I can afford for non-profit purposes...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;See also:-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ubuntu Server Guide:&amp;nbsp; &lt;a href="https://help.ubuntu.com/11.10/serverguide/C/"&gt;https://help.ubuntu.com/11.10/serverguide/C/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kimsufi KS series: Dedicated Hosting Prices:&amp;nbsp;&amp;nbsp; &lt;a href="http://www.kimsufi.co.uk/ks/"&gt;http://www.kimsufi.co.uk/ks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;1) Install base OS&lt;/b&gt;&lt;/u&gt; (Ubuntu 11.10 == November 2011)&lt;br /&gt;This summary is based on Ubuntu Server 11.10.&amp;nbsp; Normally I would use an  LTS version of Ubuntu, but 10.04 LTS is missing the ability to shut down  the guest VM's when the host server is rebooted.&amp;nbsp;&amp;nbsp; So if you intend to  host any VM's, then I would suggest using 11.10 until 12.04 LTS is  released in April 2012.&lt;br /&gt;&lt;br /&gt;In the case of Kimsufi / OVH hosting, this is simply a matter of using the web control panel or the MOMI desktop application to reinstall the OS.&amp;nbsp; Choose "raw" OS distribution on the assumption that you want to control things yourself.&amp;nbsp;&amp;nbsp; This will still include the RTM monitoring application, which is simply a CRON job that pushes status updates to the OVH servers every few minutes so that the web control panel shows up-to-date information about your boxes.&lt;br /&gt;&lt;br /&gt;After the base install is finished on a Kimsufi / OVH box, you might want to change the random &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;root&lt;/span&gt; password that was set during the automatic provisioning process.&amp;nbsp; If you look at the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;shadow&lt;/span&gt; file before and after, it seems likely that the automatic provisioner uses an older version of &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;crypt&lt;/span&gt;(3) for generating the hash.&amp;nbsp; Setting a new password will replace the password hash with a "$6$" SHA one which should be harder to break by brute force. (On the other hand- the opposite viewpoint is: If an atttacker is in a position to read &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/shadow&lt;/span&gt;, then your box has already been owned anyway.&amp;nbsp; And given direct physical access - or access to the diagnostic netboot image via the web management GUI - they can just change the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;root&lt;/span&gt; password anyhow.)&lt;br /&gt;&lt;br /&gt;If you have your own box, then just download the Ubuntu Server .ISO media, burn to a CD or DVD, and boot from that.&amp;nbsp; Then do a basic install.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;2) Enable password-less SSH logins&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Typing in a password every time is insecure and tedious.&amp;nbsp; So straight after installation, edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/ssh/sshd_config&lt;/span&gt; and make sure root logins are enabled (true by default for Kimsufi/OVH installs) :-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PermitRootLogin yes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;scp&lt;/span&gt; to copy the public SSH key from your management workstations (e.g. &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;~/.ssh/id_rsa.pub&lt;/span&gt;) into &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/root/.ssh/authorized_keys2&lt;/span&gt; on the server.&amp;nbsp; Now execute "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/ssh restart&lt;/span&gt;" so that this takes effect.&amp;nbsp; Then log out, and log back in to test passwordless logins.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Once passwordless logins are confirmed working, edit&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; /etc/ssh/sshd_config&lt;/span&gt; to disable password authentication.&amp;nbsp; This will stop lames trying to brute-force your SSH password all day long…&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PasswordAuthentication no&lt;/span&gt;&lt;br /&gt;Run "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/ssh restart&lt;/span&gt;" again so that this takes effect.&lt;br /&gt;&lt;br /&gt;Also in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/ssh/sshd_config&lt;/span&gt; … consider changing the listening TCP port to a non-default value:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Port 22022&lt;/span&gt;&lt;br /&gt;BUT, this seems to break virt-manager client (see below) so you might want to avoid that if your server will be hosting VMs.&lt;br /&gt;&lt;br /&gt;Also in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/ssh/sshd_config &lt;/span&gt;… consider enabling a legal warning text for logins:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Banner /etc/issue.net&lt;/span&gt;&lt;br /&gt;where that file contains:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;WARNING: COMPUTER MISUSE ACT 1990&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; You will commit a criminal offence if you act outside your authority in&lt;/span&gt; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;relation to this computer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To restart SSH after any config changes, you need to say:-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/ssh restart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you'd like to change the messages shown at login time, change to the /etc/update-motd.d directory.&amp;nbsp; On Kimsufi OVH systems, it's probably worth commenting out everything in /etc/update-motd.d20-ovh-informations (or just stick an exit near the top).&amp;nbsp;&amp;nbsp; You need to reboot afterwards to test.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;3) Patch the box&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apt-get -y update&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apt-get -y dist-upgrade&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reboot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;4) Fix hostname, hosts file, DNS…&lt;/u&gt;&lt;/b&gt;Edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/hostname&lt;/span&gt; and set your desired hostname in Fully Qualified Domain Name format.&lt;br /&gt;Example:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; www7.example.com&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/hosts&lt;/span&gt; and add your hostname (by itself and in FQDN format) and your IP address.&lt;br /&gt;Example:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.2.3.4 www7 www7.example.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/resolv.conf&lt;/span&gt;.&amp;nbsp; Delete whatever crap is in it.&amp;nbsp; Make it use Google's nice fast name servers:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nameserver 8.8.8.8&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nameserver 8.8.4.4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/network/interfaces&lt;/span&gt; and make sure IPv4 and IPv6 addresses, netmasks and gateways are correctly set.&lt;br /&gt;&lt;br /&gt;Unless you want to act as a DNS server, remove bind:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apt-get remove bind9&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Reboot.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;5) Revert to stock Linux kernel &lt;/u&gt;&lt;/b&gt;If the hosting server uses your vendor's custom kernel (e.g. for Kimsufi/OVH servers) you need to revert to a standard kernel and standard grub settings. Otherwise you won't get regular security updates, and perhaps the VM hosting won't work so well.&lt;br /&gt;&lt;br /&gt;Full details:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://neuro.me.uk/2009/09/20/revert-to-standard-ubuntu-kernel-on-ovh-or-kimsufi-servers/"&gt;http://neuro.me.uk/2009/09/20/revert-to-standard-ubuntu-kernel-on-ovh-or-kimsufi-servers/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Summary: (based on Ubuntu 11.10 on Kimsufi 2010 box)&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@server:~# &lt;b&gt;uname -a&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Linux server.fqdn 2.6.38.2-grsec-xxxx-grs-ipv6-64 #2 SMP Thu Aug 25 16:40:22 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@server:~# &lt;b&gt;rm /etc/grub.d/06_OVHkernel&lt;/b&gt; &amp;lt;-- This removes the grub template for OVH's Dirty Kernel&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@server:~# &lt;b&gt;apt-get -y install linux-server grub&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; …&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N) &lt;b&gt;y&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Searching for splash image ... none found, skipping ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Found GRUB 2: /boot/grub/core.img&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Found kernel: /boot/vmlinuz-3.0.0-14-server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Found GRUB 2: /boot/grub/core.img&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Updating /boot/grub/menu.lst ... done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@server:~# &lt;b&gt;ln -sf "/dev/sda1" /dev/root&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@server:~# &lt;b&gt;grub-install --recheck --root-directory=/ /dev/sda&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Probing devices to guess BIOS drives. This may take a long time.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Installing GRUB to /dev/sda as (hd0)...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Installation finished. No error reported.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; This is the contents of the device map //boot/grub/device.map.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Check if this is correct or not. If any of the lines is incorrect,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fix it and re-run the script `grub-install'.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (fd0)&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/fd0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (hd0)&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sda&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@server:~# &lt;b&gt;grub&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Probing devices to guess BIOS drives. This may take a long time.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ Minimal BASH-like line editing is supported.&amp;nbsp;&amp;nbsp; For&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the&amp;nbsp;&amp;nbsp; first&amp;nbsp;&amp;nbsp; word,&amp;nbsp; TAB&amp;nbsp; lists&amp;nbsp; possible&amp;nbsp; command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; completions.&amp;nbsp; Anywhere else TAB lists the possible&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; completions of a device/filename. ]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; grub&amp;gt; &lt;b&gt;root (hd0,0)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (hd0,0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; grub&amp;gt; &lt;b&gt;find /boot/grub/stage2&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; find /boot/grub/stage2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (hd0,0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; grub&amp;gt; &lt;b&gt;setup (hd0)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setup (hd0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Checking if "/boot/grub/stage1" exists... yes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Checking if "/boot/grub/stage2" exists... yes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Checking if "/boot/grub/e2fs_stage1_5" exists... yes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...&amp;nbsp; 21 sectors are embedded.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; succeeded&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Running "install /boot/grub/stage1 (hd0) (hd0)1+21 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Done.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; grub&amp;gt; &lt;b&gt;quit&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; quit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@server:~# &lt;b&gt;sync&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@server:~# &lt;b&gt;reboot&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; …&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root@server:~# &lt;b&gt;uname -a&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Linux server.fqdn 3.0.0-14-server #23-Ubuntu SMP Mon Nov 21 20:49:05 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;uname -a&lt;/b&gt; shows that the standard Ubuntu kernel is now running - good.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;6) Install other Ubuntu daemons:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;For accurate time keeping...&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; ntpdate fr.pool.ntp.org&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt; to fix the time initially&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; apt-get install openntpd &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vi&amp;nbsp; /etc/openntpd/ntpd.conf&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set a single server (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;cdns.ovh.net&lt;/span&gt;) if using Kimsufi hosting, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; otherwise use your country's server pool e.g. fr.pool.ntp.org&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/init.d/openntpd restart&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;NOTE: it is NOT recommended to run NTP daemons on VM guests, just on VM hosts.&lt;br /&gt;&lt;br /&gt;For a basic web server with a database and PHP, you might want to install the LAMP daemons (linux apache mysql php).&amp;nbsp;&amp;nbsp; You can do this from the SSH command line like so:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tasksel&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Just select LAMP Server.&amp;nbsp; It will ask you for a MySQL root password.&amp;nbsp;&amp;nbsp; That's it!&amp;nbsp;&amp;nbsp; A working default config is installed.&amp;nbsp;&amp;nbsp; But you probably only want to do that in VM guests, not in the VM host.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;7) Install Virtualisation Support on Ubuntu Server&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Documentation: &lt;a href="https://help.ubuntu.com/11.10/serverguide/C/virtualization.html"&gt;https://help.ubuntu.com/11.10/serverguide/C/virtualization.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We will install Ubuntu's default VM hosting package, KVM, on the server.&lt;br /&gt;&lt;br /&gt;We can manage the VM's remotely via a secure SSH connection - either via the command line or via a GUI interface.&amp;nbsp; For the GUI option, prepare an Ubuntu Linux client (desktop, laptop or VM) for remote VM management by installing the Ubuntu desktop operating system.&amp;nbsp;&amp;nbsp;&amp;nbsp; On this client machine, install the Ubuntu packages virt-manager and virt-viewer.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; sudo apt-get install virt-viewer virt-manager&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OK, back to your host server.&amp;nbsp;&amp;nbsp;&amp;nbsp; First, check that it supports KVM :-&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kvm-ok&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The program 'kvm-ok' is currently not installed.&amp;nbsp; You can install it by typing:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apt-get install cpu-checker&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apt-get install cpu-checker&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; …&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kvm-ok&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INFO: /dev/kvm does not exist&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HINT:&amp;nbsp;&amp;nbsp; sudo modprobe kvm_intel&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INFO: Your CPU supports KVM extensions&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KVM acceleration can be used&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; modprobe kvm_intel&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kvm-ok&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INFO: /dev/kvm exists&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KVM acceleration can be used&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Good.&amp;nbsp; Now install the virtualization server packages… &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apt-get install kvm libvirt-bin virtinst&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At this point I would probably reboot for luck.&amp;nbsp;&amp;nbsp; Then you're ready to get started.&amp;nbsp;&amp;nbsp; You can use the virsh command line client to manage virtual machines on the server.&amp;nbsp; But for initial setup you might want to use the GUI tool.&amp;nbsp;&amp;nbsp; You'll need to have a recent Ubuntu workstation for this.&amp;nbsp;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Make sure that the management workstation's public SSH key is in the authorised hosts file on the server (as detailed earlier).&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Make sure you can SSH from the management workstation onto the server.&amp;nbsp;&lt;/li&gt;&lt;li&gt; THE VM&amp;nbsp; MANAGEMENT GUI WILL NOT WORK unless you can successfully SSH from your management workstation to your server on port 22.&lt;/li&gt;&lt;/ul&gt;From the management workstation, start up the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virt-manager &lt;/span&gt;program.&amp;nbsp; This is a GUI application that makes it pretty easy to build new VM guests.&amp;nbsp; Start the Virtual Machine Manager GUI (if it's not in the menu, type&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; virt-manager&lt;/span&gt;)…. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; In virt-manager, use &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;File / Add Connection&lt;/span&gt; to define a connection to your server host…&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Hypervisor type = QEMU/KVM&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Tick: Connect to remote host&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Method: SSH&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Username: root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Hostname: your.server.fqdn&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once a connection is established, double-click on it to review the server's connection details.&amp;nbsp;&amp;nbsp; Resist the urge to mess with the 192.168.x.x IP range (that's not actually used for production as far as I can tell).&amp;nbsp;&amp;nbsp; But you will need to go to the Storage tab, and press the + button to add a new storage pool (because the default one is in a silly place with little free space).&amp;nbsp; ..&amp;nbsp; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a directory, owned by root, called &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/home/VMs&lt;/span&gt;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Use the + button in the GUI to add this as the storage pool.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Use the X button in the GUI to delete the default one.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Alternatively you could do some diddling with symlinks if you prefer.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;The Add Storage Pool dialog appears.&amp;nbsp;&amp;nbsp; Enter a pool name (default will do) and select "dir: Filesystem Directory" as the storage type unless you want to do something advanced (such as using raw disk partitions or iSCSI targets).&amp;nbsp; Press Forward and the storage pool will be allocated.&lt;/li&gt;&lt;/ul&gt;At this point you SSH onto the server host, and fetch an .ISO image to install the VM guest from.&amp;nbsp; For example:-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; cd /home/VMs/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; wget http://www.ubuntu.com/start-download?distro=server&amp;amp;bits=64&amp;amp;release=latest -O ubuntu11.10.x64.server.iso&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The install CD will only take a minute to download from the lovely fast 100 megabit connection of a Kimsufi box.&amp;nbsp; Awesome!&lt;br /&gt;&lt;br /&gt;In the GUI window &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Storage&lt;/span&gt; tab, press the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Refresh&lt;/span&gt; icon (next to '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Volumes&lt;/span&gt;') so that the .ISO media file shows up in the list. &lt;br /&gt;&lt;br /&gt;OK, back to the main Virtual Machine Manager window…&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Right-click on the Connection, and select "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;New&lt;/span&gt;".&amp;nbsp; The '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Create a new virtual machine&lt;/span&gt;' dialogue appears…&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Enter a name for the VM, click '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Local install media&lt;/span&gt;' (unless you want to import an existing VM image).&amp;nbsp; Press &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Forward&lt;/span&gt;.&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Select the .ISO file from the browse list.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Select the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;OS type&lt;/span&gt; and &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Version&lt;/span&gt; from the drop-down menu.&amp;nbsp; Press &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Forward&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Confirm RAM and CPU allocations.&amp;nbsp;&amp;nbsp; Press &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Forward&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Confirm the storage size (default 8 GB).&amp;nbsp; Press &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Forward&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Tick "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Customize configuration before install&lt;/span&gt;".&amp;nbsp;&amp;nbsp;&amp;nbsp; Also, expand the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Advanced Options&lt;/span&gt; section.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; - Change '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Virtual default network (NAT)&lt;/span&gt;' to '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Specify shared device name&lt;/span&gt;'.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; - As '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Bridge Name&lt;/span&gt;', enter '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;br0&lt;/span&gt;'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; - Tick '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Set a fixed MAC address&lt;/span&gt;' (if you are using Kimsufi / OVH hosting)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; - Copy the MAC address for this VM from the Kimsufi web manager Virtual MAC for VPS service dialog.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Press &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Finish&lt;/span&gt;.&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - There will be a delay of one or two minutes.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - A new GUI dialog will appear, allowing you to review and customise the VM installation parameters.&amp;nbsp; Similar to VMware.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Press &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Begin Installation&lt;/span&gt; to proceed.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - A VNC VM server console window appears.&amp;nbsp;&amp;nbsp; Click through the text-based menus to install Ubuntu Server as you normally would on your own PC.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - IPV6 and DHCP auto configuration will fail.&amp;nbsp; Select '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Do Not Configure The Network At This Time'&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - In the disk partitioner, select '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Guided - use entire disk&lt;/span&gt;'.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Select &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;OpenSSH Server&lt;/span&gt; when prompted for which packages to install.&lt;br /&gt;&lt;br /&gt;Once installed, the VM will reboot with amazing speed.&amp;nbsp; You will be able to control it through the VNC-based console window in Virtual Machine Manager.&amp;nbsp; Your first action will be to log in on this console and fix the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/network/interfaces&lt;/span&gt; file (see section 8 below - especially if using Kimsufi / OVH hosting), then reboot the VM.&lt;br /&gt;&lt;br /&gt;You can also connect to the VM guest console of an existing VM without using virt-manager.&amp;nbsp; &lt;br /&gt;Syntax:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; virt-viewer --connect 'qemu+ssh://root@server.example.com/system' vm1&lt;/span&gt;&lt;br /&gt;where vm1 is the name of your VM guest.&amp;nbsp;&amp;nbsp; Note that virt-viewer is quite slow - being based on VNC - but it's good enough to let you onto the VM guest console so that you can fix network settings in order to fix things so that SSH works (see next section).&amp;nbsp;&amp;nbsp; But you may prefer to enable a proper text-mode virtual serialconsole - see later section in this guide ("HOWTO: Enable text-mode VM guest console").&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;8) Fixing the IP Routing for the VIrtual Machines (Kimsufi OVH Hosting only)&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;OVH uses a weird system whereby you can request extra IP addresses (failover IPs) which can then be used by your VM guests.&amp;nbsp; However, those IP's don't lie within the same IP subnet as your host server.&amp;nbsp;&amp;nbsp; So your host server has to run its network interface in Bridge Mode, otherwise the OVH switching/routing infrastructure won't route traffic to and from those extra IP addresses.&lt;br /&gt;&lt;br /&gt;So on Kimsufi / OVH hosting, you need to start off by requesting those extra "failover" IP addresses - which will incur a small extra monthly fee.&amp;nbsp; Use the Kimsufi Web Manager to do this.&amp;nbsp; It takes a few minutes to work for each extra IP.&amp;nbsp; You need to request a failover IP address and after that, you need to request a Virtual MAC.&amp;nbsp;&amp;nbsp; In the web manager, use "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Associate a virtual MAC to an IP address&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;References: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://help.ovh.co.uk/BridgeClient%20" target="_blank"&gt;http://help.ovh.co.uk/BridgeClient &lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://help.ovh.com/DedieMac"&gt;http://help.ovh.com/DedieMac&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For this to work, on the hosting server, we need to edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/network/interfaces&lt;/span&gt;.&amp;nbsp; Comment out what's there and replace the 'eth0' references with 'br0' references.&amp;nbsp; This is necessary for your VM guests to successfully route traffic to the Internet (because of the unusual routing config at OVH).&lt;br /&gt;&lt;br /&gt;For my VM &lt;b&gt;server&lt;/b&gt; machine's &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/network/interfaces&lt;/span&gt;, I ended up with:-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; auto lo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iface lo inet loopback&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #auto eth0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #iface eth0 inet static&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp; address 91.121.7.8&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp; netmask 255.255.255.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp; network 91.121.7.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp; broadcast 91.121.7.255&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp; gateway 91.121.7.254&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #iface eth0 inet6 static&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp; address 2001:41D0:0001:5A08:dead:beef:cafe:f00d&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp; netmask 56&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp; gateway 2001:41D0:0001:5AFF:00FF:00FF:00FF:00FF &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; auto br0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iface br0 inet static&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; address 91.121.7.8&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; netmask 255.255.255.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; gateway 91.121.7.254&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bridge_ports eth0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bridge_fd 9&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bridge_hello 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bridge_maxage 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; bridge_stp off&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iface br0 inet6 static&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; address 2001:41D0:0001:5A08:dead:beef:cafe:f00d&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; netmask 56&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; gateway 2001:41D0:0001:5AFF:00FF:00FF:00FF:00FF &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;By the way, the example above includes IPV6 support, which you might or might not need.&amp;nbsp; But it's the way of the future of course.&amp;nbsp;&amp;nbsp; The gateway is perhaps a bit non-standard at OVH: it generates warnings about not matching the 56-bit net mask, but this seems to be by design, and it does work OK.&lt;br /&gt;&lt;br /&gt;So… Edit your &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/network/interfaces&lt;/span&gt; file accordingly and reboot the box.&amp;nbsp; If you can't log back in after 2 minutes, you've got something wrong, and you'll have to boot the box from a rescue image so that you can edit the file again and fix it.&amp;nbsp; On the Kimsufi hosting boxes, you can net boot into a recovery image via the web manager - it just takes a while (it always does a full FSCK first, annoyingly).&lt;br /&gt;&lt;br /&gt;Note that some web servers may not start when you reboot.&amp;nbsp; The Mathopd web server failed to listen on 0.0.0.0 presumably because it started before br0 was fully initialised.&amp;nbsp; That could probably be fixed by tweaking the daemon startup order, but a quick fix was to change the ListenAddress in Mathopd from 0.0.0.0 to 91.121.7.8.&amp;nbsp;&amp;nbsp; However, for maximum security, you should probably avoid running web servers (etc) in the VM hosting server OS.&amp;nbsp;&amp;nbsp; It is better to run them in the VM guests, so that any compromise of such a service only destroys the VM guest, not everything on the physical box.&lt;br /&gt;&lt;br /&gt;When we've done an initial installation of a VM guest (see above), we will need to go onto the guest VM console and edit the guest's &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/network/interfaces&lt;/span&gt; file to match.&amp;nbsp; My first &lt;b&gt;guest&lt;/b&gt; had the following config in /etc/network/interfaces…&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # The loopback network interface&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; auto&amp;nbsp; lo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iface lo inet loopback&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # The primary network interface&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; auto&amp;nbsp; eth0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iface eth0 inet static&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hwaddress ether 02:00:00:ab:af:f5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address&amp;nbsp;&amp;nbsp; 178.32.50.87&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; broadcast 178.32.50.87&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; netmask&amp;nbsp;&amp;nbsp; 255.255.255.255&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; post-up&amp;nbsp;&amp;nbsp; route add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 91.121.7.254 dev eth0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; post-up&amp;nbsp;&amp;nbsp; route add default gw 91.121.7.254&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; post-down route del&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 91.121.7.254 dev eth0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; post-down route del default gw 91.121.7.254&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iface eth0 inet6 static&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address 2001:41D0:0001:5A08::3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; netmask 56&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gateway 2001:41D0:0001:5AFF:00FF:00FF:00FF:00FF&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That is, as far as the Guest VM is concerned, his network is /32, and his default route is the same router that the host VM sees directly connected on eth0 (even though you would think that the router was not in the right subnet).&amp;nbsp; Of course you will need to set the IP addresses and MAC (hwaddress) to match your own allocations from Kimsufi/OVH.&lt;br /&gt;&lt;br /&gt;If troubleshooting is necessary to get guest networking working, use the VM Guest console, and remember to check the usual files are all correct:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/networks&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/network/interfaces &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/hostname&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/hosts &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/resolv.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/udev/rules.d/70-persistent-net.rules&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When the VM guest is working, SSH into it, and execute:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apt-get install acpid&lt;/span&gt;&lt;br /&gt;This ensures that it responds to virtual power off events.&amp;nbsp; In other words, it will close down cleanly when you reboot the host server (e.g. to apply new security updates).&lt;br /&gt;&lt;br /&gt;You may also want to disable the non-privileged user account created during setup, after setting a root password and enabling passwordless SSH logins as for the host server. Of course you'll now need to set up the basic things on the VM guest, just as you did on the VM host.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;HOWTO: Enable text-mode VM guest console&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;You can set up a virtual serial port as a much nicer (much faster) text-based alternative to the VNC-based console offered by virt-manager / virt-viewer.&amp;nbsp;&amp;nbsp; Like the VNC console, it will still work when SSH doesn't (e.g. because you've got something wrong in a config file).&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;a href="http://blog.codefront.net/2010/02/01/setting-up-virtualization-on-ubuntu-with-kvm/"&gt;http://blog.codefront.net/2010/02/01/setting-up-virtualization-on-ubuntu-with-kvm/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In ubuntu 11.10, everything detailed in the Reference was already set up by default, except the definition for &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init/ttyS0.conf&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Getting a virtual serial console to your VM from the Host Server&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - SSH onto the VM server.&amp;nbsp; Edit the VM’s settings:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; virsh edit billiejean&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - In the [devices] block, add (if not already present, as is the case on recent versions):&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; serial type='pty'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; target port='0'/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /serial&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - SSH into the VM guest and create a file &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init/ttyS0.conf&lt;/span&gt; containing:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; start on stopped rc RUNLEVEL=[2345]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; stop on runlevel [!2345]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; respawn&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; exec /sbin/getty -8 38400 ttyS0 xterm-256color&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Restart your VM:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; virsh stop billiejean&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; virsh start billiejean&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Verify the console works by opening a console to the VM from the server:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; virsh console billiejean&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; You may have to hit “Enter” before you see any console output.&amp;nbsp; After editing files you may find you need to execute "clear ; reset" on the command line if the display won't scroll properly.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;HOWTO: Take a rapid VM Snapshot before applying system updates or changes&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;I don't like to apply a load of security updates unless I can roll back the system quickly in the event of problems.&amp;nbsp;&amp;nbsp; Happily this is pretty easy with Ubuntu Server VM's.&amp;nbsp;&amp;nbsp; However, you will first need to convert your VM image files from the default RAW format to the compressed QCOW2 format.&amp;nbsp; This is a bit slower than RAW, but it does offer Snapshots.&amp;nbsp;&amp;nbsp; A Snapshot is a point in time, stored inside the image file, that you can roll back to using the virsh command.&lt;br /&gt;&lt;br /&gt;To convert a VM image file to QCOW2 (Copy On Write) format:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; qemu-img convert -f raw vm21.img -O qcow2 vm21.img.qcow2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This command will take some minutes to execute (depending on the size of the VM).&amp;nbsp;&amp;nbsp;&amp;nbsp; The QCOW2 file will be smaller than the original, as it does not store unused areas of the virtual disk.&lt;br /&gt;&lt;br /&gt;To take a snapshot, use a syntax like this:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; virsh snapshot-create vm3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If your VM3 VM image is in RAW format rather than QCOW2 format, the snapshot-create command will fail with:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error: Requested operation is not valid: Disk 'vm3.img' does not support snapshotting&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To change the VM definition to use QCOW2, first use &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;qemu-img&lt;/span&gt; as shown above to make a QCOW2 version of the VM.&amp;nbsp;&amp;nbsp; Then use '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virsh edit vm3&lt;/span&gt;' (for example) rather than editing the file from Linux directly.&amp;nbsp; That way, the VM software will know about the change.&amp;nbsp; You want to find a line below "disk .." like this:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; driver name='qemu' type='raw'/ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; source file='/home/VMs/vm21.img'/&lt;/span&gt;&lt;br /&gt;and change this to:&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; driver name='qemu' type='qcow2'/ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; source file='/home/VMs/vm21.img.qcow2'/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To manage the snapshots, you can use '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virsh snapshot-list', 'virsh snapshot-restore', 'virsh snapshot-delete&lt;/span&gt;' (etc).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt;! The Snapshots are not external files.&amp;nbsp; They are stored within the QCOW2 file itself.&amp;nbsp; So, they are an easy way to image a virtual box before applying system updates (etc) so that you can quickly revert back.&amp;nbsp; But for an external backup, the easiest thing is probably to shut down the VM, and take a copy of the whole QCOW2 file so that you can then restart the VM, and then copy the backup file to another server.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt;! "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virsh snapshot-create vm23&lt;/span&gt;" took over 20 minutes on a &lt;b&gt;running&lt;/b&gt; (but idle) guest VM.&amp;nbsp; During this time, the VM guest did not respond via the network.&amp;nbsp; It is very much quicker to say:&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; virsh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; shutdown vm23&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; (wait for 15 seconds for it to close down)&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; snapshot-create vm23&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; start vm23&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Booting a VM is much faster than booting a real box.&amp;nbsp; So there's no advantage that I can see in snapshotting a running box.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;HOWTO: Clone an existing VM&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Let's say you've built a nice VM guest environment and you want to be able to make a copy of it, so that you can use it as a template for other instances.&amp;nbsp; There are several ways to make the clone…&lt;br /&gt;&lt;br /&gt;First, obtain a new IP address (and MAC address if necessary).&amp;nbsp;&amp;nbsp; For example on Kimsufi/OVH hosting, you need a new "failover" IP and a corresponding new virtual MAC ready (see above). &lt;br /&gt;&lt;br /&gt;Now, SSH onto the server and issue the shell command "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virt-clone&lt;/span&gt;" (see below).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - I don't recommend using the GUI (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virt-manager&lt;/span&gt;) as you end up with daft filename (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;vm1-clone&lt;/span&gt;) that then needs changing.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - You might try the clone command in "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virsh&lt;/span&gt;" (but close down the virt-manager GUI first, or it will get confused).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - With &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virt-clone&lt;/span&gt;, you can copy the VM image and change its MAC address in one go:-&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; virsh shutdown vm1&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; virt-clone -o vm1 -n vm2 -f /home/VMs/vm2.img --mac 02:00:00:47:f4:da&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; virsh start vm1&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - There are config files in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/libvirt/qemu&lt;/span&gt; and &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/var/lib/libvirt&lt;/span&gt;.&amp;nbsp; These are best edited using "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;virsh edit vmname&lt;/span&gt;".&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - You may have to restart &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/libvirt-bin&lt;/span&gt; daemon after any changes made by hand in external editors.&lt;br /&gt;&lt;br /&gt;How do we then edit the /&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;etc&lt;/span&gt; files to personalize the cloned VM?&lt;br /&gt;i.e.&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/networks&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/network/interfaces &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/hostname&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/hosts &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/udev/rules.d/70-persistent-net.rules&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well you have three choices…&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; A. Boot the clone (alone to avoid IP clash), edit over SSH, then reboot;&lt;br /&gt;or&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; B. Boot the clone (alone to avoid IP clash), and use the remote console for editing the files.&lt;br /&gt;or&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C. Mount the clone's filesystem from the VM host, and edit/fix before booting it&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; example:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;modprobe nbd max_part=63&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qemu-nbd -c /dev/nbd2 /home/VMs/vm2.img&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mkdir /mnt/vm2&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mount /dev/nbd2p1 /mnt/vm2&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; .. edit files in /mnt/vm2/etc/...&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; umount /mnt/vm2&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qemu-nbd -d /dev/nbd2 &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Option C is probably best.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-8793305753928533708?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/8793305753928533708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2012/01/preparing-new-ubuntu-vm-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8793305753928533708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8793305753928533708'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2012/01/preparing-new-ubuntu-vm-server.html' title='Preparing a new Ubuntu VM Server'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5688345467403092792</id><published>2012-01-02T14:22:00.001Z</published><updated>2012-01-04T17:48:34.520Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pfsense aaisp multi-wan'/><title type='text'>Multi-WAN + Multi-LAN + No-NAT routing with pfSense 2.0.1</title><content type='html'>This notes summarise how to run multiple No-NAT LAN and WAN connections using version 2.0.1 of pfSense (an excellent open-source routing/firewalling appliance operating system).&amp;nbsp;&amp;nbsp; My setup didn't work out of the box initially, so I thought it was worth writing up a summary of the settings that are now working here.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;If you are running NAT (boo!), or if you want to do load-balancing rather than policy-based routing, then these notes are probably not for you.&amp;nbsp;&amp;nbsp;&amp;nbsp; The official pfSense "Multi-WAN 2.0" documentation is at &lt;a href="http://doc.pfsense.org/index.php/Multi-WAN_2.0"&gt;http://doc.pfsense.org/index.php/Multi-WAN_2.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The beauty of pfSense 2.0.1 for multi-WAN setups is that you can define as many Gateway Groups as you like.&amp;nbsp; You use these Gateway Groups in your outbound firewall rules to define your outbound routing &amp;amp; failover policies.&amp;nbsp; In my case, there are several internal LANs, each with its own outbound Gateway Group.&amp;nbsp; But in a simpler setup, you could have just one internal LAN, but define your outbound firewall rules to use different Gateway Groups for different computers and other devices (by source IP address) and/or different applications (by destination TCP port).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Summary of Connections&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;My setup uses a Soekris NET5501 low-power computer with 4 Ethernet ports as the combined firewall/router running pfSense.&amp;nbsp; To conserve Ethernet ports while allowing separation of different internal networks, all the internal networks leave the firewall on a VLAN trunk.&amp;nbsp; This trunk connects to a Cisco Small Business SG200-26 switch.&amp;nbsp; Both the Soekris and the Cisco switch are fanless, which makes for total silence and very low power consumption.&amp;nbsp;&amp;nbsp; The Soekris boots pfSense from a CompactFlash card, so hard disk failures do not occur.&lt;br /&gt;&lt;br /&gt;No other routers are used here: my pfSense system controls all the internet uplinks itself, using two ADSL modems plus a 3G dongle.&lt;br /&gt;&lt;br /&gt;My WAN links are as follows:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 x ADSL PPPoE via BT 20CN to ISP AAISP ( http://aaisp.net.uk/broadband.html )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 x ADSL PPPoE via BT 21CN to ISP AAISP&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 x 3G/UMTS PPP via 3UK&amp;nbsp;&amp;nbsp; to ISP AAISP ( http://aaisp.net.uk/telecoms-mobile-data.html )&lt;br /&gt;&lt;br /&gt;AAISP customers: there is a Bonding Lines KB article at &lt;a href="http://aaisp.net.uk/kb-broadband-bonding.html"&gt;http://aaisp.net.uk/kb-broadband-bonding.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My LAN networks are as follows:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; VOIP subnet - where my Asterisk telephone system lives - with full ingress and egress filtering&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; HOSTING subnet - where my web &amp;amp; mail servers live - with full ingress and egress filtering&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL subnet - where all the household computers and handheld devices live - full ingress filtering&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; PENTEST subnet - for running security audits - with no filtering.&lt;br /&gt;&lt;br /&gt;All three WAN links terminate at Andrews &amp;amp; Arnold (www.aaisp.net.uk) who offer true unfiltered no-NAT connections, with free blocks of public IPV4 and IPV6 addresses.&amp;nbsp;&amp;nbsp;&amp;nbsp; For now I'm only using IPV4, as the IPV6 support in pfSense 2.0.1 isn't ready for production use.&amp;nbsp;&amp;nbsp; The sister project Monowall offers full IPV6 support but currently lacks the multi-WAN capabilities of its sibling pfSense.&lt;br /&gt;&lt;br /&gt;My 3G/UMTS link is just an old HUAWEI USB 3G modem with an AAISP Data SIM card in it.&amp;nbsp; This is used as a failover connection, in case both the ADSL lines fail at the same time.&amp;nbsp;&amp;nbsp; The SIM card only costs £2 per month to rent, but the data costs 2.5p per megabyte, so it's only used during failover.&lt;br /&gt;&lt;br /&gt;Each LAN subnet has its own static IP address block, so there is no NAT anywhere in the system.&amp;nbsp; NAT is evil: it tends to break certain applications, and makes debugging unnecessarily difficult.&amp;nbsp; You don't need NAT if you use a proper ISP that doesn't charge for IP addresses.&amp;nbsp;&amp;nbsp; (And no, NAT is not a security feature.&amp;nbsp; For security, you need a firewall that offers ingress and egress filtering, not simply address rewriting.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Routing Principles: Multi-WAN, Multi-LAN, No-NAT...&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;My setup depends on all three Internet connections correctly routing the same static IP address blocks.&amp;nbsp; AAISP has a control panel that lets you specify which IP blocks should be routed down each of your lines.&amp;nbsp; You can specify primary, secondary, tertiary (etc) routing to say what you want to happen when any given link or links fail.&amp;nbsp;&amp;nbsp; This only affects the downstream direction (from AAISP to you).&amp;nbsp; The upstream direction is of course up to you: that's where pfSense's Multi-WAN policies come into play.&amp;nbsp; AAISP will accept packets from any of your links for any of your IP addresses.&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;You can choose whether to spread all your traffic across all of your lines (depending which boxes you tick).&amp;nbsp; If you do that, then AAISP will weight the traffic according to the speed of each line.&amp;nbsp;&amp;nbsp; In my case, I like to reserve one ADSL link for VOIP traffic, and use the other ADSL line for everything else.&amp;nbsp; That way, I normally get perfect VOIP quality, but if one ADSL line fails, then all applications will share the remaining ADSL line.&amp;nbsp; The 3G link is only used if both ADSL links fail.&lt;br /&gt;&lt;br /&gt;In addition to the static IP blocks, each WAN connection has its own static IP address which is where the PPP session terminates.&amp;nbsp; You wouldn't normally do much with these individual static IPs, but you might choose to terminate VPN endpoints on them in pfSense.&lt;br /&gt;&lt;br /&gt;The ADSL lines connect to Draytek Vigor 120 modems, which convert ADSL frames to PPPoE frames (phone line in, ethernet out).&amp;nbsp; This reduces the usable MTU to 1492 bytes.&amp;nbsp; pfSense does TCP MSS clamping by default, so there's no need to adjust MTUs on the computers.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;In theory, using ADSL modems rather than ADSL routers means that the pfSense firewall knows all about the state of each ADSL line (as it's doing all the routing itself).&amp;nbsp; In practice (at least with pfSense 2.0.1) when an ADSL line loses PPP sync, this doesn't seem to trigger the failover policy rules in pfSense, so some ICMP ping targets are necessary to make the failover policy rules fire.&amp;nbsp;&amp;nbsp; I'll come onto this shortly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Settings used in ISP control panel on www.aaisp.net.uk&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;NOTE: If you can't see all of the in-line screen shots, you need to make your window bigger (thanks Blogger)...&lt;br /&gt;&lt;br /&gt;On each ADSL line (click on the telephone number) :-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Tick "Rate: 90%" (reserves space on downlink for short UDP frames i.e. VOIP)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Tick "MTU1492" (does MSS clamping to avoid creating pMTUd blackhole on misconfigured websites)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Tick "FastTimeout" (speed up failover on loss of sync on one ADSL line)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-xmgykRq-bqk/TwG2yzIMMWI/AAAAAAAAAN8/dMQqIaAOtYQ/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://3.bp.blogspot.com/-xmgykRq-bqk/TwG2yzIMMWI/AAAAAAAAAN8/dMQqIaAOtYQ/s640/foo.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;On each IP address block (click the IP address block e.g. 217.x.x.x/27) :-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Tick the lines under "IP Routing", "IP Routing3", and "IP Routing3" to show where to route each IP Block&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-v5XKJdMamlk/TwG3ipezdII/AAAAAAAAAOU/kRKrzEXSAus/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="276" src="http://2.bp.blogspot.com/-v5XKJdMamlk/TwG3ipezdII/AAAAAAAAAOU/kRKrzEXSAus/s640/foo.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Settings used in pfSense firewall/router web GUI&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;NOTE: If you can't see all of the in-line screen shots, you need to make your window bigger (thanks Blogger)...&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;GUI Section: "Interfaces/Assign"&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Set up Ethernet ports and VLANs ...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Pe5ViWp3l1A/TwG4W04kqLI/AAAAAAAAAPE/hbt-PoPWxMM/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Pe5ViWp3l1A/TwG4W04kqLI/AAAAAAAAAPE/hbt-PoPWxMM/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Define the ADSL lines (PPPoE) …&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-qkmPyfym7-o/TwG4zunFtFI/AAAAAAAAAPQ/4swIayPX4VQ/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-qkmPyfym7-o/TwG4zunFtFI/AAAAAAAAAPQ/4swIayPX4VQ/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Define the 3G/UMTS link (PPP) ...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-bt9iUPULxv4/TwG5YtOof7I/AAAAAAAAAPc/-XYtnR5DNSQ/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-bt9iUPULxv4/TwG5YtOof7I/AAAAAAAAAPc/-XYtnR5DNSQ/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;GUI Section: "Interfaces", "Interface Groups"&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Define one group called INTERNET for all internet-facing links.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; This group is then used for setting up firewall rules for all incoming traffic&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-H8RNhI-BH-g/TwG53JZLkxI/AAAAAAAAAPo/mhopwBfcHho/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-H8RNhI-BH-g/TwG53JZLkxI/AAAAAAAAAPo/mhopwBfcHho/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;GUI Section: "System/Routing/Gateways"&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Name each outbound gateway (I just used the underlying Interface name)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-d-lUaN29atU/TwG6NJIYrTI/AAAAAAAAAP0/qxWtr1dDwLA/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-d-lUaN29atU/TwG6NJIYrTI/AAAAAAAAAP0/qxWtr1dDwLA/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Edit each Gateway in turn, and set Monitor IPs and advanced threshold parameters (latency, packet loss, etc) for each gateway.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; DO NOT select any of the gateways as the Default Gateway (see below).&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-G84CJUuUoqc/TwG7RvG6WXI/AAAAAAAAAQA/5qeOyxSVMs0/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-G84CJUuUoqc/TwG7RvG6WXI/AAAAAAAAAQA/5qeOyxSVMs0/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Note that different Monitor IPs are needed for each line.&amp;nbsp; (You might not need Monitor IPs if each gateway has a different IP at the ISP end, but that's ISP-specific.)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; The Latency (etc) parameters will be different for 3G dongles, compared with ADSL lines.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-2Yk4I2nqxTw/TwG7njzHKZI/AAAAAAAAAQM/_7Ii6Ix3Im4/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-2Yk4I2nqxTw/TwG7njzHKZI/AAAAAAAAAQM/_7Ii6Ix3Im4/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;GUI Section: "System/Routing/Gateway Groups"&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Define named gateway groups, for outbound routing purposes.&amp;nbsp; Each named Group defines an order for trying to get outbound packets to the Internet...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KhfeodEEVFE/TwG8AkJ7w-I/AAAAAAAAAQY/yntxZe0Yzxc/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-KhfeodEEVFE/TwG8AkJ7w-I/AAAAAAAAAQY/yntxZe0Yzxc/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Failover only works if the right parameters are set, for example:-&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-mXVAIGdF79A/TwG8V0UVY3I/AAAAAAAAAQk/xwd-oqO0Kr8/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-mXVAIGdF79A/TwG8V0UVY3I/AAAAAAAAAQk/xwd-oqO0Kr8/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;GUI Section: "Firewall rules" (incl 'internet' gateway set)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Set outbound egress firewall rules using named gateway groups in the Gateway column (see below).&amp;nbsp; This ensures that outbound traffic takes correct route(s) so that different kinds of traffic go out through the interfaces you require.&amp;nbsp; This also makes failover work!&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; Remember to set the inbound firewall rules under the INTERNET interface group (we created that earlier).&amp;nbsp; This means you don't need to bother setting inbound firewall rules for each internet-facing interface.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ⁃&amp;nbsp;&amp;nbsp;&amp;nbsp; for example, my main LAN uses "Surfing_GW" (ADSL line 4, failing over to ADSL line 1, failing over to the 3G dongle) except for certain hosts such as digital TV boxes :-&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mBEjjWFv4xo/TwG8tX4mWcI/AAAAAAAAAQw/22ZiKg9LNK8/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-mBEjjWFv4xo/TwG8tX4mWcI/AAAAAAAAAQw/22ZiKg9LNK8/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▪&amp;nbsp;&amp;nbsp;&amp;nbsp; To give another example, here are the egress ACLs (outbound firewall rules) for my VOICE network.&amp;nbsp; Notice how the rules can use alias names for particular internal and external hosts.&amp;nbsp; These aliases map to fixed IP addresses in the pfSense GUI.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-YRzzzDEECsI/TwG9EuOU5NI/AAAAAAAAAQ8/UVHp3N9oSY0/s1600/foo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-YRzzzDEECsI/TwG9EuOU5NI/AAAAAAAAAQ8/UVHp3N9oSY0/s1600/foo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Overall, it all seems to work quite well.&amp;nbsp; Failover isn't totally transparent though.&amp;nbsp; There are a few seconds of disruption during failover.&amp;nbsp; I'm not sure whether the stateful firewall rules allow replies to continue to arrive following a failover event, so things like audio streams may need to be restarted.&lt;br /&gt;&lt;br /&gt;Failover seems to work fairly well but there are still some occasional problems with Gateway Group priorities not being restored after all the gateways come back up. &amp;nbsp; So for example, if my voice traffic fails over to ADSL_L4, it won't necessarily revert to ADSL_L1 after L1 comes back up. &lt;br /&gt;&lt;br /&gt;There is a tick box under "System / Advanced : Miscellaneous", called "Gateway Monitoring States":&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;"By default the monitoring process will flush states for a gateway that goes down. This option overrides that behavior by not clearing states for existing connections."&lt;/blockquote&gt;It may be best NOT to tick this box, otherwise the firewall rules may still try to force traffic down gateways that are down.&lt;br /&gt;&lt;br /&gt;Hopefully there may be some subtle Multi-WAN improvements to come in pfSense 2.1 and later versions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5688345467403092792?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5688345467403092792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2012/01/multi-wan-multi-lan-no-nat-routing-with.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5688345467403092792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5688345467403092792'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2012/01/multi-wan-multi-lan-no-nat-routing-with.html' title='Multi-WAN + Multi-LAN + No-NAT routing with pfSense 2.0.1'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-xmgykRq-bqk/TwG2yzIMMWI/AAAAAAAAAN8/dMQqIaAOtYQ/s72-c/foo.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-7347439961749032007</id><published>2011-12-03T10:32:00.004Z</published><updated>2011-12-04T14:27:06.344Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu usb mouse disable touchpad'/><title type='text'>HOWTO: Disable touchpad when mouse is plugged in</title><content type='html'>My Dell M4400 laptop runs Ubuntu Linux 10.04.&amp;nbsp; When writing reports, I kept making mistakes due to hitting the trackpad during typing.&amp;nbsp; To solve this problem, I'm using &lt;a href="http://ubuntuforums.org/showpost.php?p=7279443&amp;amp;postcount=5" target="_blank"&gt;this script&lt;/a&gt; to disable the touchpad when my favourite mouse is plugged in.&amp;nbsp; When the mouse is unplugged, the script restarts the touchpad.&amp;nbsp; Very nice.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;To use the script, first edit the script to check for the USB ID of your favourite mouse.&amp;nbsp; Then run the script manually in the Terminal to check it works.&amp;nbsp; If all is well, you can start it automatically at login by copying it into &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/local/bin&lt;/span&gt; and adding this command under your &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;System / Preferences / Startup Applications&lt;/span&gt; menu:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/local/bin/mouseSwitcher.sh &amp;gt;/dev/null 2&amp;gt;/dev/null &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For the sake of completeness, here is the script from the Ubuntu forum post linked to above.&amp;nbsp; I've added a comment or two and set my own mouse ID up, and fixed a bug relating to breeding &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;syndaemon&lt;/span&gt; processes that eventually stopped X running.&amp;nbsp; Otherwise it's as the author wrote it.&lt;br /&gt;&lt;br /&gt;BTW, rather annoyingly, syndaemon&amp;nbsp; doesn't actually work on my Dell M4400 with Ubuntu 10.04.&amp;nbsp; It's supposed to disable the trackpad for a second or two whenever you're typing.&amp;nbsp; But I thought I'd leave it in anyway as it will probably work on other hardware.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# Toggle touchpad on and off&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# Tested on Ubuntu 10.04&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# Author: Heath Thompson&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# Email:&amp;nbsp; Heath.Thompson (0at0) gmail.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# NOTE you need to edit line 38 to match your mouse ID!!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# For startup wait for desktop to load first.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;while true&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ps -A | grep gnome-panel &amp;gt; /dev/null; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; echo 'X loaded'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; echo 'X not loaded, waiting...'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; sleep 5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# Check to see if appletouch is running&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# if lsmod | grep appletouch &amp;gt; /dev/null; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# &amp;nbsp;&amp;nbsp;&amp;nbsp; echo " * Appletouch enabled"; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# &amp;nbsp;&amp;nbsp;&amp;nbsp; echo " * Appletouch either not working or not installed"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# &amp;nbsp;&amp;nbsp;&amp;nbsp; killall mouseSwitcher.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;killall syndaemon&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;while true&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 'xinput list' will list all input devices x detects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # I could reference my usb mouse by ID but I'm afraid that if I plug&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # another device in before my mouse, it might not have the same ID each&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # time.&amp;nbsp; So using the device name makes it relatively fail-safe.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if xinput list 'HID 04b3:310b';&amp;nbsp; #EDIT THIS LINE TO MATCH YOUR MOUSE ID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Found my usb wireless mouse&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Disable everything on the Touchpad and turn it off&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; synclient TouchpadOff=1 MaxTapTime=0 ClickFinger1=0 ClickFinger2=0 ClickFinger3=0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Ends all syndaemon capturing which may have been used to monitor the touchpad/keyboard activity&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; killall syndaemon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # My usb wireless mouse isn't present we need the touchpad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Reenable Touchpad and configure pad-clicks&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # RTCornerButton is the Right Top Corner on the touchpad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The value 3 maps it as the right click button&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # RBCornerButton is the Right Bottom Corner on the touchpad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The value 2 maps it as the middle click button&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; synclient TouchpadOff=0 MaxTapTime=150 ClickFinger1=1 ClickFinger2=2 ClickFinger3=3 RTCornerButton=3 RBCornerButton=2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Forces break of touchpad functions while typing if the touchpad is enabled.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Adds a 3 second interval following keyboard use which helps to prevent the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # mouse from jumping while typing &amp;amp; resting hands on restpad or the touchpad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # (Fix: only start syndaemon if we haven't already done so since last change of state.) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ! pgrep syndaemon &amp;gt;/dev/null ; then syndaemon -i 3 -d; fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # wait 2 seconds and poll the mouse state again&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sleep 15&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An alternative approach is to make use of the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;udev&lt;/span&gt; framework to detect the USB mouse being connected.&amp;nbsp; This is documented &lt;a href="http://ubuntuforums.org/showthread.php?t=1530332" target="_blank"&gt;here&lt;/a&gt; and &lt;a href="http://ubuntuforums.org/showpost.php?p=10324609&amp;amp;postcount=16" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-7347439961749032007?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/7347439961749032007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/12/how-to-disable-your-touchpad-when-mouse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/7347439961749032007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/7347439961749032007'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/12/how-to-disable-your-touchpad-when-mouse.html' title='HOWTO: Disable touchpad when mouse is plugged in'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-610240956893556266</id><published>2011-11-28T20:55:00.003Z</published><updated>2011-11-28T21:31:00.739Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mac lion saved versions encryption'/><title type='text'>Mac OS X Lion: Saved Versions considered harmful</title><content type='html'>Lion has a new feature designed to take safety copies of files you are editing.&amp;nbsp;&amp;nbsp; But this isn't a good idea if you edit confidential documents, as it will result in copies of your sensitive documents spreading beyond the folder you put them in.&amp;nbsp; There's no easy way to disable it..&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;The idea is that Lion will keeps a local backup in a special place on your disk.&amp;nbsp; Any application compliant with this new scheme will have a little triangle next to the filename in the window title bar, allowing you to browse different saved versions (using the Time Machine 'Star Wars' GUI).&amp;nbsp;&amp;nbsp; Also you will notice that "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;File/Save&lt;/span&gt;" has become "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;File/Save a version&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Annoyingly, this means that the hidden folder &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/.DocumentRevisions-V100&lt;/span&gt; contains extra copies of every file you've edited with a recent Apple application. &amp;nbsp; See &lt;a href="http://www.reghardware.com/2011/09/07/apple_mac_os_x_lion_the_nanny_os/" target="_blank"&gt;this Reg article&lt;/a&gt; for more details.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;So, how to disable automatic document backups?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Some&amp;nbsp; commentators are wrongly suggesting that opening up a Terminal window, and using the command &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo tmutil disablelocal&lt;/span&gt; will stop new file copies being created in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/.DocumentRevisions-V100. &lt;/span&gt;That is incorrect.&amp;nbsp; The &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tmutil disablelocal &lt;/span&gt;command refers to local backup files that are taken between runs of Time Machine.&amp;nbsp; That's not what I'm seeing on my iMac.&lt;br /&gt;&lt;br /&gt;As a workaround, &lt;span style="background-color: red;"&gt;at your own risk, &lt;/span&gt;you might try opening up a Terminal, and executing the command:-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;cd /&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo rm -rf .DocumentRevisions-V100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That will delete any lingering unwanted backup copies of your documents.&amp;nbsp; But the next time you use a Versions-aware application, the directory structure will be re-created, and the madness will start again.&amp;nbsp; Well done Apple!&amp;nbsp; You've just given corporations another reason not to use your products.&lt;br /&gt;&lt;br /&gt;PS: If you worry about due diligence (whether for commercial reasons, or to keep personal data safe from computer thieves etc) then you should be using Lion's new Full Disk Encryption feature.&amp;nbsp;&amp;nbsp;&amp;nbsp; See &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;System Preferences / Security &amp;amp; Privacy / FileVault&lt;/span&gt;.&amp;nbsp;&amp;nbsp; Set this to encrypt the whole system volume.&amp;nbsp; On the plus side, this means that once your computer is switched off, no-one can access the hard drive without a valid password (not even if they boot from a LiveCD).&amp;nbsp;&amp;nbsp; On the minus side, it means you lose everything if you forget your password.&amp;nbsp;&amp;nbsp; This is the most secure solution: it's much better than just encrypting your home directory.&lt;br /&gt;&lt;br /&gt;PPS: If you use FileVault full disk encryption, you need to think about how your backups are protected.&amp;nbsp;&amp;nbsp; If you use Time Machine to make backups, then you need to tick the box to encrypt them (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;System Preferences / Time Machine / Select Disk / Encrypt backup disk&lt;/span&gt;).&amp;nbsp;&amp;nbsp; If the tick box is greyed out, then you are probably using an external network drive to hold your backups.&amp;nbsp;&amp;nbsp; In this case, I recommend that you use Disk Utility to create a "spare encrypted image" on the external backup drive.&amp;nbsp;&amp;nbsp; Make a point of mounting the encrypted image before you take a Time Machine backup, and dismounting it again afterwards.&lt;br /&gt;&lt;br /&gt;PPPS:&amp;nbsp; Need to lend someone your MacBook to surf the web?&amp;nbsp; If you want to keep your files private, log out, and click the icon to reboot the box into secure mode.&amp;nbsp; They won't be able to save or print anything - but if they just want to surf the web, maybe that's a good thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-610240956893556266?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/610240956893556266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/11/mac-os-x-lion-saved-versions-considered.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/610240956893556266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/610240956893556266'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/11/mac-os-x-lion-saved-versions-considered.html' title='Mac OS X Lion: Saved Versions considered harmful'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-4500700663395141791</id><published>2011-10-15T09:57:00.003+01:00</published><updated>2011-11-04T08:53:03.380Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync contacts address book mac iphone ipad snow leopard os x'/><title type='text'>Gmail Contact Sync: Mac, iPhone, iPad... [UPDATED]</title><content type='html'>How to keep your address book synchronized across an iMac, MacBook, iPhone and iPad...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Easy when you know how - but step 3. had me fluxmoxxed until I spotted it! &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Set Gmail as your Sync source in the Address Book on the Macs.&lt;/li&gt;&lt;li&gt;On iPhone and iPad, select Exchange sync, and ensure contact sync is turned on.&lt;/li&gt;&lt;li&gt;On the Macs, &lt;b&gt;press the task bar icon showing a circle with two arrows&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Now click &lt;b&gt;Sync Now.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;If &lt;b&gt;Sync Now&lt;/b&gt; isn't offered (&lt;b&gt;Sync is Disabled&lt;/b&gt; instead), then open the iSync application and re-enable sync.&amp;nbsp; You may need to disable syncing with a non-existent device: I had an old Nokia phone set to sync over bluetooth, and now that phone has gone, it was simplest to just disable sync for that handset rather than waiting for iSync to time out on it.&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;With iOS 5, you also have the option of using the iCloud to sync all your Apple devices together, instead of using Google.&amp;nbsp;&amp;nbsp; I will try this sometime, as I have found that using Google to sync your contacts has limitations.&amp;nbsp; Specifically, if you create a Contact in the Mac Address Book application, then you are limited in what labels each phone number can have (if it is to sync successfully to the hand-held Apple devices).&lt;br /&gt;&lt;br /&gt;On iOS 5 devices, you can force an early Contacts sync by opening Contacts, then pressing the left arrow if necessary to get to the Groups view.&amp;nbsp; Then press the refresh icon (curly arrow button) in the top left of the screen.&lt;br /&gt;&lt;br /&gt;Using Google for your Contact Sync, a Contact can use fields with the following labels (set in the Mac Address Book application) :-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Home&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Work&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Mobile&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Home fax&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Work fax&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Notes.&lt;br /&gt;&lt;br /&gt;But, &lt;b&gt;don't use these labels &lt;/b&gt;(as they don't sync to your iPhones etc) :-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Main&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - iPhone&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Other&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - "Custom" ones (that you make up in the Address Book program)&lt;br /&gt;&lt;br /&gt;Also, &lt;b&gt;don't use enter more than one number with the same label&lt;/b&gt; (as they don't all sync to the iPhones).&amp;nbsp; So where people have two mobile numbers, the second mobile needs to be entered as 'Home fax' (say). &lt;br /&gt;&lt;br /&gt;Presumably, these limitations arise from the Mac Address Book contact data being adjusted to match Google Contacts when changes are uploaded.&amp;nbsp; But if we use iCloud, then presumably by virtue of being an Apple-only solution, it shouldn't matter what labels you assign to each phone number - as there shouldn't be any cross-vendor field mapping translations going on during the Sync process. &lt;br /&gt;&lt;br /&gt;Can anyone confirm whether iCloud is better than Google Contacts in this regard?&amp;nbsp;&amp;nbsp; That is, if you use iCloud, do all possible field labels sync correctly across all Macs, iPhones, iPads and iPods Touch?&lt;br /&gt;&lt;br /&gt;See also my other post about keeping email folders in sync:&lt;br /&gt;&lt;a href="http://martins-random-notes.blogspot.com/2011/01/gmail-push-instant-notification-of-new.html"&gt;http://martins-random-notes.blogspot.com/2011/01/gmail-push-instant-notification-of-new.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-4500700663395141791?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/4500700663395141791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/03/gmail-contact-sync-mac-iphone-ipad.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4500700663395141791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4500700663395141791'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/03/gmail-contact-sync-mac-iphone-ipad.html' title='Gmail Contact Sync: Mac, iPhone, iPad... [UPDATED]'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-8449147707242750655</id><published>2011-10-07T18:30:00.000+01:00</published><updated>2011-10-15T14:01:40.705+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mac lion vnc ubuntu'/><title type='text'>Accessing an Ubuntu desktop from Mac OS X Lion [UPDATED]</title><content type='html'>I've got this working now, but it's more complicated than it ought to be... &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;My home machine is an Apple iMac running OS X Lion. &amp;nbsp; The screen is very big and clear, so I'd like to use the Mac screen for everything when I'm working from home.&lt;br /&gt;&lt;br /&gt;My company machine is a laptop running Ubuntu 10.04 LTS.&amp;nbsp;&amp;nbsp;&amp;nbsp; I'd like to access the laptop screen remotely from the Mac over my LAN, so that I don't need to use the laptop screen and keyboard when I'm working from home.&lt;br /&gt;&lt;br /&gt;Surely with VNC, this should be easy... Just share the Ubuntu screen with VNC, and connect to it from the Mac. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;On Ubuntu: start the 'built-in VNC server (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;System / Preferences / Remote Desktop&lt;/span&gt;).&lt;/li&gt;&lt;li&gt;On the Mac (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Finder / Connect to Server / vnc://hostname&lt;/span&gt;)&lt;/li&gt;&lt;/ul&gt;Problem 1: The Ubuntu screen appears on the Mac, but updates are not shown.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cause: "xdamage" doesn't work.&amp;nbsp; This is a server-side optimization.&amp;nbsp; Apparently it clashes with something in the NVidia driver.&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Solution: A workaround is to turn Compiz screen effects off on the Linux end:  (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;System / Preferences / Appearance / Visual Effects)&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;Problem 2: It's very slow.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I've tried various VNC servers and clients to no effect.&amp;nbsp; It always seems unacceptably slow (and that's on a quiet wireless LAN between two fast machines).&lt;/li&gt;&lt;li&gt;One solution is to use FreeNX server on the Ubuntu box, and the NX4 Beta Mac client from nomachine.com.&amp;nbsp;&amp;nbsp; That works nice and quickly, but it doesn't re-publish your existing X desktop.&amp;nbsp; Instead, it creates a new desktop instance and serves that.&amp;nbsp; It all seems over-complicated, so I'm going to give up for the time being.&lt;/li&gt;&lt;li&gt;I'm told that Nested-X is probably the way to go - but I'm guessing that would be a pain to configure. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-8449147707242750655?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/8449147707242750655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/08/access-ubuntu-desktop-from-mac-os-x.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8449147707242750655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8449147707242750655'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/08/access-ubuntu-desktop-from-mac-os-x.html' title='Accessing an Ubuntu desktop from Mac OS X Lion [UPDATED]'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-229787116899643835</id><published>2011-07-11T16:32:00.003+01:00</published><updated>2011-10-15T14:06:23.683+01:00</updated><title type='text'>Booting Acronis True Image from a USB stick</title><content type='html'>Today I needed to restore a netbook PC from a backup image taken with Acronis True Image Home 9.0 (which is excellent).  The backup image was stored on an external USB hard drive.  The problem was how to boot the Acronis recovery image, as the netbook has no CD drive.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;UPDATE: If you're using Acronis True Image Home 2011 or later, then it's really easy.&amp;nbsp; You just install Acronis True Image Home on a Windows machine, then use the "rescue media builder" application to write a bootable image directly to the USB stick.&lt;br /&gt;&lt;br /&gt;When I wrote this article, I only had the older product, True Image Home 9.0.&amp;nbsp;&amp;nbsp; For this older version, you can make a bootable USB stick via the following procedure..&lt;br /&gt;&lt;br /&gt;1. Take a USB stick (a.k.a. memory key or flashdrive). Delete everything on it.  Format as FAT32 in Windows XP.&lt;br /&gt;&lt;br /&gt;2. Download the &lt;a href="http://files.extremeoverclocking.com/file.php?f=197"&gt;HP USB Disk Storage Format Tool&lt;/a&gt;.  Run it on Windows XP to reformat the USB stick in the correct way.  Otherwise, step 3 will fail with the error "grubinst: Should be a disk image" (at least under VMWare).&lt;br /&gt;&lt;br /&gt;3. Download Grub4DOS from the links given on &lt;a href="http://www.themudcrab.com/acronis_grub4dos.php"&gt;Using Grub4DOS to Create a Bootable Drive&lt;/a&gt;.  Follow steps 1 and 2, not forgetting to copy the &lt;b&gt;grldr&lt;/b&gt; file to the USB stick's root folder.  &lt;br /&gt;&lt;br /&gt;4. Do a full installation of Acronis True Image Home 9.0 (full version not trial version) into the Windows XP VM.  Run their Media Builder program and have it write direct to the USB stick.  (Don't make an ISO as it won't work.)&lt;br /&gt;&lt;br /&gt;5. Cut and paste the &lt;b&gt;menu.lst&lt;/b&gt; file from &lt;a href="http://www.themudcrab.com/acronis_grub4dos.php#tagPartition"&gt;here&lt;/a&gt;, creating menu.lst (LST not 1st) on the USB stick so that Grub will boot properly.&lt;br /&gt;&lt;br /&gt;6. You're done!  Boot the netbook from the USB stick and the Acronis recovery menu should appear.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-229787116899643835?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/229787116899643835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/07/booting-acronis-true-image-from-usb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/229787116899643835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/229787116899643835'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/07/booting-acronis-true-image-from-usb.html' title='Booting Acronis True Image from a USB stick'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-6635201420539298818</id><published>2011-06-21T08:21:00.003+01:00</published><updated>2011-06-21T09:05:02.813+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='awstats apache ubuntu'/><title type='text'>AWSTATS on Apache with Ubuntu Server 10.04 LTS</title><content type='html'>Got this working today.&amp;nbsp;&amp;nbsp; &lt;a href="http://kastang.com/blog/2010/07/awstats-on-ubuntu-10-04-server/"&gt;Nice guide here&lt;/a&gt; covers most of it.&amp;nbsp; Another good guide is &lt;a href="http://maestric.com/doc/ubuntu/awstats"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;To enable Perl on Apache:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;apt-get install libapache2-mod-perl2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;vi /etc/apache2/sites-enabled/www.example.com &lt;/span&gt;&lt;br /&gt;Add:-&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;Files ~ "\.(pl|cgi)$"&amp;gt;&lt;br /&gt;   SetHandler perl-script&lt;br /&gt;   PerlResponseHandler ModPerl::Registry&lt;br /&gt;   Options +ExecCGI&lt;br /&gt;   PerlSendHeader On&lt;br /&gt;   AuthName "AWStats Authentication"&lt;br /&gt;   AuthType Basic&lt;br /&gt;   AuthUserFile /example/path/to/.htpasswd_www.example.com&lt;br /&gt;   Require valid-user&lt;br /&gt;&amp;lt;/Files&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If you're paranoid about security, it may be better to configure AWSTATS to run in static mode only.&lt;br /&gt;&lt;br /&gt;It may also be sensible to update awstats manually to the latest stable version.&amp;nbsp; I just did this by searching for files on the server and replacing them with the new versions, though this is a bit tedious due to the way that Ubuntu's package installer spreads the distribution files around the filesystem.&amp;nbsp; Finally it's necessary to restart Apache so that mod_perl doesn't run the old code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-6635201420539298818?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/6635201420539298818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/06/awstats-on-apache-with-ubuntu-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6635201420539298818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6635201420539298818'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/06/awstats-on-apache-with-ubuntu-server.html' title='AWSTATS on Apache with Ubuntu Server 10.04 LTS'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-1272398540018956378</id><published>2011-06-16T17:25:00.012+01:00</published><updated>2011-11-08T13:53:10.662Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Static IP SIM cards'/><title type='text'>UK SIM cards with static IP addresses</title><content type='html'>Should you have a need for 3G Data SIMs with "real" fixed public IP addresses (rather than the usual dynamic NATted private IPs), I have found three options...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;1) Orange Fixed IP SIMs&lt;/b&gt; - As far as I can tell, these are only available via ScanCom - &lt;a href="http://www.scancom.co.uk/"&gt;www.scancom.co.uk&lt;/a&gt; - as the Orange call centre doesn't seem to know about them. Cheapest deal is £5 per month inc VAT.&amp;nbsp; Prepaid for 18 months.&amp;nbsp; 500 MB per month.&amp;nbsp; 1.7p per MB for excess usage out of bundle.  The SIMs will work on the Orange 2G &amp;amp; 3G networks.&amp;nbsp; They should also roam freely on T-Mobile, though currently only for 2G.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2) &lt;a href="http://www.aaisp.net.uk/"&gt;Andrews &amp;amp; Arnold&lt;/a&gt; Data SIMs&lt;/b&gt; - These come with a fixed public IP address as standard.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;£ 10 + VAT to buy…&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;£&amp;nbsp;&amp;nbsp; 2 + VAT per month when activated (you can suspend them)…&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;2.5p +VAT per MB.&amp;nbsp; (No free megabytes - you just pay for what you use).&lt;/li&gt;&lt;/ul&gt;The A&amp;amp;A SIMs work on the Three network, but don't offer any 2G fallback when outside the Three service area.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Special feature 1: &lt;/b&gt;At no extra cost, the A&amp;amp;A SIM cards can be configured instantly to have not just one fixed public IP address, but also a fixed public IP address block (e.g. for your LAN).&amp;nbsp; I have tested this successfully using a Linux machine as a router.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Special Feature 2:&lt;/b&gt; The A&amp;amp;A data SIMs can also be configured to use your own IP private addressing scheme using L2TP tunneling to your own Internet endpoint, but to do this you'd need to configure your own LNS router (e.g. using a Linux box with xl2tpd or OpenL2TP).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3)&lt;/b&gt; &lt;b&gt;&lt;a href="http://www.fixedipsims.co.uk/"&gt;Comms365 Limited&lt;/a&gt;&lt;/b&gt; can apparently offer static IP SIMs too.  &lt;i&gt;"We have interconnects with Vodafone and Three and will be adding in Everything Everywhere shortly.  We can provide both Fixed Public and Fixed Private IP Addresses on our SIMs and routed blocks of IPs. A range of tariffs from 2MB to 10GB is available."&lt;/i&gt;&lt;br /&gt;&lt;h1&gt;Are there any decent 3G routers?&lt;/h1&gt;3G Routers tend to be a bit of a pain. &amp;nbsp;Many of them lack embedded 3G radios, so they have to rely on tatty USB dongles, which usually lack external antenna connectors. &amp;nbsp;Also, they tend not to support NAT-Free mode (i.e. they assume you want 192.168.1.x addresses for your LAN). &lt;br /&gt;&lt;br /&gt;After some searching, I discovered an Alix-based router that looks promising for a work project of mine.&amp;nbsp; The Alix  6F2 board can be fitted with a Mini-PCI-Express 3G radio card rather  than using an external USB device.&amp;nbsp; Suppliers in Europe are &lt;a href="http://shop.varia-store.com/product_info.php?info=p1204_UMTS---3G-Zeroshell-ready-system-with-ALIX-6F2-and-accessories.html"&gt;http://shop.varia-store.com/product_info.php?info=p1204_UMTS---3G-Zeroshell-ready-system-with-ALIX-6F2-and-accessories.html&lt;/a&gt; (approx cost 319 Euros).&amp;nbsp; Alternative supplier is&amp;nbsp; &lt;a href="http://www.msdist.co.uk/"&gt;http://www.msdist.co.uk&lt;/a&gt; (cheaper but requires assembly, and your own Mini-PCI-Express UMTS card).&amp;nbsp; Varia's case looks nicer, as the SIM card and CF card are both externally accessible.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE: &lt;/b&gt;The Alix 6F2 boards work very nicely in no-NAT mode with &lt;a href="http://pfsense.org/"&gt;pfSense&lt;/a&gt;&amp;nbsp; 2.0 RC3 with my &lt;b&gt;&lt;a href="http://www.aaisp.net.uk/"&gt;Andrews &amp;amp; Arnold&lt;/a&gt; &lt;/b&gt;data SIM cards.&amp;nbsp; Annoyingly, the SIM card only works in the SIM card slot on the 3G radio card (inside the Vario case) rather than in the motherboard SIM card slot!&amp;nbsp; Presumably there's a magic AT init string command that would tell the 3G radio to read the other SIM card slot, but I don't know what it is.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE 2: &lt;/b&gt;I've belatedly realised that the Novatel EU850D Mini-PCI-Express 3G card, shipped as part of the Varia Store's Alix 6F2 bundle, supports HSDPA but&lt;span style="color: red;"&gt; does not support HSUPA&lt;/span&gt;.&amp;nbsp; This means you get nice fast downloads, but your upload speed is limited to 384 kbps at best.&amp;nbsp; That's a shame since the Three network in the UK offers much faster uploads (up to 2 megabits I think).&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Please post a comment&lt;/b&gt; if you know of:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; any other 3G routers than can work in NAT-Free mode?&lt;/li&gt;&lt;li&gt;any&amp;nbsp;Mini-PCI-Express&amp;nbsp;3G cards that have internal SIM card slots + external antenna connectors + HSUPA support.&lt;/li&gt;&lt;/ul&gt;If you don't need NAT-Free operation, but you need a 3G router with a high-gain antenna, you might want to look at the &lt;a href="http://www.deltenna.com/products/wibe.aspx"&gt;Deltenna WIBE&lt;/a&gt; which Amazon UK is now offering at about £200.  For routine mobile use using WiFi, I would recommend the Huawei Mifi device, e.g. as sold in the UK by Three.&amp;nbsp;&amp;nbsp; Or use an iPhone 4S on a suitable tariff for tethering (e.g. Three's One Plan).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-1272398540018956378?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/1272398540018956378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/06/uk-sim-cards-with-static-ip-addresses.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/1272398540018956378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/1272398540018956378'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/06/uk-sim-cards-with-static-ip-addresses.html' title='UK SIM cards with static IP addresses'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-4449872520780972572</id><published>2011-06-10T16:17:00.004+01:00</published><updated>2011-06-12T14:52:58.755+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google mail gmail spam ham junk filtering false positives'/><title type='text'>How to disable GMail's spam filter</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;GMail's spam filtering is usually excellent, but sometimes it can get over-zealous.&amp;nbsp; The first thing to know &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;is that mail  from people in your GMail Contacts list is never flagged as spam. So  regular correspondents should be added to to your GMail Contacts.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;If you want to turn off GMail spam filtering altogether, here's how...&lt;/span&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;The following steps will set up a filter to ensure that all e-mail goes to your Inbox and never to your Spam folder...&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;Log into GMail.com in your web browser&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;Click &amp;nbsp;'Options' (the cog icon on the top right of the screen)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;Click 'Mail Settings'&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;Click 'Filters'&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;Click 'Create a new filter' (at bottom of list)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;In the 'Doesn't have' field, enter "opsjk fokjaw9ptu4398ru39u9u93flkoifjew" (or any other long, random character string you choose)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;Click 'Next Step'&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;Tick the box "Never send it to Spam"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;Click "Create Filter".&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;I have several secondary GMail accounts that currently forward all mail to my master GMail account. &amp;nbsp; By disabling spam filtering on all except the master GMail account, there is only one Spam folder to check periodically for false positives (mis-labelled "ham").&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;You can also set GMail to forward messages only when filter conditions are met.&amp;nbsp; To do this, first remove any existing forwarding rule.&amp;nbsp; Then create a filter rule (after any Never send to Spam rule) for the messages to be forwarded.&amp;nbsp; For example, to forward all email sent to your domain EXCEPT mail to sales@ and info@, you can create a filter that has the To: field set like this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -{sales@example.com OR info@example.com}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;Then after clicking 'Next Step', you just tick the option to forward matching messages to a specific address.&amp;nbsp; You can also add a similar list of banned words (or word combinations) in the Subject field.&amp;nbsp; Finally, be sure to use the 'Test Search' button to verify which messages from your current Inbox would have been forwarded by that rule.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-4449872520780972572?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/4449872520780972572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/06/how-to-disable-gmails-spam-filter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4449872520780972572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4449872520780972572'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/06/how-to-disable-gmails-spam-filter.html' title='How to disable GMail&apos;s spam filter'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-8562696116347529829</id><published>2011-06-03T16:11:00.002+01:00</published><updated>2011-06-03T16:15:14.872+01:00</updated><title type='text'>More thoughts on Sandboxing for security</title><content type='html'>From a security perspective, perhaps today's desktop operating systems are missing the point. With the increase in carefully-targeted spear-phishing attacks, we need to change our approach if we are to stop our computers being compromised. &amp;nbsp;Firewalls, content-checkers, anti-virus programs, whole-disk encryption: these are all necessary, but they are not enough. &lt;br /&gt;&lt;br /&gt;We must assume the worst and plan accordingly. &amp;nbsp;From time to time, you or a colleague&amp;nbsp;&lt;b&gt;will&lt;/b&gt;&amp;nbsp;receive malware-infected files that &lt;b&gt;will&amp;nbsp;&lt;/b&gt;get&amp;nbsp;past the virus scanner. &amp;nbsp;How can we remain secure?&lt;br /&gt;&lt;br /&gt;Given the security threats from the Internet today, I believe that&lt;b&gt;&amp;nbsp;all web pages, images and documents need to be be opened inside a sandbox container&lt;/b&gt;&amp;nbsp;&lt;b&gt;by default&lt;/b&gt;.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div&gt;&lt;ul style="margin-top: 0px; padding-top: 0px;"&gt;&lt;li&gt;Whenever a file (web page, document, image...) is loaded onto your computer, the operating system must set a trust level for that file. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Unless you raise the trust level of a file, &lt;b&gt;the program that opens it must not be allowed to access your hard drive or your network connection &lt;/b&gt;even if the file came from someone you trust.&lt;/li&gt;&lt;/ul&gt;Issues and observations...&lt;br /&gt;&lt;ul style="margin-top: 0px; padding-top: 0px;"&gt;&lt;li&gt;This all has the potential to get a bit klunky when you have multiple instances of the same application accessing different files at different trust levels. &amp;nbsp;But given some simple API conventions, it ought to be simple enough to make it all work smoothly if the operating system GUI is made sandbox-aware. &amp;nbsp;&lt;/li&gt;&lt;li&gt;Speed-wise, things shouldn't be too bad either, since modern OSes have "copy on write" memory management facilities that enable RAM to be shared when you're running several instances of the same program.&lt;/li&gt;&lt;li&gt;Technically it should be easy enough to store trust level of each file as "extended attributes" in the filesystem, since lots of operating systems support that. &amp;nbsp;If the OS kernel ensures that only privileged programs can change that trust level, then appropriate sandboxing settings can be enforced automatically whenever an application opens a file.&lt;/li&gt;&lt;li&gt;Email programs are problematic. &amp;nbsp;What if &amp;nbsp;a malicious email gains control of your email program? &amp;nbsp;The malware could then read your email and send email as you - so an attacker might exploit that to reset the passwords of your e-commerce accounts. &amp;nbsp;I'm not sure how we can prevent that.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;My prediction for 2011 and 2012 is that sandboxing will become more common. &amp;nbsp;I've already written about some &lt;a href="http://blog.martinshouse.com/2011/05/easy-sandboxing-for-windows-apps.html"&gt;Windows and Mac sandboxing approaches&lt;/a&gt;. &amp;nbsp; &amp;nbsp;It seems that Ubuntu Linux 11.04 and later versions now include an "easy" application sandboxing tool called Arkrose, which is built on top of the LX &amp;nbsp;Linux Containers framework - "chroot on steroids". &amp;nbsp; Here are some links...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://launchpad.net/arkose"&gt;Arkose - Desktop Application Sandboxing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://lxc.sourceforge.net/"&gt;lxc Linux Containers container namespace cgroup virtualisation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://manpages.ubuntu.com/manpages/natty/man1/arkose-helper.1.html"&gt;arkose-helper -- Ubuntu man page&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.stgraber.org/category/arkose/"&gt;Stephane Graber's blog: -- Arkrose&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.stgraber.org/2011/05/04/state-of-lxc-in-ubuntu-natty"&gt;Stephane Graber's blog: State of LXC in Ubuntu&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-8562696116347529829?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/8562696116347529829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/06/more-thoughts-on-sandboxing-for.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8562696116347529829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8562696116347529829'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/06/more-thoughts-on-sandboxing-for.html' title='More thoughts on Sandboxing for security'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5740736539521818492</id><published>2011-06-01T14:52:00.003+01:00</published><updated>2011-06-01T15:32:48.312+01:00</updated><title type='text'>Accessing a VM image from a QEMU host</title><content type='html'>Just a quick note of the commands needed to mount a VM disk image from the QEMU host server...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;The following commands may be useful if you need to copy some files (SSH keys perhaps) to or from a VM disk image. &amp;nbsp; This assumes the QEMU VM environment, which is the one that's built in to Ubuntu Server 10.04 Linux. &amp;nbsp;You need to be root, of course.&lt;br /&gt;&lt;br /&gt;It will only work safely for VM's that aren't running at the time! &lt;br /&gt;&lt;blockquote&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;-- Shut down our VM guest...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;# virsh shutdown vm2&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Domain vm2 is being shutdown&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;-- Load the required kernel module...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;# lsmod | grep nbd&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;# modprobe nbd max-part=63&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;# lsmod | grep nbd&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;nbd &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9903 &amp;nbsp;0&amp;nbsp;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;-- Export the VM image file on /dev/nbd0, then mount that to a temp folder&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;# qemu-nbd -c /dev/nbd0 vm2.img&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;# ls -l /dev/nbd0*&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;brw-rw---- 1 root disk 43, 0 2011-06-01 15:42 /dev/nbd0&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;brw-rw---- 1 root disk 43, 1 2011-06-01 15:42 /dev/nbd0p1&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;brw-rw---- 1 root disk 43, 2 2011-06-01 15:42 /dev/nbd0p2&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;brw-rw---- 1 root disk 43, 5 2011-06-01 15:42 /dev/nbd0p5&lt;/div&gt;&lt;div&gt;#&amp;nbsp;mount /dev/nbd0p1 /mnt/vm2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- You can now access the VM disk folders under /mnt/vm2...&lt;/div&gt;&lt;div&gt;... do your stuff ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- To clean up...&lt;/div&gt;&lt;div&gt;# umount /mnt/vm2&lt;/div&gt;&lt;div&gt;&lt;div&gt;# qemu-nbd -d /dev/nbd0&lt;/div&gt;&lt;div&gt;/dev/nbd0 disconnected&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;# rmmod nbd&lt;/div&gt;&lt;div&gt;#&amp;nbsp;virsh start vm2&lt;/div&gt;&lt;div&gt;Domain vm2 started&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;I believe there's a command to take a snapshot of a running VM, but I haven't tested that myself. &amp;nbsp;"virsh snapshot-create VMname" apparently needs libvirt &amp;gt;= 0.8.1, but Ubuntu Server 10.04 LTS currently only runs libvirt 0.7.5. &amp;nbsp; &amp;nbsp;I guess the LTS releases of Ubuntu Server must be a bit conservative, as they have five years of support, all free of charge.&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5740736539521818492?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5740736539521818492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/06/accessing-vm-disk-image-from-qemu-host.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5740736539521818492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5740736539521818492'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/06/accessing-vm-disk-image-from-qemu-host.html' title='Accessing a VM image from a QEMU host'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-776160102063023273</id><published>2011-05-31T18:22:00.001+01:00</published><updated>2011-05-31T18:37:58.920+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VMware promiscuous vmnet0'/><title type='text'>VMware on Linux: Promiscuous Mode</title><content type='html'>When VMware Workstation is hosted under Linux, by default it doesn't allow guest VMs to access the network in Promiscuous mode. &amp;nbsp;There's an easy fix for this...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;If you run something like Wireshark from a VM guest, you'll see VMware display an error message. &amp;nbsp;The problem is that when VMware is started without &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;root&lt;/span&gt; privileges, it doesn't have the permissions necessary to access the &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/dev/vmnet0&lt;/span&gt; device.&lt;br /&gt;&lt;br /&gt;A quick temporary bodge is to use &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chgrp&lt;/span&gt; and &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chmod&lt;/span&gt; to tweak the permissions on &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/dev/vmnet*&lt;/span&gt; until the next reboot (where &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;yourgroup&lt;/span&gt; is a group that your user account is in):&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;chgrp yourgroup /dev/vmnet*&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;chmod g+rw /dev/vmnet*&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;A more permanent fix is to edit &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/init.d/vmware&lt;/span&gt; and tweak the ownership and permissions when the device is created, by adding the lines in &lt;span class="Apple-style-span" style="color: red;"&gt;red&lt;/span&gt;:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; # Start the virtual ethernet kernel service&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;vmwareStartVmnet() {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; vmwareLoadModule $vnet&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; "$BINDIR"/vmware-networks --start &amp;gt;&amp;gt; $VNETLIB_LOG 2&amp;gt;&amp;amp;1&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp; &amp;nbsp; chgrp yourgroup &amp;nbsp;/dev/vmnet*&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; chmod g+rw /dev/vmnet*&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;After you reboot (or stop and restart the VMware daemon) you'll be able to use Wireshark or whatever in your VM guest OS. &amp;nbsp; &amp;nbsp; &lt;b&gt;Just&amp;nbsp;Remember! &amp;nbsp; &lt;/b&gt;Your VM guest's Network Adapter must be set to &lt;u&gt;BRIDGED&lt;/u&gt; (connected directly to the physical network),&lt;b&gt; not &lt;/b&gt;NAT (used to share the host's IP address).&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;Aside&lt;/i&gt;&lt;/b&gt;: I did think it ought be possible to achieve the same effect a little more cleanly, by creating a file in &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/udev/rules.d&lt;/span&gt; to set the desired ownership and permission modes for &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/dev/vmnet*&lt;/span&gt;. &amp;nbsp;But nothing I've tried has worked. &amp;nbsp;Anyone?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-776160102063023273?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/776160102063023273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/05/vmware-on-linux-promiscuous-mode.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/776160102063023273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/776160102063023273'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/05/vmware-on-linux-promiscuous-mode.html' title='VMware on Linux: Promiscuous Mode'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-8307034378050573225</id><published>2011-05-31T08:33:00.002+01:00</published><updated>2011-05-31T08:35:21.814+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu 10.04 pending updates'/><title type='text'>Fixed: Ubuntu Server shows outdated update info</title><content type='html'>Just updated some Ubuntu 10.04.2 servers using 'apt-get update; apt-get dist-upgrade', then rebooted to find stale information displayed in the login banner, still showing lots of updates pending.&amp;nbsp; There's a simple fix for this...&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; rm /etc/motd.tail&lt;/div&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; /usr/lib/update-notifier/update-motd-updates-available --force&lt;/span&gt;&lt;br /&gt;The system would catch up eventually anyway.&amp;nbsp; These commands just speed it up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-8307034378050573225?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/8307034378050573225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/05/fix-for-ubuntu-server-10042-showing-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8307034378050573225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8307034378050573225'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/05/fix-for-ubuntu-server-10042-showing-out.html' title='Fixed: Ubuntu Server shows outdated update info'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-3811687497273487118</id><published>2011-05-26T19:34:00.004+01:00</published><updated>2011-05-26T19:35:48.022+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sandboxie sandboxing windows mac security'/><title type='text'>Easy sandboxing for Windows apps</title><content type='html'>&lt;a href="http://www.sandboxie.com/"&gt;Sandboxie&lt;/a&gt; looks very interesting....&amp;nbsp; Yet to try it, but have heard good things about it.&amp;nbsp; Without the cost of firing up different VMs, it is able to launch programs inside wrappers, to isolate different programs from each other (or to isolate different web pages from each other) - and to protect your Windows machine from the sandboxed program.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Remembering that web browsers and email attachments are the top ways to  get your computer infected, it's better if those programs don't have  access to most of your Windows machine in the first place.&amp;nbsp;&amp;nbsp; And if you  have a few Sandboxie instances, you can not only limit the exposure of  the windows filesystem to any website, but you can also make cross-site  attacks less likely.&lt;br /&gt;&lt;br /&gt;If a sandbox were correctly set up :-&lt;br /&gt;&lt;ul&gt;&lt;li&gt; a malicious email that exploits a mail client weakness could only tamper with messages and settings on the email client;&lt;/li&gt;&lt;li&gt;an infected web page could only  tamper with saved details and settings in the web browser.&lt;/li&gt;&lt;/ul&gt;Ideally you would run Outlook in one sandbox, and Internet Explorer in  several others...e.g. Home Banking and frequently-used, high-reputation  home shopping sites could have one or several sandboxes, and general web  surfing could have another.&amp;nbsp; Facebook probably deserves its own sandbox too, in case some people's pages contain malicious HTML.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;You would definitely want PDF viewers and Flash viewers to run  inside one of the less trusted sandboxes.&amp;nbsp; So you'd have a temp folder  like C:\mail_attachments to save incoming PDF's to.&amp;nbsp; Then you'd manually  launch a sandboxed PDF viewer in that folder. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What about sandboxing on the Mac?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We could really do with something similar on the Mac.&amp;nbsp; A quick web  search suggests that a command-line sandbox facility was introduced in  Leopard 10.5.&amp;nbsp; So the underlying OS hooks are all there.&amp;nbsp; But so far we seem to be lacking a nice GUI-based program to make it easy for end-users to create and control sandbox instances and policy rulesets - something which definitely sounds non-trivial.&lt;br /&gt;&lt;br /&gt;If you know of a Sandboxie equivalent for the Mac, please leave a comment.&amp;nbsp; (Yes I know you could use VMware, but that would be slow and tedious.)&lt;br /&gt;&lt;br /&gt;If you are a security professional, you can stop reading now.&lt;br /&gt;&lt;br /&gt;If you are a zealous Apple fan, please read on before posting irate comments!&lt;br /&gt;&lt;br /&gt;Sadly, some Apple fans like to think that the Mac platform wears some kind of halo that makes security problems impossible.&amp;nbsp; But before you post comments saying that Mac apps don't need sandboxing, please just think for one second.&amp;nbsp; Yes, Mac apps don't run as root by default, but so what?&amp;nbsp; Unless you run each program (or surf to each website) under a different Mac username, then a compromise in any one program means that all your user data is exposed.&amp;nbsp; Possibly the whole keychain too (I seem to recall that once it's unlocked, it's unlocked - but I try not to use it anyway, as it's always struck me as a potential single point of security failure and a high-value target).&lt;br /&gt;&lt;br /&gt;Now, I strongly prefer the Mac to all other current OS platforms, but as a security professional by trade, I'm not naive enough to believe that the Mac is in any way resistant (let alone immune) to security issues.&amp;nbsp;&amp;nbsp; A client exploit is just a client exploit: it doesn't matter what OS it's running on, as once you're app has been owned, it's generally game over for the home directory and everything in it.&amp;nbsp; A privilege escalation up to root isn't necessary for you to lose all the personal data you care about, and/or to have a subtle back door inserted.&amp;nbsp; The only issue is whether the attacker's code runs as root, or runs as you.&amp;nbsp; Attack code running as you is quite bad enough, because it's your personal data that the bad guys are after.&lt;br /&gt;&lt;br /&gt;We're way beyond the early days of crude computer viruses that spread like wildfire in a highly obvious way.&amp;nbsp;&amp;nbsp; The IT security threats to worry about today are the back doors that just sit there quietly in the background hoovering up your banking credentials or whatever.&lt;br /&gt;&lt;br /&gt;At the risk of stating the bleeding obvious, the main reason that Harry Homeowner gets infected more often when using Windows is that, until recently, there were too few Mac users to represent a decent return on investment for attackers.&amp;nbsp; With Macs becoming more popular, that honeymoon period won't last forever.&amp;nbsp; Sure, Mac OS X has fewer open TCP ports by default than Windows does.&amp;nbsp; But the main threat is from buggy web browsers, buggy email clients and buggy attachment viewers, so open TCP ports aren't relevant in many cases.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-3811687497273487118?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/3811687497273487118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/05/easy-sandboxing-for-windows-apps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/3811687497273487118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/3811687497273487118'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/05/easy-sandboxing-for-windows-apps.html' title='Easy sandboxing for Windows apps'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-4109915683857387556</id><published>2011-05-26T12:51:00.010+01:00</published><updated>2011-08-10T10:36:20.332+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stopping ubuntu services 10.04'/><title type='text'>Disabling/enabling services in Ubuntu (UPDATED)</title><content type='html'>Recent versions of Ubuntu have changed the way that system services start up.&amp;nbsp; Presumably this reflects a policy change in Linux systems.&lt;br /&gt;There are now &lt;b&gt;THREE&lt;/b&gt; different ways for Linux services to start automatically at boot...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;New way: &lt;/b&gt;&lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init/example.conf&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;   If you find such a file, open it up in an editor and examine its startup conditions (beginning with "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;start on&lt;/span&gt;").&amp;nbsp;&lt;/li&gt;&lt;li&gt;To prevent the service from starting, edit the startup conditions to begin with "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;start on (NEVER and ...&lt;/span&gt;"&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Legacy way: &lt;/b&gt;&lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/example&lt;/b&gt; and &lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/rc5.d/S20example&lt;/b&gt;.&lt;br /&gt;To start a service using this traditional technique...&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Place a shell script in &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/example&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Create a symbolic link to &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/example &lt;/span&gt;for each run level you want the service to auto-start in. For example:&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; ln -s /etc/init.d/example /etc/rc5.d/S20example &lt;/span&gt;would start the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;example&lt;/span&gt; service in Run Level 5.&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Symbolic links named something like &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/rcN.d/K20example&lt;/span&gt; provide a way to stop a service cleanly when the machine changes run level (e.g. shuts down).&lt;/li&gt;&lt;li&gt;You may recall that run level 2 is single-user text-mode; 3 is multi-user text mode; 5 is multi-user GUI mode.&lt;/li&gt;&lt;li&gt;The numbers after 'S' or 'K' provide a crude way of tweaking service start-up order, so that for example you can make sure that a database service starts up before an SQL-based application server.&lt;/li&gt;&lt;li&gt;&lt;b&gt;To stop a service starting in this way,&lt;/b&gt; you can just delete the symlinks i.e. &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;rm /etc/rc*.d/S*example&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Bastardized legacy way: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/example &lt;/span&gt;by itself.&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Some services still use &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/example&lt;/span&gt; but rather than relying on symlinks such as &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/rc*.d/S*example&lt;/span&gt;, they use a new syntax for startup conditions, placed in comments near the top of &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/example&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;For example, the Mathopd web server is controlled solely from&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/mathopd&lt;/span&gt;, which contains the text: &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;### BEGIN INIT INFO&lt;br /&gt;# Provides:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mathopd&lt;br /&gt;# Required-Start:&amp;nbsp;&amp;nbsp;&amp;nbsp; $local_fs $remote_fs $network $syslog&lt;br /&gt;# Required-Stop:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $local_fs $remote_fs $network $syslog &lt;br /&gt;# Default-Start:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 3 4 5&lt;br /&gt;# Default-Stop:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 1 6&lt;br /&gt;# Short-Description: Mathopd web server&lt;br /&gt;### END INIT INFO&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;Just delete all of the lines (from &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;BEGIN INIT INFO&lt;/span&gt; to &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;END INIT INFO&lt;/span&gt;) and replace them with a single line containing the word&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; exit&lt;/span&gt; and it will not restart after you reboot the box. &lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ol&gt;After rebooting, run "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;netstat -tan | grep LISTEN&lt;/span&gt;" to make sure you know what's bound to your external network interfaces (i.e. anything other than 127.0.0.1 for IPv4, or ::1 for IPv6). &lt;br /&gt;&lt;br /&gt;If you see an IPv6 service listed like this: &lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tcp6&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0 :::51413&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :::*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&amp;nbsp;&lt;/div&gt;it simply means that the service is listening on all IPv6 interfaces, on port 51413.&amp;nbsp; It's the IPv6 equivalent of showing 0.0.0.0:51413.  &lt;br /&gt;&lt;br /&gt;Further reading at &lt;a href="http://overtag.dk/wordpress/2011/02/headaches-over-disablingenabling-services-init-d-scripts-in-ubuntu-10-10/"&gt;http://overtag.dk/wordpress/2011/02/headaches-over-disablingenabling-services-init-d-scripts-in-ubuntu-10-10/&lt;/a&gt; .&amp;nbsp;&amp;nbsp; See also&amp;nbsp;&lt;a href="http://ubuntuforums.org/showthread.php?t=1519273"&gt;http://ubuntuforums.org/showthread.php?t=1519273&lt;/a&gt; .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-4109915683857387556?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/4109915683857387556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/05/headaches-over-disablingenabling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4109915683857387556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4109915683857387556'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/05/headaches-over-disablingenabling.html' title='Disabling/enabling services in Ubuntu (UPDATED)'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-4666433551803951514</id><published>2011-04-03T08:43:00.003+01:00</published><updated>2011-04-03T08:50:06.873+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='come cycling ledbury'/><title type='text'>New Cycling website launch</title><content type='html'>&lt;a href="http://www.comecyclingledbury.com/"&gt;http://www.ComeCyclingLedbury.com&lt;/a&gt; - finally got it finished.&amp;nbsp; :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-4666433551803951514?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/4666433551803951514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/04/new-cycling-website-launch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4666433551803951514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4666433551803951514'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/04/new-cycling-website-launch.html' title='New Cycling website launch'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-4049788322388746370</id><published>2011-02-17T11:12:00.004Z</published><updated>2011-06-13T13:41:02.941+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security pentest'/><title type='text'>Security Websites</title><content type='html'>Herewith, just some bookmarks to websites covering network security topics.&amp;nbsp; &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Standard caveats apply...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;These resources are intended for use by pentesters (IT security consultants) as part of an authorized security test.&amp;nbsp;&amp;nbsp; Pentesters get called in when a company wants an independent check on the security of its internet &amp;amp; intranet infrastructure, web applications, or whatever.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Never probe or attack any machine without the consent of the owner and any interested third parties.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Never run an exploit you found on the Internet unless you have read the  code,  understood it, and (where appropriate) changed the payload to  something  you trust.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Home users: &lt;/b&gt;Please don't panic if your IP address is probed from the Internet.&amp;nbsp; The scanning box was probably compromised without its owner's knowledge, so responding in kind is pointless as well as illegal. Sustained or intense attacks should be reported to the Abuse contact for the domain, or for the IP, or for the IP block (but not all three).&amp;nbsp; The system owner probably doesn't realise his box has been owned. &amp;nbsp; But don't bother reporting brief probes: it happens all the time.&amp;nbsp; 90% of abuse reports are bogus anyway, so don't bother the Abuse contacts with trivia. &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Where to Start&lt;/b&gt; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://sectools.org/"&gt;http://sectools.org/&lt;/a&gt;&amp;nbsp; -&amp;nbsp; the top security tools by category&lt;/li&gt;&lt;li&gt;&lt;a href="http://seclists.org/"&gt;http://seclists.org/&lt;/a&gt;&amp;nbsp;&amp;nbsp; -&amp;nbsp; security mailing lists archive&lt;/li&gt;&lt;li&gt;&lt;a href="http://metasploit.com/"&gt;http://metasploit.com&lt;/a&gt; - awesome exploitation framework&lt;/li&gt;&lt;li&gt;&lt;a href="http://fastandeasyhacking.com/"&gt;http://fastandeasyhacking.com&lt;/a&gt; - Armitage (GUI front end for Metasploit)&lt;/li&gt;&lt;li&gt;&lt;a href="http://securitytube.net/"&gt;http://securitytube.net&lt;/a&gt;&amp;nbsp; - YouTube for pentesters&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://foofus.net/"&gt;http://foofus.net&lt;/a&gt;&amp;nbsp;&amp;nbsp; - all about password hashes&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Vulnerability Announcements &amp;amp; Discussions&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.securityfocus.com/"&gt;&lt;span id="goog_1104927160"&gt;&lt;/span&gt;http://www.securityfocus.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://secunia.com/"&gt;&lt;span id="goog_1104927161"&gt;&lt;/span&gt;http://secunia.com/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Exploit Archives&lt;/b&gt; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://securityreason.com/"&gt;http://securityreason.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://exploit-db.com/"&gt;http://exploit-db.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://packetstormsecurity.org/"&gt;http://packetstormsecurity.org/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-4049788322388746370?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/4049788322388746370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/02/security-websites.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4049788322388746370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4049788322388746370'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/02/security-websites.html' title='Security Websites'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-8194641853813755856</id><published>2011-01-26T15:06:00.002Z</published><updated>2011-01-26T15:07:57.500Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dell Inspiron 15 1545 Windows XP 7'/><title type='text'>Installing Windows on Dell Inspiron 1545</title><content type='html'>If you're trying to install a clean copy of Windows XP or Windows 7 on a Dell Inspiron 1545 laptop, these notes might help...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You must update to Dell's latest BIOS before you start, otherwise the XP installer will fail with a blue screen. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Dell's BIOS updater only runs under Windows, so use the preinstalled Windows to update the BIOS before you do anything else. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;If installing Windows XP, you need to build a "slipstreamed" installation CD that incorporates Service Pack 3.&amp;nbsp; (Google for the instructions on this.)&amp;nbsp; Otherwise, again, the XP installer will fail with a blue screen.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;You can also install a full retail RTM Windows 7 Home Premium (64-bit) DVD.&amp;nbsp; Of course that will need a unique license key (just like XP).&amp;nbsp; &amp;nbsp; There may be a cheap way of buying legal license keys if you already own a genuine Windows 7 installation disk: see &lt;a href="http://www.windows7key.co.uk/"&gt;http://www.windows7key.co.uk&lt;/a&gt; - but I can't vouch for that website, and it sounds a bit too good to be true.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Out of curiousity, I also tried installing from a Dell OEM disk of Windows 7, but this was unsuccessful: halfway through, it complained that it couldn't see the DVD drive.&amp;nbsp; I wish I'd taken advantage of Dell's free Vista-to-Windows-7 upgrade offer before it expired!&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-8194641853813755856?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/8194641853813755856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/01/installing-windows-from-scratch-on-dell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8194641853813755856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8194641853813755856'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/01/installing-windows-from-scratch-on-dell.html' title='Installing Windows on Dell Inspiron 1545'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-1312386310467060851</id><published>2011-01-18T08:45:00.004Z</published><updated>2011-06-16T21:04:11.134+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gmail imap push email mac iphone ipad linux thunderbird apple'/><title type='text'>Gmail Push: instant notification of new email</title><content type='html'>Just a quick note about setting up 'push' email delivery on Gmail accounts.&amp;nbsp; This feature gives you instant notification of incoming emails, without the need to poll frequently via POP or IMAP.&amp;nbsp; There are two different ways to set it up, depending on the mail client you use...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;I can confirm Gmail Push mail notification as working on Mozilla Thunderbird (Mac and Linux), Apple Mail (Mac), Apple Mail (iPad), and Apple Mail (iPhone).&amp;nbsp; The Mozilla Thunderbird approach should also work on Windows.&amp;nbsp; I don't know about Microsoft's own mail clients, as I've learnt to avoid them over many years.&lt;br /&gt;&lt;br /&gt;The first thing to say is that it's time to stop using POP3 to retrieve email on any of your computers.&amp;nbsp; The problem with POP3 is that it doesn't work well when you have more than one computer accessing the same mail account: once you've retrieved a piece of mail, it's deleted from the server (unless you tweak the settings - but that makes for slow downloads).&amp;nbsp;&amp;nbsp; The mail retrieval protocol of choice for most people is IMAP.&amp;nbsp; If you switch from POP3 to IMAP, then your mail stays on the server, and each time you connect with your mail program, it just downloads any stuff it hasn't already got.&amp;nbsp;&amp;nbsp;&amp;nbsp; A good IMAP client will also copy send mail into an IMAP Sent Items folder, so that whichever computer you use, you get a consistent view of mail sent and received.&amp;nbsp; The free Google Mail service implements IMAP particularly well; offers plenty of storage space (7 GB per user if I recall correctly); has excellent spam filtering; and is highly recommended.&amp;nbsp;&amp;nbsp; So - to begin with - if you're going down the Push Email route, I'd recommend switching to Gmail with IMAP to begin with, if you haven't already done so.&amp;nbsp;&amp;nbsp; Of course, once you have a Gmail account, you can use it with any ISP.&lt;br /&gt;&lt;br /&gt;So - how can Push email be configured to give you instant email notifications with Gmail?&amp;nbsp;&amp;nbsp; The following variations are working here (January 2011):-&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Mozilla Thunderbird&lt;/b&gt; v3.1.7 for Mac (also working on Ubuntu Linux): for Thunderbird I think it's best to access Gmail using IMAP.&amp;nbsp; The key setting for instant email notification is "Tools", "Account Settings", (mailbox name), "Server Settings", "Advanced", "&lt;i&gt;&lt;b&gt;Use IDLE command if the server supports it&lt;/b&gt;&lt;/i&gt;".&lt;/li&gt;&lt;li&gt;&lt;b&gt;Apple Mail (&lt;/b&gt;v4.4 on MacOS 10.6.5): again, this works well with IMAP.&amp;nbsp; Unde "Mail", "Preferences", (account name), just enable POP, and tick the box "&lt;i&gt;&lt;b&gt;Use IDLE command if the server supports it&lt;/b&gt;&lt;/i&gt;". &lt;/li&gt;&lt;li&gt;&lt;b&gt;Apple iPhone / iPad Mail &lt;/b&gt;iOS v4.2.1: this platform can access Gmail really efficiently using the Microsoft Exchange protocol (it seems efficient in use of bandwidth, and it allows easy syncing on Contacts and Calendars too).&amp;nbsp; It's configured by going into Settings, "Mail, Contacts, Calendars", "Add Account", then picking "Microsoft Exchange". &amp;nbsp; Follow the help on Gmail's help pages for the correct settings.&amp;nbsp; &lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;NOTE 1: &lt;/b&gt;whilst in general, most Google Mail users can use "gmail.com" instead of "googlemail.com", for some reason my girlfriend's account could only be configured successfully on the iPad when the username@googlemail.com format was used for the username of the Microsoft Exchange account.&lt;/li&gt;&lt;li&gt;&lt;b&gt;NOTE 2:&lt;/b&gt; on the iPhone and iPad, whilst you're setting up email sync via Microsoft Exchange, you can also enable sync of Contacts and Calendars to Google.&amp;nbsp; This is very handy, as it provides much of the "everything everywhere" type functionality of Apple's MobileMe service without having to pay a subscription fee.&amp;nbsp; If you also use Apple's Calendar and Contacts programs on the Mac, you just need to take care to set them to use Google's servers, instead of just storing your data locally.&lt;/li&gt;&lt;li&gt;&lt;b&gt;NOTE 3:&lt;/b&gt; in iTunes, make sure your local email store (laptop or desktop) isn't set to sync with your iPhone or iPad.&amp;nbsp; You don't need local email sync in iTunes if you're syncing your email directly with Google's servers.&amp;nbsp;&amp;nbsp; The same goes for Contacts and Calendars: you don't need to sync those in iTunes if you're syncing directly to Google's servers.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;Google's help pages offer lots of detailed instructions on setting things up.&amp;nbsp; Not everything is obvious.&amp;nbsp; For example, it's worth understanding the difference between archiving an email [recommended] and deleting it [not recommended].&lt;br /&gt;&lt;br /&gt;It's quite impressive if I send myself a test email.&amp;nbsp; Within seconds, my iMac, MacBook, iPad and iPhone will all "ding" to indicate that a new email has arrived.&amp;nbsp; This is especially impressive on the iPad and iPhone, as these work even when they are sleeping, and are using cellular data connections rather than WiFi.&lt;br /&gt;&lt;br /&gt;By the way, I reckon Mozilla Thunderbird and Apple Mail work equally well on the Mac.&amp;nbsp; If you need to use PGP to email commercial documents around, then Thunderbird has the edge, as it supports PGP directly via the free GPG Enigmail plug-in.&amp;nbsp; For PGP support in Apple Mail, you'd need to buy PGP Desktop for Mac - but as I've mentioned elsewhere in this blog, PGP Desktop for Mac doesn't integrate tightly with the Apple Mail client (it uses a localhost proxy server instead) so it's not as straightforward or reliable as the Thunderbird/Enigmail combination.&lt;br /&gt;&lt;br /&gt;PS: For iPhone, see &lt;a href="http://www.google.com/mobile/sync/"&gt;http://www.google.com/mobile/sync/&lt;/a&gt; for more info.&lt;br /&gt;&lt;br /&gt;Hope this is useful!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-1312386310467060851?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/1312386310467060851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2011/01/gmail-push-instant-notification-of-new.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/1312386310467060851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/1312386310467060851'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2011/01/gmail-push-instant-notification-of-new.html' title='Gmail Push: instant notification of new email'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-555212660034645120</id><published>2010-12-19T16:06:00.005Z</published><updated>2011-05-23T14:57:17.271+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cisco IOS ADSL Dual-WAN VOIP QoS'/><title type='text'>VOIP QoS on Dual-WAN ADSL Cisco 1841</title><content type='html'>Just now I'm messing about with a Cisco 1841 router with two ADSL cards in it (as outlined in an earlier post to this blog). I'll write in more detail about the IOS settings later, but meanwhile I'd appreciate some pointers if anyone has a suitable IOS config to share...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;My ISP's control panel makes it easy for me adjust routing and QoS on the downlink, so I'd like to optimize the uplink using IOS commands, so that the VOIP egress traffic goes out through one pipe, and all other egress traffic uses the other, but with failover so that all traffic can egress through a single pipe if either ADSL line should drop. &amp;nbsp;So far everything works except the failover bit.&amp;nbsp; So my VOIP uplink quality isn't compromised when rapid bursts of upload traffic occur, and since it all goes up one pipe, there are no issues with out-of-order packet delivery due to asymmetrical routing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;The key part of the setup is currently as follows:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: black;"&gt;access-list 110 permit ip&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;host x.x.x.x any&lt;br /&gt;access-list 110 permit icmp host x.x.x.x any&lt;br /&gt;&lt;br /&gt;route-map voip permit 10&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; match ip address 110&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set interface dialer0&lt;br /&gt;&lt;br /&gt;route-map voip permit 20&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set interface dialer1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;interface fa0/0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip policy route-map voip&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;b&gt;HINT: &lt;/b&gt;this initially had the side-effect of blocking some or all inbound TCP connections, even if the ingress ACL was removed. &lt;br /&gt;&lt;b&gt;SOLUTION&lt;/b&gt;: Try rebooting the router. Or turn CEF and fast switching off and on again on all the interfaces:&lt;br /&gt;&lt;blockquote&gt;no IP cef&lt;br /&gt;interface fa0/0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; no ip route-cache&lt;br /&gt;interface dialer0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; no ip route-cache&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;interface dialer1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; no ip route-cache&lt;/blockquote&gt;&lt;blockquote&gt;^Z&lt;br /&gt;write&lt;/blockquote&gt;&lt;blockquote&gt;ip cef&lt;br /&gt;interface fa0/0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; no ip route-cache&lt;br /&gt;interface dialer0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; no ip route-cache&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;interface dialer1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; no ip route-cache&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;Cutting back to the chase.&amp;nbsp; The failover part can't simply be done with weighted "ip route" static routes, as the only thing that's predictable about the VOIP system is my source IP address: the destination IP ranges are unpredictable.&lt;br /&gt;&lt;br /&gt;Current suggestion I've had is to use the IP SLA facility in IOS, probably combined with two VRFs. &amp;nbsp;I do like the sound of that: the idea of IP SLA is that you can ping a machine at the ISP (say, pong.aaisp.net.uk) via both dialer routes. &amp;nbsp;Then if one route fails (due to dropped ADSL line or problems in the BT network) you can switch all traffic to the other line within a few seconds. &amp;nbsp;This would probably involve sticking the VOIP server on the second Ethernet interface, which is spare at the moment anyway. &amp;nbsp;That would also place the VOIP server in front of the firewall, which is no problem if I get the ACLs right, and would remove one more potential cause of jitter etc.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE: &lt;/b&gt;Cisco IOS doesn't appear to support per-source-interface or per-source-VLAN default routes, so it isn't possible to simply assign two weighted static routes per source interface.&amp;nbsp; So IP SLAs may be the way to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-555212660034645120?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/555212660034645120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/12/dual-adsl-on-cisco-1841.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/555212660034645120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/555212660034645120'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/12/dual-adsl-on-cisco-1841.html' title='VOIP QoS on Dual-WAN ADSL Cisco 1841'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5780001950900756334</id><published>2010-12-06T16:03:00.001Z</published><updated>2010-12-19T16:07:57.790Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cisco IOS ADSL Dual-WAN'/><title type='text'>Dual-WAN ADSL with Cisco 1841</title><content type='html'>I've got a second ADSL line now, so I've just started playing with bonding my two &lt;a href="http://aaisp.net.uk/"&gt;AAISP.net.uk&lt;/a&gt; lines together using a Cisco 1841 router with two ADSL cards.&amp;nbsp; It works pretty nicely out of the box, but as ever, some small lurking matters have emerged...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;The relevant bits of the Cisco IOS configuration are shown in the listing below.&amp;nbsp; This basic setup allows the router to aggregate both lines as best it can.&amp;nbsp; It doesn't use Multilink PPP because (apparently) multilink PPP requires the underlying networks to ensure in-sequence packet delivery - which might happen on Ethernet or Fibre, but won't happen on ADSL.&lt;br /&gt;&lt;br /&gt;VOIP sounds funny unless the links have similar delay characteristics.&amp;nbsp; AAISP sorted that for me by getting BT to enable Interleaving on both lines, not just one.&lt;br /&gt;&lt;br /&gt;So, the relevant chunks of the IOS config are:- &lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;interface ATM0/0/0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip redirects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip unreachables&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip proxy-arp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;load-interval 30&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no atm ilmi-keepalive&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;interface ATM0/0/0.1 point-to-point&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip redirects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip unreachables&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip proxy-arp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ip virtual-reassembly&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;pvc 0/38 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; encapsulation aal5mux ppp dialer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; dialer pool-member 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;interface ATM0/1/0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip redirects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip unreachables&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip proxy-arp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;load-interval 30&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no atm ilmi-keepalive&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;interface ATM0/1/0.1 point-to-point&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip redirects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip unreachables&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip proxy-arp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ip virtual-reassembly&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;pvc 0/38 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; encapsulation aal5mux ppp dialer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; dialer pool-member 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;interface Dialer0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ip address negotiated&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ip access-group 102 in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip redirects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip unreachables&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip proxy-arp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;encapsulation ppp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;tx-ring-limit 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;tx-queue-limit 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;dialer pool 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;dialer-group 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ipv6 address autoconfig&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ipv6 enable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ipv6 traffic-filter v6-outside-in in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ppp authentication chap pap callin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ppp chap hostname xxxx@a.1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ppp chap password xxx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ppp pap sent-username xxxx@a.1 password xxxx&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;interface Dialer1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ip address negotiated&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ip access-group 102 in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip redirects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip unreachables&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;no ip proxy-arp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;encapsulation ppp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;tx-ring-limit 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;tx-queue-limit 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;dialer pool 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;dialer-group 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ipv6 address autoconfig&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ipv6 enable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ipv6 traffic-filter v6-outside-in in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ppp authentication chap pap callin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ppp chap hostname xxxx@a.2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ppp chap password xxx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;ppp pap sent-username xxxx@a.2 password xxxx&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ip route 0.0.0.0 0.0.0.0 Dialer0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ip route 0.0.0.0 0.0.0.0 Dialer1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ipv6 route ::/0 Dialer0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ipv6 route ::/0 Dialer1&lt;/span&gt;&lt;/blockquote&gt;This works reasonably well in concert with &lt;a href="http://aaisp.net.uk/"&gt;Andrews &amp;amp; Arnold&lt;/a&gt;'s ADSL service.&amp;nbsp;&amp;nbsp; Speed testing using &lt;a href="http://www.speedtest.net/"&gt;www.speedtest.net&lt;/a&gt; showed that download speeds were improved by adding the second line, and the service continued largely unaffected if you unplugged one of the lines to simulate a fault.&amp;nbsp; Curiously, unplugging line 2 never disrupted a VOIP call, but unplugging line 1 killed audio in the uplink direction for ten or fifteen seconds.&lt;br /&gt;&lt;br /&gt;I made some VOIP quality tests via a cellphone left next to a radio.&amp;nbsp; The downlink audio quality of VOIP calls never faltered regardless of traffic levels.&amp;nbsp; That's probably down to Andrews &amp;amp; Arnold's optional policy setting, whereby 5% of the link is reserved for small UDP frames (a nice basic QoS mechanism).&amp;nbsp;&amp;nbsp; However, the uplink portion of the Speedtest.net test was able to provoke some disruption to voice quality if VOIP a call was in progress at the time.&amp;nbsp;&amp;nbsp; There are two obvious approaches to fixing this...&lt;br /&gt;&lt;br /&gt;1. Implement QoS prioritization so that the VOIP traffic always goes first on the uplink.&lt;br /&gt;&lt;br /&gt;2. Dedicate the entire uplink capacity of one of the ADSL lines to the VOIP&amp;nbsp; service.&lt;br /&gt;&lt;br /&gt;I'll try a few options and blog about the results later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5780001950900756334?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5780001950900756334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/12/dual-wan-adsl-with-cisco-1841.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5780001950900756334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5780001950900756334'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/12/dual-wan-adsl-with-cisco-1841.html' title='Dual-WAN ADSL with Cisco 1841'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-1021599244722516965</id><published>2010-11-17T23:53:00.009Z</published><updated>2010-12-19T15:59:40.038Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD 7.x 8.x Soekris NET5501'/><title type='text'>Updating FreeBSD 7.3 to 8.1 on Soekris NET5501</title><content type='html'>Just a quick heads-up if you're updating a FreeBSD server with a serial console.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;I've been running super-low-energy &lt;a href="http://soekris.info/"&gt;Soekris&lt;/a&gt; &lt;a href="http://soekris.kd85.com/net5501.html"&gt;NET5501&lt;/a&gt; boards as &lt;a href="http://www.kerberos.si/ENG/Soekris19.htm"&gt;rackmount servers&lt;/a&gt; for a little while now, so I thought it was time to update one of them from FreeBSD 7.x to 8.1.&amp;nbsp; Apart from anything else, the USB serial port multiplexer on one of my 7.3 boxes has a tendency to make the box reboot when odd things happen on the serial ports, so I'm hoping for better luck with the new USB subsystem code in 8.x.&lt;br /&gt;&lt;br /&gt;The Soekris machines are proper servers: no video card, no keyboard - just a serial port.&amp;nbsp; The serial port is your console device, so if your server isn't accessible on the network, it's vital that the serial console lets you log in and fix the problem.&lt;br /&gt;&lt;br /&gt;So it was annoying to find that the serial console no longer worked after upgrading to FreeBSD 8.1.&amp;nbsp; However, it turns out that this is simply because FreeBSD's designers have, in their wisdom, decided to rename all the serial ports, thereby breaking my system.&amp;nbsp; This didn't seem to be in the release notes - very annoying!&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/dev/ttyd0&lt;/span&gt; is now &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/dev/ttyu0&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/dev/cuad0&lt;/span&gt; is now &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/dev/cuau0&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;So after using &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;csup&lt;/span&gt; to update to &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;RELENG_8_1&lt;/span&gt;, and issuing the usual update command "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;make buildworld &amp;amp;&amp;amp; make buildkernel &amp;amp;&amp;amp; make installkernel&lt;/span&gt;", you will need to edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/ttys&lt;/span&gt; before you reboot.&lt;br /&gt;&lt;br /&gt;In &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/ttys&lt;/span&gt;, change:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ttyd0 "/usr/libexec/getty std.115200" xterm on secure&lt;/span&gt;&lt;br /&gt;to&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ttyu0 "/usr/libexec/getty std.115200" xterm on secure&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That will make the serial console work when you boot into 8.1.&lt;br /&gt;&lt;br /&gt;You might also need to edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/remote&lt;/span&gt; if you connect out to other systems.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE:&lt;/b&gt; I tried to get it right first time today, updating another box from 7.1 to 8.1.&amp;nbsp; It even with both ttyd0 and ttyu0 in the /etc/ttys file, the serial console doesn't start after the initial boot prompt, the first time you boot into 8.1.&amp;nbsp; Presumably the system gets confused by the 8.1 kernel combined with the 7.1 userland. Anyhow, a workaround is to let the system boot multi-user, then do the "mergemaster -p ; make installworld; mergemaster -F" from there.&amp;nbsp;&amp;nbsp; The serial console should work again once the 8.1 userland is installed.&amp;nbsp; &lt;b&gt;NB &lt;/b&gt;the mergemaster &lt;b&gt;-F &lt;/b&gt;option is recommended to avoid those tedious prompts about config files where only the VCSID has changed.&lt;br /&gt;&lt;br /&gt;Losing access to the serial console (even if only temporarily) is potentially risky.&amp;nbsp; All things considered, perhaps it wasn't a good idea for FreeBSD's engineers to rename all the serial ports on what is primarily a server OS.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE 2: &lt;/b&gt;It isn't necessary to rebuild your ports immediately (7.x binaries run happily on an 8.x system).&amp;nbsp; However, once you do start updating ports or installing new ones, it seems to be best to use "portupgrade -rRfa" to forcibly rebuild all your ports, as some of them have OSTYPE baked into them at build time, which can cause problems later on (e.g. causing "portupgrade portupgrade" to break).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-1021599244722516965?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/1021599244722516965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/11/updating-freebsd-73-to-81-on-soekris.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/1021599244722516965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/1021599244722516965'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/11/updating-freebsd-73-to-81-on-soekris.html' title='Updating FreeBSD 7.3 to 8.1 on Soekris NET5501'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5698173296452387782</id><published>2010-10-21T08:27:00.001+01:00</published><updated>2010-10-21T08:28:18.319+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu 10.10 dell maverick meerkat'/><title type='text'>Ubuntu 10.10 First Impressions</title><content type='html'>Tried out clean installs of Ubuntu 10.10 (Maverick Meerkat) on two Dell Latitude D620 systems yesterday.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;The 10.10 Desktop Edition installed without a hitch (downloading updates at install time, which is handy) and looks very nice.&amp;nbsp;&amp;nbsp; The new Ubuntu font is elegant and easy to read.&amp;nbsp; There have been subtle updates to the style of the desktop icons, which make the overall visual effect rather nicer.&amp;nbsp; Early days, but it all looks good so far.&amp;nbsp; The installer found all my hardware as usual (wifi, ethernet, GSM, sound, video, Dell sound buttons, etc).&lt;br /&gt;&lt;br /&gt;The 10.10 Netbook Edition had a little whinge about video driver support, then worked identically to the Desktop version.&amp;nbsp; So those nice simple menus seen in 10.04 Netbook Edition did not appear - just the default full-blown Linux desktop.&amp;nbsp; Sadly it seems that the Netbook user interface no longer runs on hardware without accelerated 3D video support.&amp;nbsp;&amp;nbsp; This seems like a big step backwards, as the simple newbie-friendly Netbook user interface offered a chance for non-techies to switch from Windows to Ubuntu, now that Windows XP is getting long in the tooth (takes too long to patch from a clean install), given that Windows Vista and Windows 7 are just too horrible and slow for any sane person to contemplate.&lt;br /&gt;&lt;br /&gt;For a simple user-friendly desktop on older laptops, you can install Ubuntu 10.04 Netbook Edition.&amp;nbsp; But would be nice if the 10.10 Netbook Edition ran in a simple 2D style on machines without 3D accelerated graphics hardware.&amp;nbsp;&amp;nbsp; It sounds as though Ubuntu has missed a trick there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5698173296452387782?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5698173296452387782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/10/ubuntu-1010-first-impressions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5698173296452387782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5698173296452387782'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/10/ubuntu-1010-first-impressions.html' title='Ubuntu 10.10 First Impressions'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5344077013372542184</id><published>2010-10-16T12:09:00.004+01:00</published><updated>2010-10-16T12:55:12.344+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPad ipsec vpn pptp'/><title type='text'>Apple iPad first impressions</title><content type='html'>I finally got an iPad a few days ago.&amp;nbsp; Generally, it's a very impressive device - as it should be for the price.&amp;nbsp; Just some initial observations:&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;iPad could be all you need if you are a non-techie, and you just want access to web and email.&amp;nbsp; But if you need printing, photo library management, music library management etc, then you still need a computer as well.&amp;nbsp;&amp;nbsp; The iPod functions can't be used without access to a computer running iTunes for syncing purposes, unless you buy all your music from the iTunes store (as opposed to importing your own CDs).&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;It's strange that a brand-new iPad won't "activate" after purchase without being plugged into iTunes. &amp;nbsp; It is sold without network operator subsidy, without network operator branding.&amp;nbsp; So why does it need "activation" at all?&amp;nbsp; That's an unwelcome hangover from the days of operator-locked iPhones.&amp;nbsp; To be fair, you could probably get a retail store to activate your new iPad for you (it just seems to want to talk to iTunes for a second: it doesn't need any credentials and you don't have to set up any settings at that point).&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;iPad lacks any cameras, so you can't do Facetime videoconferencing, and you can't take snaps.&amp;nbsp; Rumours are that the next version (probably 12 months on from initial release) will have at a front-facing camera for Facetime. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The screen is very good.&amp;nbsp; iPad lacks the ultimate "retina" resolution of the iPhone 4, but in practice that's not a problem, nor is it even noticeable.&amp;nbsp; Again, it's rumoured that there will be an annual refresh that will update the iPad, but adopting the retina level of resolution seems unlikely on cost grounds: and seems pointless, since the point of the retina resolution was to deliver a large number of pixels on a small device, which doesn't apply to the iPad. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The Apple iPad case is essential really.&amp;nbsp; Without it, you'd be quite limited in the orientations you could use the iPad in, and the screen would be too vulnerable given the cost of the device. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The 3G cellular version works well.&amp;nbsp; I'm using it with an &lt;a href="http://aaisp.net.uk/telecoms-mobile.html"&gt;aaisp.net.uk SIM card&lt;/a&gt;, which only costs £2 per month plus 2.5 pence per MB, and has the advantage of not going through a dirty NAT proxy like most cellular service providers.&amp;nbsp; It's a shame that the cellular versions of the iPad are so expensive, as the device is far less useful if it's not always-on.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;I can't get the IPSEC VPN client to talk to m0n0wall's IPSEC VPN gateway (anyone?).&amp;nbsp; It might well work over PPTP, but that's probably less secure, so it's probably not worth setting up unless really necessary.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; Port scans reveal that iPad listens on TCP port 62078 (iphone-sync), and UDP port 5353 (multicast DNS), even on the cellular interface.&amp;nbsp; Moreover, the device responds actively to port scans (i.e. it sends ICMP Port Unreachable when closed UDP ports are probed, and TCP RST when closed TCP ports are probed).&amp;nbsp;&amp;nbsp; This is pretty poor security practice for an always-on internet-exposed device these days.&amp;nbsp; However, I doubt that 62078/tcp or 5353/udp are exploitable.&amp;nbsp; If I netcat into 62078/tcp, I get disconnected straight away. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;iPad currently runs iOS 3.2.2, as opposed to iPhone's 4.1, so some 4.1 features aren't there.&amp;nbsp; Apple expects to ship iOS 4.2 in November 2010.&amp;nbsp; The iPad has half the RAM of the iPhone 4, which is a little bit worrying in terms of instant obsolescence.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;My Apple bluetooth keyboard works with the iPad, but it's a bit annoying, as it disables the on-screen keyboard.&amp;nbsp; So you can't just move to the bluetooth keyboard when typing long emails, say.&amp;nbsp; But the on-screen keyboard is surprisingly good. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; My Nokia bluetooth headphones paired with the iPad, and played from the iPod application initially, but then couldn't be persuaded to resume after a break.&amp;nbsp; Perhaps iOS 4.2 will make bluetooth work a bit better generally. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; Skype works well - the microphone and speakers are good.&amp;nbsp; But of course there's no camera.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;A few iPhone apps won't run, but most will.&amp;nbsp; A number of iPhone apps only use an iPhone-sized bit of the screen, but hopefully those will mostly get upgraded soon. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The SSH client iSSH works reasonably well, although the usable screen is small when the on-screen keyboard is used.&amp;nbsp; This can be compensated for by setting a smaller font size.&amp;nbsp; Sadly the bluetooth keyboard doesn't seem to work very well with it... For example the arrow keys don't work if I SSH into a FreeBSD server and edit a file using vi.&amp;nbsp; But to be honest, if you're going to drag a bluetooth keyboard around, why not take a small laptop instead.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Battery life is excellent on standby, but that big screen drains the battery if you leave it on all the time.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The iPad lacks a USB port, so you can't use it to download a file from the Internet for transfer to a computer at work.&amp;nbsp; In fact, as far as I know, you can't use the flash memory as a general-purpose filestore.&amp;nbsp; But perhaps that makes the iPad more acceptable in corporate environments from a security perspective.&amp;nbsp; If an employee uses their personal iPad over a 3G cellular network, then whatever they do on the iPad stays on the iPad, making it less likely they'll want to abuse corporate computers for utter shite such as Facebook, Myspace or Bebo. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Under the present release of the iPad's iOS system, you can't enable 3G "tethering" (sharing the 3G connection to other machines).&amp;nbsp; Perhaps this will come with the iOS 4.2 update in November.&amp;nbsp; However, if previous iPhone releases are anything to go by, the tethering support will be via bluetooth rather than via WiFi, so it's probably still going to be easier to buy a MiFi device.&amp;nbsp; That just means paying for another SIM card if you want the iPad to work independently of the MiFi, but at least &lt;a href="http://aaisp.net.uk/telecoms-mobile.html"&gt;3G data SIMs are affordable in the UK now.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;AFAICT the iPad doesn't support IPV6.&amp;nbsp; If the iPhone 4 is any guide, then IPV6 support may arrive with iOS 4.2.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5344077013372542184?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5344077013372542184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/10/apple-ipad-first-impressions.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5344077013372542184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5344077013372542184'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/10/apple-ipad-first-impressions.html' title='Apple iPad first impressions'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-6288728710906898224</id><published>2010-10-09T11:00:00.000+01:00</published><updated>2010-10-09T11:00:12.340+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu vm virtualization 10.04 kimsufi'/><title type='text'>Ubuntu Server virtualisation on Kimsufi hosting</title><content type='html'>After yesterday's false start with Citrix XenServer, today I'm switching to Ubuntu Server as my VM hosting platform.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Ubuntu's LTS Server operating system comes with 5 years of free security updates, and has a free built-in VM hosting platform called KVM, which appears to do exactly what I need.&amp;nbsp; So that seems like a nice easy low-hassle way to go.&lt;br /&gt;&lt;br /&gt;Inside the virtual environment, I'll create a VM guest instance of Ubuntu LTS Server as my web server platform, so that backups and disaster recovery are really easy.&lt;br /&gt;&lt;br /&gt;So far so good.&amp;nbsp; Using the automated OS deployment web tool provided by the server hosting company, it only took a few clicks of the mouse to install Ubuntu 10.04 on my &lt;a href="http://www.kimsufi.co.uk/ks"&gt;Kimsufi KS Q-1T&lt;/a&gt; dedicated server.&amp;nbsp; Total time: about 12 minutes.&lt;br /&gt;&lt;br /&gt;There's a small problem with Kimsufi's default Ubuntu server installation: it uses a customised Kimsufi kernel build.&amp;nbsp; This is annoying in general (customised kernels don't benefit from Ubuntu's automatic security updates) but it's a showstopper for VM hosting environments due to the use of kernel modules.&amp;nbsp; But this is easily fixed by using Ubuntu's &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;apt-get&lt;/span&gt; command to revert to the default Ubuntu Linux kernel, and setting &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;grub&lt;/span&gt; to default settings.&amp;nbsp; See the link below for details.&lt;br /&gt;&lt;br /&gt;Useful links:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://www.ubuntu.com/server"&gt;Ubuntu Server Edition&lt;/a&gt; (download)&lt;/li&gt;&lt;li&gt;&lt;a href="https://help.ubuntu.com/10.04/serverguide/C/index.html"&gt;Ubuntu Server Guide&lt;/a&gt; (documentation)&lt;/li&gt;&lt;li&gt;&lt;a href="https://help.ubuntu.com/10.04/serverguide/C/virtualization.html"&gt;Ubuntu Virtualization Guide&lt;/a&gt; (documentation)&lt;/li&gt;&lt;li&gt;&lt;a href="http://neuro.me.uk/2009/09/20/revert-to-standard-ubuntu-kernel-on-ovh-or-kimsufi-servers/"&gt;Revert to Standard Ubuntu Kernel on OVH or Kimsufi Servers&lt;/a&gt; (documentation)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.kimsufi.co.uk/ks/"&gt;Kimsufi dedicated servers&lt;/a&gt; (I'm a happy customer)&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-6288728710906898224?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/6288728710906898224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/10/ubuntu-server-virtualisation-on-kimsufi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6288728710906898224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6288728710906898224'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/10/ubuntu-server-virtualisation-on-kimsufi.html' title='Ubuntu Server virtualisation on Kimsufi hosting'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-6803413444890776669</id><published>2010-10-09T01:39:00.010+01:00</published><updated>2010-10-09T11:18:11.549+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web host virtualisation vmware citrix xen xenserver'/><title type='text'>Virtualizing my Internet server</title><content type='html'>I'm about to start work on a new non-profit website using a content management system so that other people can help to edit the content.&amp;nbsp; I'm hoping that a VMware-type approach will make this easier...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;The basic problem is that an Internet-visible server always suffers from maintenance hassles :-&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you don't apply frequent security updates, then eventually either  the CMS or the OS will be compromised, and the site will be defaced. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;If you do apply frequent security updates, then sooner or later, something breaks.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;If you do security lockdown, you may screw up and lock yourself out.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;In any case, eventual compromise &amp;amp; defacement is always a risk  using any CMS, especially if semi-trusted users have access to the  system (or if trusted users log in from compromised home PCs).&amp;nbsp;&amp;nbsp; For  my application, the use of a CMS can't be avoided. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;If the hardware fails, you're faced with reinstalling everything, not just restoring data from a backup.&lt;/li&gt;&lt;/ul&gt;What's needed is a quick way to recover the whole server to a known good state, so that  you can easily roll back the system in the event of a failed upgrade, a hardware failure, or a  security compromise of the OS or the CMS.&amp;nbsp;&amp;nbsp; So it seems to me that some sort of VM system is the way to go. &lt;br /&gt;&lt;br /&gt;Desirable features of a VM system :-&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Must allow the live VM to be checkpointed, then backed up to a remote server (may be in a cron job).&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Must be cheap for my non-profit site.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Should allow the live VM to be cloned and used for development  (although avoiding an IP address clash with the live VM might be a  problem, unless we have enough access to boot the cloned VM into  single-user mode and edit one or two config files).&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Must not expose management services to the network (except perhaps in  a limited way, for example SSH with key authentication on a random TCP  port) because my server is in a remote datacentre, directly exposed to the Internet. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The host &amp;amp; guest OSes need to be easily updated with security patches when necessary.&lt;/li&gt;&lt;/ul&gt;VMware ESXi looks nice in theory, but it lacks a firewall, and I seem to recall the free version doesn't offer many tools for managing the VM guests.&amp;nbsp; Another option is VMware Server + Ubuntu LTS server, but VMware  Server isn't officially supported on Ubuntu Server 10.04 LTS, only on  8.04.  It seems that VMware Server hasn't been updated for a while now.&lt;br /&gt;&lt;br /&gt;Other options include Citrix XenServer;&amp;nbsp; Oracle Virtualbox;&amp;nbsp;  KVM; Proxmox and Parallels Virtuzzo. &amp;nbsp;&amp;nbsp; The first three of these are free products; the last two cost money. &amp;nbsp; I decided to investigate Citrix XenServer.&lt;br /&gt;&lt;br /&gt;XenServer seems similar to VMware ESXi - it's a virtualisation appliance  - but unlike ESXi, XenServer allows you to use the Iptables firewall to protect the  management services.&amp;nbsp; Initial setup of XenServer was quick and painless using the hosting company's automated server deployment tool (see &lt;a href="http://www.kimsufi.co.uk/"&gt;www.kimsufi.co.uk&lt;/a&gt; for affordable dedicated servers).&amp;nbsp;&amp;nbsp; Then :-&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Log in as root over SSH, using the password allocated by the Kimsufi installer.&lt;/li&gt;&lt;li&gt; Run "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;netstat -an | grep LISTEN&lt;/span&gt;" to check for ports open to the Internet.&lt;/li&gt;&lt;li&gt; Point a web browser at the HTTP interface &amp;amp; download/install the management GUI client (Windows only).&lt;/li&gt;&lt;li&gt; Check you can log into the management GUI with the root password.&lt;/li&gt;&lt;li&gt; Edit the firewall ruleset ("&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;vi /etc/sysconfig/iptables&lt;/span&gt;") and block all inbound access except from your authorised management client IP ranges.&lt;/li&gt;&lt;li&gt; Reload the firewall ruleset:  "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/init.d/iptables restart&lt;/span&gt;". &lt;/li&gt;&lt;li&gt; Run NMAP port-scans against the box from authorised and unauthorised  IP addresses to make sure that the firewall rules are working.&lt;/li&gt;&lt;/ul&gt;So far the box doesn't have an IPV6 address, otherwise /etc/init.d/iptables6 would also need editing.&lt;br /&gt;&lt;br /&gt;It would be nicer to route management traffic through a VPN, but  restricting access by IP address is probably good enough to be going on  with.   But I will just run Wireshark tomorrow to check that the Windows  management GUI client doesn't pass traffic in the clear.&lt;br /&gt;&lt;br /&gt;OK, so now the VM host management services are hidden from the public  internet.   Tomorrow I'll try using the GUI to build a VM guest.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update: &lt;/b&gt;it turns out that the free XenServer license expires after 12 months, after which time it needs to be renewed, otherwise my VM's won't come back up if the host server reboots for any reason.&amp;nbsp; So in effect, XenServer's free edition has an &lt;b&gt;automatic 12-monthly denial-of-service feature&lt;/b&gt;.&amp;nbsp; Furthermore, if Citrix ever decided to discontinue license renewals, then my VM's would be dead in the water.&amp;nbsp; Commercial licenses for XenServer costs $1,000 for the first year alone, so that's not an option for our non-profit site.&amp;nbsp;&amp;nbsp; So, no point wasting any more time with Citrix products: I'll look &lt;a href="http://martins-random-notes.blogspot.com/2010/10/ubuntu-server-virtualisation-on-kimsufi.html"&gt;elsewhere&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-6803413444890776669?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/6803413444890776669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/10/virtualization-for-internet-facing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6803413444890776669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6803413444890776669'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/10/virtualization-for-internet-facing.html' title='Virtualizing my Internet server'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-364923378123834977</id><published>2010-10-08T01:59:00.001+01:00</published><updated>2010-10-08T02:01:03.157+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ipv6 ubuntu hardy 8.04'/><title type='text'>IPV6 on Ubuntu 8.04 server</title><content type='html'>In case anyone else is wondering why &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/network/interfaces&lt;/span&gt; fails to configure a static IPV6 address on Ubuntu 8.04, here's the solution...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;It turns out that there's a bug in the code that initializes the network stack in 8.04 (Hardy Heron).&amp;nbsp; No doubt that bug is fixed in 10.04, but right now I need 8.04 in order to run VMware Server 2.0.2 without messy patches.&lt;br /&gt;&lt;br /&gt;Under Ubuntu 8.04, don't bother trying to configure IPV6 from &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/network/interfaces&lt;/span&gt;.&amp;nbsp; Just leave your IPV4 settings in that file.&amp;nbsp;&amp;nbsp; Place your IPV6 settings into &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/rc.local&lt;/span&gt;, like this:-&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip addr add 2001:41D0:0001:5A08::1/56 dev eth0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip route add default via 2001:41D0:0001:5AFF:00FF:00FF:00FF:00FF dev eth0 &lt;/div&gt;&lt;br /&gt;The problem wasn't helped by being remote from the server in question, since any failure to parse &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/network/interfaces&lt;/span&gt; would stop IPV4 from initializing, locking me out of the box.&amp;nbsp; Happily though, the colo hosting company &lt;a href="http://www.kimsufi.co.uk/"&gt;Kimsufi (OVH)&lt;/a&gt; offers an excellent control panel which lets you netboot a rescue image supporting SSH with a temporary root password.&amp;nbsp; From the rescue image, it was straightforward to mount the root partition of the hard disk onto &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/mnt&lt;/span&gt;, then fix the /&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;etc/network/interfaces&lt;/span&gt; file.&lt;br /&gt;&lt;br /&gt;The dedicated server prices at Kimufi are very affordable.&amp;nbsp; Kimsufi offers a wide range of operating systems: you can have them auto-installed "raw", or preconfigured for hosting tasks.&amp;nbsp; The automatic OS installation facilities are easy to use, deploying your chosen OS very rapidly.&amp;nbsp; All in all, very impressive, and very good value for money.&amp;nbsp; And they support native IPV6.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-364923378123834977?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/364923378123834977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/10/ipv6-on-ubuntu-804-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/364923378123834977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/364923378123834977'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/10/ipv6-on-ubuntu-804-server.html' title='IPV6 on Ubuntu 8.04 server'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-8013231505034301440</id><published>2010-09-19T23:18:00.006+01:00</published><updated>2010-09-19T23:40:39.281+01:00</updated><title type='text'>IPV6 + Cisco 1841 ADSL + Monowall</title><content type='html'>Got this combination working today after a bit of a struggle...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;My new router is an old Cisco 1841 from EBay, which arrived complete with two WIC-1ADSL cards.&amp;nbsp; I decided to use an external router rather than the firewall's internal ADSL modem so that I could have a small network segment between the router and the firewall, where I can use an old 10 megabit hub for network monitoring.&amp;nbsp;&amp;nbsp; I can also plug into that hub if I need a completely unfiltered Internet connection for debugging or penetration testing.&lt;br /&gt;&lt;br /&gt;The Cisco WIC-1ADSL cards are dirt cheap on EBay but they seem to cope OK with ADSL 2 ("up to 8 megabits", BT 20CN).&amp;nbsp; They won't get full speed from ADSL 2+ ("up to 24 megabits", BT 21CN) if that ever arrives here: for that you'd need a HWIC-1 ADSL-M card, which is almost £400 by itself.&amp;nbsp;&amp;nbsp; But for now I'm getting about 3 megabits sync speed with the WIC-1ADSL card, which is good for my dodgy phone line.&lt;br /&gt;&lt;br /&gt;IPV6 worked straight away on the Cisco once a few relevant commands were added to the IOS configuration.&amp;nbsp;&amp;nbsp; Sadly the same could not be said for Monowall, which only routed IPV6 intermittently, and only then with much packet loss.&amp;nbsp;&amp;nbsp; After banging my head against the wall for some hours, I disabled the Traffic Shaper on Monowall, and lo and behold, IPV6 routing started working perfectly.&lt;br /&gt;&lt;br /&gt;The Cisco 1841 offers some flexible QoS options as you'd expect.&amp;nbsp; The following configuration lines appear to be sufficient to prioritize outbound VOIP traffic at busy times:-&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;class-map match-any voice&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; match access-group 105&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;access-list 105 remark VoIP traffic of all sorts&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;access-list 105 permit udp any any&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;policy-map dsl-qos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class voice&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; priority 250&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; remark Let VOIP take max. 250 kbit/sec upstream&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class class-default&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fair-queue&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;interface Dialer0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bandwidth 550&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; remark 550 kbits/sec = upstream bandwidth&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tx-ring-limit&amp;nbsp; 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tx-queue-limit 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; service-policy output dsl-qos&lt;/span&gt;&lt;/blockquote&gt;This may get more complicated if I rent a second phone line to use the second ADSL card.&lt;br /&gt;&lt;br /&gt;If you're looking for a Cisco ADSL router to experiment with IPV6, you don't need to use an 1841 rack-mount router: you could use an 877 desktop router.&amp;nbsp; You might also consider a 2811 if you're feeling rich and you want to run several ADSL lines very quickly.&amp;nbsp; You should budget for increasing the RAM and Flash memory (EBay bits will do for a home network) and for taking out a SmartNet contract so that you can download the latest IOS.&amp;nbsp; For SmartNet contracts, a good place seems to be &lt;a href="http://www.ithsc.co.uk/"&gt;http://www.ithsc.co.uk&lt;/a&gt;. Annoyingly it can take a few days for a SmartNet contract to start working.&lt;br /&gt;&lt;br /&gt;Very few UK ISPs currently support native IPV6 over ADSL, so if you don't want to tunnel IPV6 over IPV4, you might need to switch ISPs.&amp;nbsp;&amp;nbsp; I strongly recommend &lt;a href="http://www.aaisp.net.uk/"&gt;Andrews &amp;amp; Arnold&lt;/a&gt; for ADSL services that are fully compatible with IPV6.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-8013231505034301440?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/8013231505034301440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/09/ipv6-cisco-1841-adsl-monowall.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8013231505034301440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8013231505034301440'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/09/ipv6-cisco-1841-adsl-monowall.html' title='IPV6 + Cisco 1841 ADSL + Monowall'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-3254964678413137757</id><published>2010-09-18T11:26:00.023+01:00</published><updated>2010-12-14T07:08:42.465Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='WoL Apple Mac'/><title type='text'>Wake-on-LAN workaround for Mac Snow Leopard</title><content type='html'>This article discusses &lt;b&gt;Wake-on-Demand&lt;/b&gt; versus "classic" &lt;b&gt;Wake-on-LAN&lt;/b&gt; on Mac Snow Leopard.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Apple's Snow Leopard operating system introduced &lt;i&gt;&lt;b&gt;Wake On Demand (WoD)&lt;/b&gt;&lt;/i&gt;.&amp;nbsp; This is an open standard, intended to be a more user-friendly version of &lt;i&gt;&lt;b&gt;Wake On LAN (WoL)&lt;/b&gt;&lt;/i&gt; which has been around for years.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Wake On Demand&lt;/i&gt;&lt;/b&gt; allows computers to save energy by sleeping when idle, whilst waking up automatically if another machine on your network requests service.&amp;nbsp; So for example, your iMac can save energy by sleeping, but it will wake up quickly if you need to copy a file over to your MacBook; access an iTunes library; or log in remotely via Remote Desktop or SSH.&amp;nbsp; The Wake On Demand feature is enabled by ticking the box marked &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Wake for network access&lt;/span&gt; under &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;System Preferences / Energy Saver&lt;/span&gt;.&amp;nbsp; Sensibly, laptops don't wake up with lid closed or without mains power.&lt;br /&gt;&lt;br /&gt;Whilst the Wake On Demand feature is well-intentioned, it has an unwelcome side-effect: the sleeping computers wake up every two hours (day and night) to check the local network configuration and refresh the Bonjour proxy cache.&amp;nbsp; I don't like this: it's a waste of energy (the computer won't sleep again until the usual timer expires); it  unnecessarily stresses the machine; and it's annoying if someone's sleeping in the same room as the computer. &lt;br /&gt;&lt;br /&gt;The Wake On Demand feature depends on a device on your network running a Bonjour Proxy Cache server.&amp;nbsp;&amp;nbsp;&amp;nbsp; Recent firmware for the Apple Time Capsule and Apple Airport Express wireless access points implement a Bonjour Proxy service.&amp;nbsp; I've already blogged about one side-effect of this here: &lt;a href="http://martins-random-notes.blogspot.com/2009/11/apple-time-capsule-steals-ip-addresses.html"&gt;Apple Time Capsule steals IP addresses, but that's OK really&lt;/a&gt;.&amp;nbsp;&amp;nbsp; An always-on Mac can also run the Bonjour Proxy service (e.g. if Internet connection sharing is enabled).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Wake on LAN&lt;/i&gt;&lt;/b&gt; is an open standard that predates Wake-on-Demand.&amp;nbsp;&amp;nbsp; To wake up a computer using WoL, you just need to send a "magic WoL packet" to the computer's Ethernet MAC address.&lt;br /&gt;&lt;br /&gt;Annoyingly, the Snow Leopard OS doesn't offer any way to enable WoL without enabling WoD. However, there is a workaround documented in an article at the link below:-&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://hints.macworld.com/article.php?story=20100401103451497"&gt;10.6: Turn off automatic wake-from-sleep network check&lt;/a&gt; [hints.macworld.com]&lt;/li&gt;&lt;/ul&gt;From the article:-&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;"A comment in &lt;a href="http://opensource.apple.com/"&gt;mDNSResponder's open source code&lt;/a&gt; offers some explanation:&lt;/i&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;&lt;tt&gt;we still want to wake up in at most 120 minutes, to see if the network environment has changed. E.g. we might wake up and find no wireless network because the base station got rebooted just at that moment, and if that happens we don't want to just give up and go back to sleep and never try again.&lt;/tt&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;i&gt;...So how do I turn off this auto-wake feature then?&lt;/i&gt;&lt;br /&gt;&lt;i&gt;The code in &lt;tt&gt;mDNSResponder&lt;/tt&gt; makes only two checks on when not to schedule the maintenance wakes:&lt;/i&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;If 'Wake for network access' is turned off&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;if there are no Bonjour-advertised services on your system&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;i&gt;This check is always made at the point the machine is about to go to sleep. After much experimentation, I finally have a reliable way of defeating this check without &lt;/i&gt;&lt;i&gt;really doing either of the above.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Using &lt;a href="http://www.bernhard-baehr.de/"&gt;sleepwatcher&lt;/a&gt;, add the following commands to your script to run when your computer is going to sleep:&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /bin/sleep 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/sbin/systemsetup -setwakeonnetworkaccess on &amp;gt;/dev/null&lt;/i&gt;&lt;/pre&gt;&lt;i&gt;And add this to your 'wakeup' script:&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/sbin/systemsetup -setwakeonnetworkaccess off &amp;gt;/dev/null&lt;/i&gt;&lt;/pre&gt;&lt;i&gt;Finally, also execute that last command right now, or just manually turn 'Wake for network access' off in the Energy Saver preferences.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;What this does is turn wake for network access on only at the very last moment when your machine is going to sleep. This way, &lt;tt&gt;mDNSResponder&lt;/tt&gt; will be fooled into thinking you don't have network wakes enabled, so it won't schedule the unwanted maintenance wake. In reality, though, your sleep script will enable it anyway, but in such a way that &lt;tt&gt;mDNSResponder&lt;/tt&gt; doesn't see it."&lt;/i&gt;&lt;/blockquote&gt;As an alternative to Sleepwatcher, you might try &lt;a href="http://support.apple.com/kb/HT3789"&gt;disabling Bonjour  advertisements&lt;/a&gt; [Apple.com] if you don't mind not being able to  resolve the hostnames of any machines on your local network that don't  have DNS entries.&amp;nbsp; (Non-geeks: don't try this at home unless you have  your own DNS nameserver, or you only have one computer on your network  at any time.)&lt;br /&gt;&lt;br /&gt;If you use the Ports (formerly Fink) framework, you can install Sleepwatcher using one command:-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo port install sleepwatcher &lt;/span&gt;&lt;br /&gt;Then just follow the instructions.&amp;nbsp; I placed the commands from the Macworld article into the files &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/opt/local/etc/rc.sleep&lt;/span&gt; and &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/opt/local/etc/rc.wakeup&lt;/span&gt;.&amp;nbsp; But by default those scripts allow for per-user sleep and wakeup commands.&lt;br /&gt;&lt;br /&gt;You might also find these links useful:-&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.bernhard-baehr.de/"&gt;bb's Homepage&lt;/a&gt; [Sleepwatcher]&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Pmset"&gt;pmset command&lt;/a&gt;&amp;nbsp; [Wikipedia.org]&lt;/li&gt;&lt;li&gt;&lt;a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/pmset.1.html"&gt;pmset(1) Mac OS X Manual Page&lt;/a&gt; [developer.apple.com]&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Sleep_proxy_service"&gt;Sleep Proxy Service&lt;/a&gt; [Wikipedia.org]&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.apple.com/kb/HT3774"&gt;Mac OS X v10.6: About Wake on Demand&lt;/a&gt; [support.apple.com]&lt;/li&gt;&lt;/ul&gt;The last of these links states: "&lt;i&gt;Macs that have Wake on Demand enabled will occasionally wake for a brief  time, without lighting the screen, in order to maintain registrations  with the Bonjour Sleep Proxy. On some Macs, sounds from the optical  drive, hard drive, or fans may be heard during these brief maintenance  wakes&lt;/i&gt;."&amp;nbsp; (I don't believe these maintenance wakes are brief: they appear to use the normal timeouts to determine when the next sleep occurs.)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sending the magic Wake-On-LAN packet&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;If you're not relying on a Bonjour proxy server, how can you send the magic WoL packet to wake up your computer?&amp;nbsp; Well, you could write a trivial piece of code to spit out the single Ethernet frame that's needed, or you could download such a program from the Internet.&amp;nbsp;&amp;nbsp; But if you use Monowall or pfSense as your VPN firewall, then you'll find the firewall's GUI already offers a web page (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Services / Wake on LAN&lt;/span&gt;) that lets you store a list of MAC addresses for your network, so that you just click on an entry to wake up that computer - see screenshot below:-&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_T4qEziEah-Q/TJSPNPZMoGI/AAAAAAAAAEo/FSs8VTo4FM4/s1600/snapshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_T4qEziEah-Q/TJSPNPZMoGI/AAAAAAAAAEo/FSs8VTo4FM4/s1600/snapshot.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You can probably wake up every box on a LAN segment by sending the magic  WoL packet to the broadcast MAC address (all FF's) but I've never tried  that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-3254964678413137757?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/3254964678413137757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/09/fixing-wake-on-lan-on-mac-snow-leopard.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/3254964678413137757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/3254964678413137757'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/09/fixing-wake-on-lan-on-mac-snow-leopard.html' title='Wake-on-LAN workaround for Mac Snow Leopard'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_T4qEziEah-Q/TJSPNPZMoGI/AAAAAAAAAEo/FSs8VTo4FM4/s72-c/snapshot.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-2252098268596429292</id><published>2010-08-21T17:24:00.005+01:00</published><updated>2010-08-21T17:29:49.201+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='random paste'/><title type='text'>Stopping random cut-and-paste errors</title><content type='html'>Recently I've kept finding random bits of text pasted in at random places in the documents I've been editing under Ubuntu Linux. &amp;nbsp;Today I realised that my new laptop has a middle mouse button, which pastes the contents of the cut-and-paste buffer. &amp;nbsp;Time to disable that middle mouse button...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;It turns out that the laptop has three middle mouse buttons: one below the trackpad, one above the trackpad, and one on the external Bluetooth mouse: invoked by pressing the scroll wheel.&lt;br /&gt;&lt;br /&gt;So, how to disable all three middle mouse buttons? &amp;nbsp;Well there's no preference setting for that in the GUI, but a quick Google search reveals that there's a command-line tweak that's fairly painless. &amp;nbsp;Chapter and verse can be found in this &amp;nbsp;&lt;a href="https://wiki.ubuntu.com/X/Config/Input#Example: Disabling middle-mouse button paste on a scrollwheel mouse"&gt;Ubuntu Wiki Article&lt;/a&gt;,&amp;nbsp;but for my Dell M4400 laptop, the quick answer for Ubuntu 10.04 is to stick three lines down at the bottom of the file &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;~/.profile&amp;nbsp;&lt;/span&gt;(the script that gets run each time you log in) :-&lt;br /&gt;&lt;blockquote&gt;xinput set-button-map 'Microsoft Bluetooth Notebook Mouse 5000' 1 0 3&lt;/blockquote&gt;&lt;blockquote&gt;xinput set-button-map 'AlpsPS/2 ALPS DualPoint TouchPad' 1 0 3&lt;/blockquote&gt;&lt;blockquote&gt;xinput set-button-map 'DualPoint Stick' 1 0 3&lt;/blockquote&gt;&lt;div&gt;I'm not yet certain whether the &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;~/.profile&lt;/span&gt; file is the right place to put these lines. &amp;nbsp;I'm not certain whether it gets executed unless you fire up an terminal window (as opposed to firing up a text editor or email client as soon as you log in). &amp;nbsp; I'll update this note if I discover that it needs to go elsewhere.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-2252098268596429292?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/2252098268596429292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/08/stopping-random-cut-and-paste-errors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2252098268596429292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2252098268596429292'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/08/stopping-random-cut-and-paste-errors.html' title='Stopping random cut-and-paste errors'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-6732508583232656568</id><published>2010-08-18T19:41:00.001+01:00</published><updated>2010-08-18T19:43:03.745+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sleepy Herefordshire'/><title type='text'>Herefordshire in the sunshine</title><content type='html'>Took some photos at the weekend, on a short walk around Marcle Ridge in Herefordshire.&amp;nbsp; I don't know why this part of the country is so empty, as it's lovely countryside to walk in.&amp;nbsp;&amp;nbsp; Photos below...&amp;nbsp; Click for full-size images...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_T4qEziEah-Q/TGwpKVYrmTI/AAAAAAAAAEI/COGt4DRrHlE/s1600/IMG_0002.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="332" src="http://1.bp.blogspot.com/_T4qEziEah-Q/TGwpKVYrmTI/AAAAAAAAAEI/COGt4DRrHlE/s640/IMG_0002.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_T4qEziEah-Q/TGwpNwiZObI/AAAAAAAAAEM/YkrZuMemiwE/s1600/IMG_0009.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="426" src="http://1.bp.blogspot.com/_T4qEziEah-Q/TGwpNwiZObI/AAAAAAAAAEM/YkrZuMemiwE/s640/IMG_0009.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_T4qEziEah-Q/TGwpPVbzy5I/AAAAAAAAAEQ/bKGkpCeEuEU/s1600/IMG_0011.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="478" src="http://1.bp.blogspot.com/_T4qEziEah-Q/TGwpPVbzy5I/AAAAAAAAAEQ/bKGkpCeEuEU/s640/IMG_0011.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_T4qEziEah-Q/TGwpRAHwkcI/AAAAAAAAAEU/R1KHSiRrAfs/s1600/IMG_0014.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="478" src="http://1.bp.blogspot.com/_T4qEziEah-Q/TGwpRAHwkcI/AAAAAAAAAEU/R1KHSiRrAfs/s640/IMG_0014.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-6732508583232656568?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/6732508583232656568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/08/herefordshire-in-sunshine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6732508583232656568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6732508583232656568'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/08/herefordshire-in-sunshine.html' title='Herefordshire in the sunshine'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_T4qEziEah-Q/TGwpKVYrmTI/AAAAAAAAAEI/COGt4DRrHlE/s72-c/IMG_0002.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-7560538662738084073</id><published>2010-08-18T08:40:00.008+01:00</published><updated>2010-10-28T07:00:30.470+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dell C400 Ubuntu 10.04 Lucid Lynx Netbook Edition'/><title type='text'>Ubuntu Netbook Edition: Consumer-Friendly Linux</title><content type='html'>Just a quick note in praise of Ubuntu Linux 10.04 "Lucid Lynx" - more specifically their excellent Netbook edition - with a HOWTO for installing it on the problematic Dell C400 laptop.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Ubuntu Netbook Edition is a nice consumer-friendly desktop operating system for everyone, but it's particularly appealing for your friends and relatives who just want something quick and easy for accessing web and email (although once they've got used to Ubuntu, the other tools it comes with such as word processors, music players and graphics editors may also prove useful).&amp;nbsp; The Netbook edition has a simple menu system that's really easy to use.&amp;nbsp;&amp;nbsp; Also, the window manager works well on smaller screens.&amp;nbsp; And the boot-up time is rapid even on older hardware (under a minute on anything Pentium-4 powered).&amp;nbsp; Installing it is easy too: it auto-detected all my devices: Ethernet, Wi-Fi, 3G UMTS, Audio, Video, Bluetooth, the lot.&amp;nbsp;&amp;nbsp; Also, the network manager applet in the toolbar makes it easy to configure 3G data connections, and to hop around between different Ethernet and Wi-Fi networks.&lt;br /&gt;&lt;br /&gt;I've installed Ubuntu 10.04 succesfully on a Dell Precision M4400 laptop; a Dell Latitude D620 laptop; an HP XE4500 laptop; and two Dell Latitude C400 laptops.&amp;nbsp;&amp;nbsp; The Dell C400 laptops caused problems (an error abort message in the installer, and flashing video in the test drive mode), apparently due to a buggy ACPI system on that hardware.&amp;nbsp;&amp;nbsp; But that's easily fixed - see HOWTO below.&amp;nbsp;&amp;nbsp; The fix is to disable ACPI mode.&amp;nbsp;&amp;nbsp; I've also disabled Intel video card kernel mode setting as a precaution - although I think that may be the default now anyway.&amp;nbsp; Read on for a step-by-step solution&amp;nbsp; - this may be useful on other buggy laptops/desktops too.&lt;br /&gt;&lt;br /&gt;Once set up, Ubuntu runs nicely on the Dell C400, which isn't half bad when you consider that it's only a 1 GHz Pentium 3 machine.&amp;nbsp;&amp;nbsp; My C400's both have 1 GB RAM, but it would probably work at an acceptable speed with less memory too.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;HOWTO: Install Ubuntu 10.04 "Lucid Lynx" on the Dell C400 laptop&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;- Boot netbook 10.04 CD&lt;br /&gt;- Press F6 when keyboard icon appears&lt;br /&gt;- Arrow down to "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Install Ubuntu Netbook&lt;/span&gt;"&lt;br /&gt;- Press &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;F6 (Other Options)&lt;/span&gt; and :-&lt;br /&gt;- Press Escape&lt;br /&gt;- Press right-arrow to edit Boot Options line&lt;br /&gt;- Press left-arrow four times to move cursor to just after "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;splash&lt;/span&gt;"&lt;br /&gt;- Type "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; acpi=off i915.modeset=0 nomodeset&lt;/span&gt;"&amp;nbsp; (This mode choice applies one-time only.)&lt;br /&gt;- Press Return to start the install&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(UPDATE: &lt;/b&gt;This does &lt;b&gt;not&lt;/b&gt; work on Ubuntu 10.10.&amp;nbsp; Once again, new software breaks on old hardware. Perhaps on 10.10, you could try the Alternate Install CD [text-mode during installation], then try updating the kernel and manually enabling the intel driver in xorg.conf.)&lt;br /&gt;&lt;br /&gt;Yay!&amp;nbsp; Now the 10.04 installer boots, and after answering 7 quick questions, it begins installing 10.04 Netbook to the hard drive.&amp;nbsp; Easy.&lt;br /&gt;&lt;br /&gt;The install completes OK, but after booting into your freshly-installed system, you'll still have problems.&amp;nbsp; By default, the desktop will die (X crash) after painting the menu etc because those special boot settings weren't saved.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Solution&lt;/b&gt;&lt;/u&gt;:&lt;br /&gt;- press Power switch once to shut down cleanly&lt;br /&gt;- switch on again to reboot&lt;br /&gt;- hold down Shift as soon as box starts to boot&lt;br /&gt;- This brings up a pre-boot menu so that you can set temporary boot parameters.&lt;br /&gt;- Press 'e' to edit the grub settings:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; change '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;quiet splash&lt;/span&gt;' to '&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;quiet splash acpi=off i915.modeset=0 nomodeset'&lt;/span&gt;&lt;br /&gt;- Type Ctrl/X to boot with these temporary settings.&lt;br /&gt;&lt;br /&gt;The system should now start normally.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Now edit edit &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/default/grub&lt;/span&gt; to make the change permanent.&amp;nbsp; Change the line:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" &lt;/span&gt;&lt;br /&gt;to&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=off i915.modeset=0 nomodeset"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now run "&lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo update-grub&lt;/b&gt;".&lt;br /&gt;&lt;br /&gt;At this stage, if you have Ethernet or Wireless working, you should probably&lt;br /&gt;run the Update Manager to update everything (over 200 packages including new kernel and X) then reboot. Then check it all still works.&lt;br /&gt;&lt;br /&gt;So far, the only issue I'm seeing is that shutting down Linux doesn't power off the laptop.&amp;nbsp; That's predictable because ACPI support is needed for that.&amp;nbsp; No matter, just press the power switch after it shuts down.&lt;br /&gt;&lt;br /&gt;What about software?&amp;nbsp; Well, web and email work out of the box, but there's no Flash support (so BBC News clips don't work), no Java and no MP3 support.&amp;nbsp; But all that is easily fixed, as follows…&amp;nbsp;&amp;nbsp; No geeking required!&lt;br /&gt;&lt;br /&gt;- 1. From the menu, select System and click Software Sources.&amp;nbsp;&amp;nbsp; Tick the box "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Other Software / Lucid Partner&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;- 2. From the menu, select &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Favourites / Ubuntu Software Centre&lt;/span&gt;.&amp;nbsp;&amp;nbsp; Install "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Adobe Flash Plugin&lt;/span&gt;" (otherwise BBC News clips won't work).&amp;nbsp; Better still, install "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ubuntu Restricted Extras&lt;/span&gt;" to include support for MP3, TrueType fonts, Java and various Codecs too.&lt;br /&gt;&lt;br /&gt;- 3. Personally I prefer Sun Java not OpenJDK Java.&amp;nbsp; So I then use the Software Centre to remove all Open JDK related items, and then I install "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Sun Java 6.0 Plug-in&lt;/span&gt;" instead for some software to work.&amp;nbsp; Note that during installation of the Sun Java software, you need to Alt-Tab to bring a license acceptance dialog to the front in order to allow the install to proceed.&lt;br /&gt;&lt;br /&gt;- 4. You might also want&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; libdvdcss2&lt;/span&gt; so that you can play DVD movies (probably not possible anyway on the Dell C400).&amp;nbsp; Haven't tried it as I don't watch movies on my laptop anyway.&lt;br /&gt;&lt;br /&gt;- 5. I also install the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Chromium Web Browser&lt;/span&gt; and the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;GIMP graphics editor&lt;/span&gt; - again just pick them from the Software Centre tool and they install very easily.&lt;br /&gt;&lt;br /&gt;Hopefully, Ubuntu Netbook Edition can breathe a bit of extra useful life into older hardware.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-7560538662738084073?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/7560538662738084073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/08/ubuntu-1004-netbook-edition-consumer.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/7560538662738084073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/7560538662738084073'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/08/ubuntu-1004-netbook-edition-consumer.html' title='Ubuntu Netbook Edition: Consumer-Friendly Linux'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5287641290788638351</id><published>2010-07-09T08:18:00.009+01:00</published><updated>2010-08-21T17:54:20.592+01:00</updated><title type='text'>iPhone 4 Frustrations on T-Mobile UK</title><content type='html'>Finally got my iPhone 4 (unlocked from Apple).  Having sold my iPhone 3G to my sister (who is now using it on T-Mobile), I'd been reduced to using an appalling old Motorola, so I was keen to get going with the new phone, mainly because texting on the Motorola is pretty tedious.  Only problem being lack of a Micro SIM....&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;T-Mobile support say they don't have any Micro SIMs yet.  Very frustrating!  The iPad and iPhone were announced months ago, so this seems poor.&lt;br /&gt;&lt;br /&gt;T-Mobile doesn't officially support iPhones yet, but of course everything just works (on the SIM Only £15 tariff) except for Visual Voicemail, which is easily replaced with the free Hushmail service.  You have to wonder whether T-Mobile is holding back releasing Micro SIMs until they've got Visual Voicemail working.  &lt;br /&gt;&lt;br /&gt;I resorted to cutting down my SIM card very carefully - the cut goes alarmingly close to the gold pads.  This worked, but it's hard to cut accurately by hand, and the phone sometimes says "No SIM Card".  I've resorted to adding a sticky label to the SIM carrier to try to hold it in the right place.&lt;br /&gt;&lt;br /&gt;In the hope of a more permanent solution, I've ordered a Micro SIM cutting machine plus several free T-Mobile PAYG SIMs.  Hopefully T-Mobile support will be able to swap my pay-monthly account to a PAYG IMSI once I've cut it to size.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE&lt;/b&gt;: In fact, you can't move a pay-monthly T-Mobile account onto a PAYG SIM card.  But the problem was easily fixed by visiting a T-Mobile shop and paying them £10 for a new SIM card.  The new SIM card was instantly set up with my existing phone number, and the Micro SIM cutter made quick work of chopping it down to the right size.  Problem solved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5287641290788638351?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5287641290788638351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/07/frustrations-of-iphone-4-user-on-t.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5287641290788638351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5287641290788638351'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/07/frustrations-of-iphone-4-user-on-t.html' title='iPhone 4 Frustrations on T-Mobile UK'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-4315639376397399261</id><published>2010-06-03T17:50:00.004+01:00</published><updated>2010-08-21T17:57:04.149+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dell M4400 Ubuntu 10.04 Lucid'/><title type='text'>Ubuntu 10.04 LTS - First Impressions</title><content type='html'>I've been testing this release ("Lucid Lynx") on a Dell Precision M4400 laptop.  Initial impressions very favourable.  It boots quickly, even with full-disk encryption (via the Alternate Install CD): around 30 seconds to the login screen.  Much quicker than MS Windows on the same hardware.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Initial setup tasks like setting up MP3 playback, using the WLAN, using the GSM radio, and setting up a Bluetooth mouse (Microsoft Notebook Mouse 5000) were all very simple, and very quick.  No messing around with obscure config files.&lt;br /&gt;&lt;br /&gt;The desktop looks more polished than previous versions.  It's easy on the eye, with a good choice of default colours and fonts really making good use of the hardware.&lt;br /&gt;&lt;br /&gt;Only slight oddity is that changing the Ethernet MAC address (e.g. for MAC spoofing attacks) isn't possible using 'ifconfig'.  But it's easy with "macchanger-gtk", which is in the Ubuntu repository.&lt;br /&gt;&lt;br /&gt;The box itself initially ran a bit warm, and the fan came on a bit.  Evidently this is a known issue with the M4400 laptop, due to its ridiculously fast processor.  Most of the time I really don't need all that speed, and by adding the CPU Frequency Scaling Monitor to the panel at the top of the screen (right-click, Add to Panel) it's easy to set the CPU frequency to "OnDemand", to keep it running slower and cooler when there's not much going on.  By clicking on the icon, you can change the mode as required, so you can nail it down to 800 MHz if that's what you want to do.&lt;br /&gt;&lt;br /&gt;UPDATE: Ubuntu 10.04 works happily with VMWare 7.1.  I've imported the VMs from my old machine, so this will become my main work machine now.  The screen on the Dell M4400 is much easier to read than my old Dell D620: brighter and sharper.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-4315639376397399261?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/4315639376397399261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/06/ubuntu-1004-lts-first-impressions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4315639376397399261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4315639376397399261'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/06/ubuntu-1004-lts-first-impressions.html' title='Ubuntu 10.04 LTS - First Impressions'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-2256941352391260354</id><published>2010-05-15T23:20:00.019+01:00</published><updated>2010-08-21T17:53:42.406+01:00</updated><title type='text'>Traverse Viking PCI ADSL card + MONOWALL</title><content type='html'>I now have one of these cards in a Soekris net5501, in a nice case supplied by Wim at &lt;a href="http://kd85.com/"&gt;kd85.com&lt;/a&gt;&amp;nbsp;...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;(click on image to enlarge):-&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_T4qEziEah-Q/THAEJW9bnwI/AAAAAAAAAEY/UnJfyA3Wk-Q/s1600/P1000548.med.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://3.bp.blogspot.com/_T4qEziEah-Q/THAEJW9bnwI/AAAAAAAAAEY/UnJfyA3Wk-Q/s640/P1000548.med.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;The PCI ADSL card presents a virtual Ethernet port, and you can use it as a router or an RFC1483 Bridge.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;The Soekris board runs the Monowall firewall appliance distribution from Compact Flash.&amp;nbsp; So the whole thing uses very little power, has no moving parts, and avoids the need for a separate ADSL modem and power supply.&lt;br /&gt;&lt;br /&gt;The first thing to know about using the Viking ADSL card with Monowall is that you need to use the GENERIC build of Monowall, not the EMBEDDED build.&amp;nbsp;&amp;nbsp; This is because the EMBEDDED build is missing the device driver re(4) for the virtual NIC (RealTek 8139C+) which the Viking card presents to you.&amp;nbsp; This is OK, as the GENERIC build works happily on a CompactFlash card in the Soekris, and it still supports the Soekris serial console.&lt;br /&gt;&lt;br /&gt;Configuring the Viking card was a bit of a challenge.&amp;nbsp; It has a serial console port on some jumpers, but I don't yet have all the bits to make up the right cable.&amp;nbsp; It offers TELNET and HTTP config options, but in Monowall under PPPoE you don't get IP access to the card (only PPPoE).&lt;br /&gt;&lt;br /&gt;You can access the TELNET and HTTP management services from Monowall's LAN interface if you take the ADSL link offline.&amp;nbsp; Change the WAN port from PPPoE to a static IP (192.168.1.2 say).&amp;nbsp; This won't work unless you have either enabled NAT in Monowall (temporarily untick the box marked 'Advanced Outbound NAT'), or you have previously configured a default gateway on the ADSL card (e.g. 192.168.1.2).&amp;nbsp; Otherwise, the ADSL card won't know how to route management traffic back to you.&lt;br /&gt;&lt;br /&gt;For initial config of the ADSL card, the easiest thing is to make sure your Monowall has NAT enabled ( 'Advanced Outbound NAT' unticked), and then set up a the 'vr0' port as 192.168.1.2/24.&amp;nbsp; Then we can access the device via TELNET or HTTP, even though the device doesn't have a default gateway for us.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;For use as a PPPoE device in Monowall, the following commands enable the device to work  on a standard BT 20CN ADSL line in the UK, setting the device up as a  bridge instead of a router.&amp;nbsp; (These commands assume that you're starting from the default factory configuration, which can be restored by using a jumper as described in the documentation.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt; &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;telnet 192.168.1.1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Escape character is '^]'.&lt;/span&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; &lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,vvvdP9P???^&amp;nbsp;&amp;nbsp; ,,,&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vvd###P^`^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vvvvv v&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vv#####?^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ????####vv,&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vv####??&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,vvvdP???^&amp;nbsp; ,,,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ??##^&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v#####?&amp;nbsp;&amp;nbsp;&amp;nbsp; ,vvd##P?^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #?#v#vvv&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; v#####?&amp;nbsp;&amp;nbsp;&amp;nbsp; v###P^&amp;nbsp;&amp;nbsp;&amp;nbsp; ,vvv,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '?#?,&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; ######?&amp;nbsp;&amp;nbsp; ####?^ ,vd#P?^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; `???##&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; #####?&amp;nbsp;&amp;nbsp; v####&amp;nbsp; ,d##P^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ''&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;######&amp;nbsp;&amp;nbsp; v####&amp;nbsp; ]###L&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _&amp;nbsp;&amp;nbsp; _&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ___&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;#####?&amp;nbsp;&amp;nbsp; v####&amp;nbsp; ]##L&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;nbsp;&amp;nbsp; / \&amp;nbsp; |\ |&amp;nbsp; |_&amp;nbsp; \/&amp;nbsp;&amp;nbsp; /\&amp;nbsp;&amp;nbsp; |\ |&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;######&amp;nbsp;&amp;nbsp;&amp;nbsp; ####&amp;nbsp; ]###L&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \_&amp;nbsp; \_/&amp;nbsp; | \|&amp;nbsp; |_&amp;nbsp; /\&amp;nbsp; /--\&amp;nbsp; | \|&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;?#####v&amp;nbsp;&amp;nbsp; ####v&amp;nbsp; ]##h,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,,&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; ?#####&amp;nbsp;&amp;nbsp;&amp;nbsp; ?###h,&amp;nbsp; `9#hv,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,vv###&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ######&amp;nbsp;&amp;nbsp;&amp;nbsp; #####L&amp;nbsp;&amp;nbsp;&amp;nbsp; ]###L&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,v#v'&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?#####vv&amp;nbsp;&amp;nbsp;&amp;nbsp; ?9##hv,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,,vvvv###'&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?#####vv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; `??9P\vv,&amp;nbsp;&amp;nbsp; ^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vv##,&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ######&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #######L&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ??###hvv,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,vvv#?##?????&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; `????9hdhvv,&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Login: admin&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Password: *****&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Login successful&lt;/span&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;--&amp;gt; ip delete interface ipwan&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;--&amp;gt; bridge add interface br0&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;--&amp;gt; bridge attach br0 ethernet&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;--&amp;gt; rfc1483 add transport tr1 a1 0 38 llc bridged&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;--&amp;gt; bridge add interface br1&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;--&amp;gt; bridge attach br1 tr1&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;--&amp;gt; system config save&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;In Monowall, under "Interfaces", we just set the WAN interface to be 're0' (a RealTek RTL8139C), and set the Interface Type to be PPPoE. &amp;nbsp; Then just enter your ADSL login name and password into Monowall under "&lt;/span&gt;Interfaces: WAN", "PPPoE configuration".&lt;br /&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Hope this helps someone ;-)&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-2256941352391260354?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/2256941352391260354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/05/traverse-viking-pci-adsl-modem.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2256941352391260354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2256941352391260354'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/05/traverse-viking-pci-adsl-modem.html' title='Traverse Viking PCI ADSL card + MONOWALL'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_T4qEziEah-Q/THAEJW9bnwI/AAAAAAAAAEY/UnJfyA3Wk-Q/s72-c/P1000548.med.JPG' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-9094870632823044810</id><published>2010-05-13T11:49:00.004+01:00</published><updated>2010-05-13T11:55:08.237+01:00</updated><title type='text'>Askozia PBX 2.0: Fix for IAX trunk not working</title><content type='html'>I'm running a &lt;a href="http://www.askozia.com/"&gt;free Asterisk appliance image&lt;/a&gt; on a &lt;a href="http://soekris.com/net5501.htm"&gt;Soekris NET5501 low-power embedded computer&lt;/a&gt;.&amp;nbsp; So far so good: it's simplicity itself to set up (just copy the image to a Compact Flash card and boot).&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;I have an IAX trunk up to my service provider, plus a Linksys SPA3000 SIP ATA and an IAX softphone (Loudhush) on the Macbook.&amp;nbsp; Call quality over ADSL is far better than analog voice or cellphones.&lt;br /&gt;&lt;br /&gt;Just one gotcha when upgrading from the previous release: the IAX trunk appeared to connect but didn't pass calls through.&amp;nbsp; This turns out to be due to a new security feature in recent Asterisk releases.&amp;nbsp;&amp;nbsp; To fix this, login to the HTTP GUI and enter some manual attributes:- &lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Advanced &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IAX&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="spannit" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Manual Attributes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="spannit" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; calltokenoptional=0.0.0.0/0.0.0.0&lt;/span&gt;&lt;br /&gt;&lt;span class="spannit" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; requirecalltoken=no &lt;/span&gt;&lt;/blockquote&gt;If your firewall doesn't block access to 4569/udp from untrusted networks, you probably want to read up on how to secure these settings properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-9094870632823044810?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/9094870632823044810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/05/askozia-pbx-20-fix-for-iax-trunk-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/9094870632823044810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/9094870632823044810'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/05/askozia-pbx-20-fix-for-iax-trunk-not.html' title='Askozia PBX 2.0: Fix for IAX trunk not working'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-4887290381388891551</id><published>2010-05-12T19:12:00.006+01:00</published><updated>2010-07-18T15:36:28.777+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diskless PXE PXEBOOT Ubuntu Linux FreeBSD BSD'/><title type='text'>HOWTO: Install Ubuntu Linux via PXE Boot</title><content type='html'>Here's how to do a network-based installation of Ubuntu Linux, for machines without CDROM drives.&amp;nbsp; It is very simple.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;You will need a PXE install server (see below) to serve the installation media, and a target machine to install Ubuntu onto.&lt;br /&gt;&lt;br /&gt;On the PXE install server:-&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Unpack the .ISO contents to &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/local/www/ubuntu&lt;/span&gt; &lt;/li&gt;&lt;li&gt;Start a webserver on port 80, to serve up &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/local/www&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Start a TFTP server, to serve up &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/local/www/ubuntu/install/netboot&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Start a DHCP server, to hand out IP addresses, with a boot filename of "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;pxelinux.0&lt;/span&gt;"&lt;/li&gt;&lt;/ul&gt;On the target machine:-&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Boot the target machine using PXE. The Ubuntu setup menu should appear.&lt;/li&gt;&lt;li&gt;Let the Ubuntu installer run as normal.&amp;nbsp; Begin installing Ubuntu.&lt;/li&gt;&lt;li&gt;When "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Choose a mirror of the Ubuntu archive&lt;/span&gt;" appears, scroll to the top of the list "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ubuntu archive mirror country&lt;/span&gt;", and select "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;enter information manually&lt;/span&gt;".&lt;/li&gt;&lt;li&gt;For "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ubuntu archive mirror hostname&lt;/span&gt;", enter "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;10.42.42.42&lt;/span&gt;" (or the IP address of your PXE install server).&lt;/li&gt;&lt;li&gt;For "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Ubuntu archive mirror directory&lt;/span&gt;", enter "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/ubuntu&lt;/span&gt;"&amp;nbsp;&amp;nbsp; (NOTE: the default of "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/ubuntu/&lt;/span&gt;" does not work.)&lt;/li&gt;&lt;/ul&gt;That's all there is to it.&amp;nbsp; It should just work!&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;br /&gt;HOWTO: Build a PXE Install Server using FreeBSD&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;You can make a PXE install server very quickly by installing a default configuration of FreeeBSD.&amp;nbsp;&amp;nbsp; I installed FreeBSD 7.1 as a VMware machine.&lt;br /&gt;&lt;br /&gt;Start by installing a minimal version of FreeBSD. Be sure to install the Ports tree when prompted.&lt;br /&gt;&lt;br /&gt;Once FreeBSD is installed, we will need three ports: a DHCP server; a web server; and an rsync client.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;cd /usr/ports/net/isc-dhcp30-server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;make install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;cd /usr/ports/www/mathopd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;make install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;cd /usr/ports/net/rsync&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;make install&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/blockquote&gt;We will configure these later.&amp;nbsp; But first, let's unpack the Ubuntu CDROM ISO image (that's what the rsync client was for)…&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;mdconfig -a -t vnode -u 3 -f /tmp/ubuntu-9.10-i386.iso&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;mount_cd9660 /dev/md3 /mnt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;mkdir /usr/local/www/ubuntu&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;rsync -avH /mnt/&amp;nbsp; /usr/local/www/ubuntu&lt;/span&gt;&lt;/blockquote&gt;OK, so now you have the entire CDROM tree on your server, at /usr/local/www/ubuntu.&lt;br /&gt;&lt;br /&gt;Time to configure some stuff:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/rc.conf&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ifconfig_em0="10.42.42.42 netmask 255.255.255.0"&lt;br /&gt;!! Change 'ifconfig_em0' to match your LAN card !!&lt;br /&gt;sshd_enable="YES"&lt;br /&gt;inetd_enable="YES"&lt;br /&gt;mathopd_enable="YES"&lt;br /&gt;dhcpd_enable="YES"&lt;/blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/etc/inetd.conf&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /usr/local/www/ubuntu/install/netboot&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/local/etc/mathopd.conf&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;User daemon&lt;br /&gt;PIDFile /var/mathopd/pid&lt;br /&gt;Control {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Types {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; text/html { html }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; text/plain { txt }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; image/gif { gif }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; image/jpeg { jpg }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; text/css { css }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; application/octet-stream { * }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IndexNames { index.html }&lt;br /&gt;}&lt;br /&gt;Server {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Virtual {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; AnyHost&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Control {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Alias /&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Location /usr/local/www/ubuntu/&lt;br /&gt;} } }&lt;/blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/local/etc/dhcpd.conf&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ddns-update-style none;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;subnet 10.42.42.0 netmask 255.255.255.0 {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;nbsp; range 10.42.42.100 10.42.42.200;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;nbsp; option broadcast-address&amp;nbsp;&amp;nbsp; 10.42.42.255;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;nbsp; option host-name "temporary" ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;nbsp; filename "pxelinux.0";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;}&lt;/span&gt;&lt;/blockquote&gt;Reboot the PXE install server, and the various daemons should start.&amp;nbsp; This will conflict with any existing DHCP services on your network, so you probably want to keep it all standalone: just connect the PXE install server to the target machine with an Ethernet crossover cable.&lt;br /&gt;&lt;br /&gt;Hope this helps…&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update&lt;/b&gt;.  Warren Block has written up a nice tutorial on how to set up a FreeBSD PXE server, offering a choice of useful images to boot. See his page at &lt;a href="http://www.wonkity.com/~wblock/docs/html/pxe.html"&gt;http://www.wonkity.com/~wblock/docs/html/pxe.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-4887290381388891551?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/4887290381388891551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/05/howto-install-ubuntu-via-pxe-boot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4887290381388891551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4887290381388891551'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/05/howto-install-ubuntu-via-pxe-boot.html' title='HOWTO: Install Ubuntu Linux via PXE Boot'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-6670008476023725249</id><published>2010-05-11T08:53:00.013+01:00</published><updated>2010-07-18T15:47:19.333+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diskless soekris pxe pxeboot monowall pfsense askozia freenas'/><title type='text'>HOWTO: Install a Soekris server with PXE Boot</title><content type='html'>The Soekris NETxxxx boards can't boot from CDROM or USB, so installing an operating system requires PXE booting from the network, unless you want to prepare the hard disk or CF card in another machine first.&amp;nbsp; Another challenge is that the Soekris boards only have a serial console, so you can't use an operating system that assumes a video display and keyboard.&amp;nbsp; This article outlines your options.&lt;br /&gt;&lt;br /&gt;You can use PXE Boot for a wide variety of purposes.  My motivation on this occasion was to write a new image the CF card that my Soekris NET5501 AskoziaPBX Asterisk server boots from, without having to unbolt the server from the rack.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;To install a full FreeBSD system, see :-&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jdc.parodius.com/freebsd/pxeboot_serial_install.html"&gt;http://jdc.parodius.com/freebsd/pxeboot_serial_install.html&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://wiki.soekris.info/Installing_FreeBSD"&gt;http://wiki.soekris.info/Installing_FreeBSD&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://wiki.soekris.info/Installing_FreeBSD#Patch_for_PATA_hard_disk_errors_on_FreeBSD_7.x"&gt;http://wiki.soekris.info/Installing_FreeBSD#Patch_for_PATA_hard_disk_errors_on_FreeBSD_7.x&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To install other operating systems, see:-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://wiki.soekris.info/Main_Page#Operating_Systems"&gt;http://wiki.soekris.info/Main_Page#Operating_Systems&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;To load an embedded "appliance" distribution (Monowall, pfSense, AskoziaPBX, FreeNAS?) the procedure is much simpler, and should only take a couple of minutes.&amp;nbsp; During installation, we'll use a special-purpose LiveCD to avoid having to configure anything by hand, with a standalone Ethernet cable to avoid conflicts with existing network configurations.&lt;br /&gt;&lt;br /&gt;Prerequisites:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Working serial console access to the Soekris computer (9600-N-8-1 with no handshaking).&lt;/li&gt;&lt;li&gt;A temporary PC or a VMware server, to boot a LiveCD as your PXE server.&lt;/li&gt;&lt;li&gt;An Ethernet cable from the LiveCD PXE server to the first Ethernet port on the Soekris.&lt;/li&gt;&lt;li&gt;A USB memory stick containing the image you want to install to the Soekris.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;NOTE: The USB stick isn't essential. If you don't have physical access to the Soekris, you can save your image to the Voyage VM beforehand if you assign it an IP address compatible with your network.&amp;nbsp; You can usually reset or power-cycle the Soekris 5501 via a serial console connection using its ILO feature: type '+++', wait 1 sec, 'reset(return)' to reset;  '+++', wait 1 sec, 'power(return)' to power-cycle.&lt;br /&gt;&lt;br /&gt;Procedure:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Download the Voyage Linux Live CD ISO from &lt;a href="http://linux.voyage.hk"&gt;http://linux.voyage.hk&lt;/a&gt;.&amp;nbsp; (I used 0.6.5.)&lt;/li&gt;&lt;li&gt;Boot the Live CD on a spare PC, or under VMware.&amp;nbsp; Use a standalone network (e.g. just one Ethernet cable) because Voyage Linux will start its own DHCP and TFTP servers.&lt;/li&gt;&lt;li&gt;Login to the Live CD system: user "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;root&lt;/span&gt;", password "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;voyage&lt;/span&gt;".&amp;nbsp; Execute the commands:&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; remountrw&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Optional: To change the IP address range: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;vi /etc/dnsmasq.pxe.conf /etc/exports /etc/init.d/voyage-pxe /tftpboot/pxelinux.cfg/default &lt;/span&gt;and change 192.168.1.&amp;nbsp; Do not reboot! The changes are volatile! ]&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/init.d/dnsmasq restart&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/init.d/voyage-pxe start&lt;/div&gt;&lt;/blockquote&gt;Start the Soekris machine. When prompted, type Control-P to enter the ComBIOS monitor.&amp;nbsp; Now type: 'boot f0' (that's f, then zero) to begin the PXE Boot process.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Keep an eye on the Soekris serial console.&amp;nbsp; After the Linux kernel has booted, if you're lucky you'll get a login prompt.&amp;nbsp; Log in as user "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;root&lt;/span&gt;", password "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;voyage&lt;/span&gt;".&lt;/li&gt;&lt;li&gt;If instead of a login prompt, you get repeated "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;mount call failed: 13&lt;/span&gt;" errors, just wait for a minute.&amp;nbsp; You will be dropped into a BusyBox shell with the prompt "(&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;initramfs&lt;/span&gt;)", which is good enough for most purposes.&lt;/li&gt;&lt;li&gt;Now plug the USB memory stick into the Soekris PC.&lt;/li&gt;&lt;li&gt;Use this command sequence to load the image onto the Soekris (your mileage may vary slightly) :-&lt;/li&gt;&lt;/ul&gt;&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mkdir /tmp/usb&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mount -t vfat /dev/sda1 /tmp/usb&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dd if=/tmp/usb/fred.img of=/dev/hda bs=16k&lt;/blockquote&gt;This assumes that your .img file has already been decompressed using gzip.&amp;nbsp; If not, you should be able to get away with "&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;gzip -dc /tmp/usb/fred.img &amp;gt;/dev/hda&lt;/span&gt;" although this will be a bit slow.&lt;br /&gt;&lt;br /&gt;You may need to tweak the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/dev&lt;/span&gt; entries to match your hardware, depending on the type of disks you have.&amp;nbsp; It may be helpful to use the 'ls' command to check for&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; /dev/hd*&lt;/span&gt; and &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/dev/sd*&lt;/span&gt; before you plug in the USB memory stick, so that you can be sure which device is which.&amp;nbsp; For example the hard disk may be &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/dev/hdb&lt;/span&gt; on some systems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-6670008476023725249?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/6670008476023725249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/05/howto-install-soekris-server-with-pxe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6670008476023725249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6670008476023725249'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/05/howto-install-soekris-server-with-pxe.html' title='HOWTO: Install a Soekris server with PXE Boot'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-6443122959653322427</id><published>2010-05-03T20:45:00.002+01:00</published><updated>2010-05-03T20:48:26.512+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='monowall no-NAT'/><title type='text'>No-NAT Firewalling with Monowall</title><content type='html'>Just a heads up for anyone tearing their hair out over this one.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;PROBLEM: After setting up &lt;a href="http://m0n0.ch/"&gt;monowall&lt;/a&gt; with no NAT, you can surf the web, but the websites hosted in your DMZ are inaccessible from the internet.&lt;br /&gt;&lt;br /&gt;SOLUTION: For a No-NAT setup, see "Firewall: NAT: Outbound" and tick the box "Enable advanced outbound NAT".  Ticking this box disables NAT (yes, really!) provided that you don't enter any NAT mappings.&lt;br /&gt;&lt;br /&gt;OK, with that problem sorted, the next step is to try out IPV6.&amp;nbsp; Recent versions of Monowall support IPV6 out of the box, and &lt;a href="http://aaisp.net.uk/"&gt;my ISP&lt;/a&gt; supports IPV6 over ADSL, so it's got to be worth a go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-6443122959653322427?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/6443122959653322427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/05/no-nat-firewalling-with-monowall.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6443122959653322427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6443122959653322427'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/05/no-nat-firewalling-with-monowall.html' title='No-NAT Firewalling with Monowall'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-6416302896865470555</id><published>2010-04-07T09:15:00.020+01:00</published><updated>2011-03-02T16:37:41.699Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac Snow Leopard 10.6 10.6.3 PGP GPG FDE'/><title type='text'>Full Disk Encryption &amp; PGP email for the Mac</title><content type='html'>&lt;div style="text-align: justify;"&gt;As a security specialist, my own systems need to be secure, so it's my policy that most of my systems should employ full-disk encryption (FDE).&amp;nbsp; The only exceptions are servers - since these won't restart after a power failure in they use FDE.&amp;nbsp;&amp;nbsp; I also want to be able to send PGP-encrypted emails, for example for business correspondence, or for bike club membership administration.&lt;br /&gt;&lt;br /&gt;FDE provides protection in two ways.&amp;nbsp; Firstly, if someone steals your computer, they don't get all your files (unless it was up and running with no screen lock password when they stole it).&amp;nbsp; Secondly, if someone temporarily gains physical access to your computer, it's harder - although by no means impossible - for them to install a trojan to steal passwords or give them a remote shell.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;Review: PGP Full Disk Encryption for Mac&lt;/h1&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;For Windows machines, for domestic use I recommend installing &lt;a href="http://www.truecrypt.org/"&gt;TrueCrypt&lt;/a&gt; FDE.&amp;nbsp; Quick, easy, free of charge.&amp;nbsp; Alternatively, the more expensive flavours of Vista and Windows 7 offer BitLocker FDE out of the box, which probably makes for an easier life if you have the correct license already.&lt;br /&gt;&lt;br /&gt;On Linux machines, I recommend installing from the&amp;nbsp; "alternate installation" downloads of Ubuntu, as these provide FDE options out of the box at installation time.&lt;br /&gt;&lt;br /&gt;On the Mac, the only easily-obtainable FDE solution is PGP.&amp;nbsp; There are a few others, but last time I looked, they weren't sold directly to end-users, but only via third-party "solutions providers" whose websites looked pretty impenetrable.&amp;nbsp;&amp;nbsp; So going with PGP seemed like the simplest path to FDE on the Mac.&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;b&gt;UPDATE: (March 2011).&amp;nbsp;&lt;/b&gt; Apple's website now gives preview information about a built-in FDE option in the forthcoming Mac OS X Lion update (10.7).&amp;nbsp;&amp;nbsp; &lt;u&gt;So you might want to hold off buying PGP WDE for Mac now.&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;ASIDE.&amp;nbsp; Apple's FileVault facility only does home directory encryption, leaving the rest of the filesystem open to attack, e.g. by tampering with config files or trojanising binaries in the PATH.&amp;nbsp; Yes: Apple signs its binaries, but No: that doesn't buy you much security, since the Mac is quite happy to run unsigned binaries - how else could you use it for software development?&amp;nbsp; The Mac isn't locked down like an iPod, iPad or iPhone, since it's a general-purpose computing device, not a consumer electronics appliance. And without FDE, you can just boot into single-user mode or use a LiveCD if you want to steal or tamper with the files on the disk.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;PGP's store - &lt;a href="http://store.pgp.com/"&gt;http://store.pgp.com&lt;/a&gt; - offered two Mac packages: PGP Whole Disk Encryption (£119), and PGP Desktop Professional (£199).&amp;nbsp; The latter product includes email encryption as well as FDE.&amp;nbsp; Neither product covers updates between major releases as far as I can tell, and you only get one year's "bronze" support after purchase.&amp;nbsp; In reality of course, any support issues are likely to be handled through the online forum so the lack of ongoing support probably doesn't matter.&amp;nbsp; You can evaluate the software for 30 days before purchase.&lt;br /&gt;&lt;br /&gt;I purchased PGP Desktop Professional 10.0.1 for the MacBook.&amp;nbsp; Encrypting the hard disk on the MacBook was fine: it was simple and straightforward, and the minor Mac OS X update from 10.6.2 to 10.6.3 caused no problems.&amp;nbsp; There's no noticeable speed decrease: the little 13" MacBook Pro still flies, though with 8 GB RAM and a solid-state disk, it's got the odds stacked in its favour.&lt;br /&gt;&lt;br /&gt;So I can recommend PGP Full Disk Encryption for the Mac.  I only found one thing to watch out for: hibernation.&amp;nbsp; Once you use FDE, you can't use hibernation (the energy-saving mode where your RAM is saved to disk) for fairly obvious reasons.&amp;nbsp;&amp;nbsp; The PGP FDE installer disables hibernation for you automatically, but if you adjust the Mac's energy-saving settings later, it will probably get turned back on again. meaning that once the Mac hibernates, it won't wake up again (you'll need to hold down the power switch to forcibly turn it off and on again). &amp;nbsp; To fix this, use the following commands in Terminal.app :-&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sudo pmset -a hibernatemode 0&lt;br /&gt;sudo nvram "use-nvramrc?"=false&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;br /&gt;Even with this setting, the MacBook will sleep happily enough in the normal way, for example when you close the lid.&amp;nbsp; But of course the decryption keys are already loaded when you do this, so you need to set a strong password and make your preferences are set to demand the password when waking up from sleep.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Review: PGP Email Encryption for Mac&lt;/h1&gt;&lt;br /&gt;PGP Desktop Professional on the Mac does not function as a mail-client plugin, as you might have expected. To be fair, it seems that Apple's Mail.app mail client doesn't provide a public API to allow such plugins to be written easily.  So PGP provides a proxy-based solution, which is always going to be a little clunky.&amp;nbsp; PGP intercepts your mail client's outbound SMTP, POP and IMAP connections and tries to use "opportunisitic encryption", i.e. for each connection it tries to identify the associated email account, creating a corresponding "PGP messaging service" instance.&amp;nbsp;&amp;nbsp; You have to switch off SSL in your Mail.app account settings so that PGP's proxy can fiddle with your traffic, but that's OK because PGP enables SSL by default on the onward connections to your service provider's mail servers.&amp;nbsp; All this fudging has the unwelcome side-effect of making NMAP scans return fake open TCP ports on all SMTP, POP and IMAP related port numbers.&lt;br /&gt;&lt;br /&gt;Using PGP 10.0.1 for Mac with Google Mail, the first problem was that the messaging services kept breeding with lots of different server names (several Google-related domain names plus raw IPs).&amp;nbsp; It seemed that PGP was doing reverse DNS lookups in order to identify the account to use when an outbound mail socket was established, then getting confused since RDNS lookups can often fail or return round-robin DNS load balancing hostnames rather than the public FQDN hostname. &lt;/div&gt;&lt;br /&gt;We can simulate this as follows...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; $ dig smtp.gmail.com&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; smtp.gmail.com.&amp;nbsp; 300 IN CNAME gmail-smtp-msa.l.google.com.&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; gmail-smtp-msa.l.google.com. 300 IN&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp; 209.85.229.109&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; $ nslookup 209.85.229.109&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; 109.229.85.209.in-addr.arpa name = ww-in-f109.1e100.net.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;"ww-in-f109.1e100.net." is exactly the sort of name that gets listed in the breeding PGP messaging services.&lt;br /&gt;&lt;br /&gt;Surely it would be better for PGP to do forward DNS lookups for all the configured email services when an outbound mail socket is established.&amp;nbsp; That way, it would pick up the cached forward DNS mapping that was just used to set up&amp;nbsp; the outbound socket, allowing PGP to match the hostname quickly and easily against the list of configured messaging services rather than causing that list to breed as it does now.&lt;br /&gt;&lt;br /&gt;After several weeks of using PGP 10.0.1 for Mac, my outbound SMTP eventually failed completely: messages would just sit in Apple Mail's outbox, and eventually they'd time out and a failure dialog would appear.&amp;nbsp; At first I suspected a GMail outage, but it turned out that I could successfully send mail by switching off the PGP email services (see Preferences/Messaging dialog and untick "Secure Email").&amp;nbsp; So the problem must have been something PGP-related, possibly related to recent Mac OS X updates - even though the 10.6.3 update didn't initially appear to have caused any problems.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The PGP website suggested deleting the PGP messaging services and allowing PGP to re-create them automatically.&amp;nbsp; That didn't help.&amp;nbsp; So I posted a question to PGP's support forum, but after a few days, I'd only had one "I share your pain" type of reply, without a solution.&amp;nbsp; I guess I could have filed an official support ticket, but thinking things over, it occurred to me that a proxy-based solution to email encryption was fundamentally dirty and unreliable anyway.&amp;nbsp; It would be far better for the mail client to support encryption directly: then you could just tick a box when you wanted to encrypt a message, rather than hoping that the proxy would encrypt it for you - although to be fair, if you place "[PGP]" in the Subject line of an email, the PGP proxy should not send the mail unless it can find the necessary keys to encrypt it.&lt;br /&gt;&lt;br /&gt;On balance I can't recommend PGP's email encryption product on the Mac platform, so I've looked at the open-source equivalent GPG instead.  GPG and PGP are fully compatible, so users can send and receive encrypted messages over the Internet using either product.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; PGP Support said that because my purchase was less than 30 days ago,  I could use the PGP Store's Order History page to request a refund for PGP Desktop Professional, so that I could purchase PGP Whole Disk Encryption instead.  This has saved me some money, so I'll go ahead and buy a second PGP WDE license for my other Mac.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Installing free GPG email encryption on the Mac&lt;/h1&gt;&lt;br /&gt;On the Mac, it's easy to install GnuPG (GPG) to provide a free OpenPGP-compatible encryption library, but it's proved difficult for the open-source community to maintain a suitable encryption plugin for Apple's Mail.app mail client because each update to Mac OS X breaks the undocumented hooks that such plugins have to rely on: so at the time of writing, the GPGMail plugin still doesn't support Snow Leopard.&amp;nbsp; It's a shame that Apple doesn't support OpenPGP natively in its mail client.&lt;br /&gt;&lt;br /&gt;So the simplest email solution seemed to be to deactivate PGP's email proxy, ditch Apple's unencryptable Mail.app mail client, and switch over to Mozilla's Thunderbird email client plus its EnigMail PGP plug-in (which I've already grown to trust on the Ubuntu Linux platform).&amp;nbsp; Thunderbird 3.0's release notes mentioned the ability to import folders from Apple's Mail.app client, as well as integrating with Apple's Address Book &amp;amp; Spotlight, and supporting Gmail's IMAP folder naming conventions - so it seemed worth a try…&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Download Mozilla Thunderbird : &lt;a href="http://www.mozillamessaging.com/"&gt;http://www.mozillamessaging.com&lt;/a&gt;.&amp;nbsp; British users, be sure to select the British language build, not EN-US.&amp;nbsp; Install in the normal way.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Install the Mac Ports framework if not already done. See &lt;a href="http://www.macports.org/"&gt;http://www.macports.org/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;From Mac Ports, install gnupg (the underlying encryption software layer).  I avoided the later "version 2" branch (gnupg2) because it needs gpg-agent, which Enigmail doesn't support as far as I can tell.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; sudo port selfupdate&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo port upgrade outdated&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; sudo port install gnupg&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Download and install the EnigMail plugin for Thunderbird (the GUI for the encryption software):&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="https://addons.mozilla.org/en-US/thunderbird/addon/71"&gt;https://addons.mozilla.org/en-US/thunderbird/addon/71&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;a href="http://enigmail.mozdev.org/home/index.php"&gt;http://enigmail.mozdev.org/home/index.php&lt;/a&gt;&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Thunderbird had an option to import messages from Apple Mail, but since my Gmail account uses IMAP, I thought it would be cleaner to simply let Thunderbird import the folders directly from Gmail, after setting up the mail client settings according to the hints on Google's site: &lt;a href="http://mail.google.com/support/bin/answer.py?answer=78892"&gt;http://mail.google.com/support/bin/answer.py?answer=78892&lt;/a&gt;. I have thousands and thousands of messages built up on Gmail, so this import process did take an hour or two. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;To import keys from the old PGP installation:-&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /opt/local/bin/gpg --allow-secret-key-import --import PGP\ Private\ Keyring.skr&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /opt/local/bin/gpg --import PGP\ Public\ Keyring.pkr &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tweak settings in Thunderbird:-&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Under OpenPGP / Preferences / Files and Directories&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Override with" :&amp;nbsp; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/opt/local/bin/gpg&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - OpenPGP / Key Management&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tweak Trust on imported public keys&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;A warning was displayed about my public key, concerning its embedded crypto preferences not matching the available keys, so it may be necessary to re-distribute my public key so that people don't send me emails that I can't decrypt.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Having completed all these steps, Thunderbird seems to be running very well as my Mac email client.&amp;nbsp; It seemed a shame to dump Apple Mail, but in fact Thunderbird 3 looks very polished, and since it implements the more important Mac integration features (Address Book, Spotlight) it should serve me well.&amp;nbsp; It's also handy to be using the same mail clients on both Mac and Linux.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So to conclude this article, PGP Whole Disk Encryption seems to work well on the Mac, but I recommend using free software (Thunderbird + Enigmail + GPG) if you need to send encrypted emails.&amp;nbsp; Yes it's open-source software, but it's very polished and easy to use.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-6416302896865470555?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/6416302896865470555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2010/04/full-disk-encryption-email-encryption.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6416302896865470555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6416302896865470555'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2010/04/full-disk-encryption-email-encryption.html' title='Full Disk Encryption &amp; PGP email for the Mac'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-585615774549012576</id><published>2009-11-17T11:24:00.009Z</published><updated>2010-12-19T19:22:40.558Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='apple time capsule arp ip'/><title type='text'>Apple Time Capsule steals IP addresses, but that's OK really</title><content type='html'>Found one minor oddity with my new Apple Time Capsule. &amp;nbsp;If you have an ARP monitoring program running (such as arpwatch, or any FreeBSD server) you may notice that the Time Capsule's MAC address periodically appears to steal the IP address of one or more Mac Snow Leopard clients. &amp;nbsp;Odd as it may seem, this is by design.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;The Time Capsule runs a &lt;a href="http://en.wikipedia.org/wiki/Sleep_Proxy_Service"&gt;Sleep Proxy service&lt;/a&gt;, part of the multicast DNS (mDNS) service involved in Apple's Bonjour protocol, which helps Macs to find each other. &amp;nbsp;When one of your Macs goes to sleep, the Sleep Proxy occupies its IP address, like keeping someone's chair warm for them. &amp;nbsp;It doesn't appear to cause any problems here, and presumably it all helps to allow sleeping Mac machines to continue to offer file sharing services, if you've allowed that in your Energy Saver preferences.&lt;br /&gt;&lt;br /&gt;It's possibly worth sticking the Time Capsule on AppleCare warranty cover if you can, as there have been reports of PSU capacitor failures after 18 months, and it's hard to know whether that issue has been fixed yet. &amp;nbsp;AppleCare doesn't cover Time Capsule by itself, but you can add it free of charge to the AppleCare policy of a covered Mac.&lt;br /&gt;&lt;br /&gt;Generally, the Apple Time Capsule seems like an impressive device, thoughtfully designed as usual. &amp;nbsp;It's small, fast, quiet, and frugal with power (the hard drive spins down when idle). &amp;nbsp; And of course it's very shiny, though as a backup device, you probably want to hide it somewhere so that if someone steals your computers, they don't also steal your backup device.&lt;br /&gt;&lt;div style="margin: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;Offering a 4-port Gigabit Ethernet switch, a dual-band WiFi access point (including an optional guest network), and offering optional PPPoE and firewalling, it's very flexible. &amp;nbsp;You can use it for straight NAS file sharing and/or as a Time Machine (managed backups) server for a network of Apple Mac machines running Leopard or later. &amp;nbsp;Time Machine really works well, and you can go into the backups from another Mac if you know the password. &amp;nbsp;All in all, a nice bit of design.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update (Jan 2010)&lt;/b&gt;.&amp;nbsp; The SMB/CIFS server in the Time Capsule seems a bit buggy.&amp;nbsp; You can mount shares from Ubuntu 9.10 Linux using "mount -t smbfs //server/share /media/fred" but no files show up.&amp;nbsp; Apparently this has been reported, so maybe a future update will fix it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update (April 2010).&lt;/b&gt;&amp;nbsp; Following a firmware update (easily installed via the Mac management app), the SMB service now seems to work from Ubuntu Linux 9.10 and FreeBSD Unix 7.2. &amp;nbsp; I haven't used it for serious production yet but it looks OK, with the caveat that your first mount request sometimes times out and fails if the Time Capsule drive had been idle for long enough to spin down.&amp;nbsp; I guess energy saving is all about compromises, and the system will run cooler and last longer if it spins down.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Update (July 2010)&lt;/b&gt;.&amp;nbsp; The Samba server in the current firmware (7.5.1) still seems very buggy.&amp;nbsp; Tried a mixture of clients (Windows XP, Windows 7, FreeBSD Samba, MAC Samba) will consistently poor results.&amp;nbsp; So whilst I can recommend the Time Capsule for Apple clients, I can't recommend it for Windows clients.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update (December 2010)&lt;/b&gt;.&amp;nbsp; I've just installed firmware 7.5.2 on the Time Capsule, and also on my Airport Express.&amp;nbsp; I expect this will finally cure the Samba problems, as I successfully tested a pre-release of 7.5.2.&amp;nbsp; Other enhancements appear to include improved IPV6 support (also for in the Airport Express).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-585615774549012576?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/585615774549012576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/11/apple-time-capsule-steals-ip-addresses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/585615774549012576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/585615774549012576'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/11/apple-time-capsule-steals-ip-addresses.html' title='Apple Time Capsule steals IP addresses, but that&apos;s OK really'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-7295316344658271439</id><published>2009-11-17T11:00:00.002Z</published><updated>2009-11-17T11:25:49.334Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='apple mac ping dig nslookup dns'/><title type='text'>HOWTO: Fix dig &amp; nslookup on Mac OS X</title><content type='html'>If ping works but dig &amp;amp; nslookup are broken, there's a simple fix.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Normally the Mac has a symlink from /etc/resolv.conf to /var/run/resolv.conf :-&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;$ ls -l /etc/resolv.conf&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;lrwxr-xr-x &amp;nbsp;1 root &amp;nbsp;wheel &amp;nbsp;20 14 Aug 21:49 /etc/resolv.conf -&amp;gt; /var/run/resolv.conf&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you've dicked around and broken the symlink, then some utilities will work while others won't. &amp;nbsp;To fix, just re-instate the missing symlink:-&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; color: #333333; line-height: 16px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;$ sudo ln -s /var/run/resolv.conf /etc/resolv.conf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-7295316344658271439?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/7295316344658271439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/11/howto-fix-dig-nslookup-on-mac-os-x.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/7295316344658271439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/7295316344658271439'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/11/howto-fix-dig-nslookup-on-mac-os-x.html' title='HOWTO: Fix dig &amp; nslookup on Mac OS X'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5385665147386123675</id><published>2009-11-13T00:55:00.017Z</published><updated>2009-11-17T11:06:38.579Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><title type='text'>HOWTO: Make smaller PDF files on the Mac</title><content type='html'>&lt;span style="color: #333333; font-family: Helvetica, serif; font-size: small;"&gt;On the Mac, printing a document to a PDF sometimes results in a very big file, for example when the original document has lots and lots of pictures in it.  To make a smaller PDF :-&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: #333333; font-family: Helvetica, serif; font-size: small;"&gt;1. Save to PDF in the normal way.&lt;br /&gt;2. Open the big PDF file using Preview (the default Apple PDF viewing application).&lt;br /&gt;3. Pick: &amp;nbsp;File / Save As&lt;br /&gt;4. Set: &amp;nbsp; Format = PDF&lt;br /&gt;5. Set: &amp;nbsp;Quartz Filter = Reduce File Size&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333; font-family: Helvetica, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333; font-family: Helvetica, serif;"&gt;I've just reduced a 12-page file from 15 MB to 1 MB by this method.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5385665147386123675?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5385665147386123675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/11/howto-make-smaller-pdf-files-on-mac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5385665147386123675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5385665147386123675'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/11/howto-make-smaller-pdf-files-on-mac.html' title='HOWTO: Make smaller PDF files on the Mac'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-2617859688547542101</id><published>2009-09-27T16:34:00.068+01:00</published><updated>2010-08-08T19:41:25.427+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PPP'/><category scheme='http://www.blogger.com/atom/ns#' term='UK'/><category scheme='http://www.blogger.com/atom/ns#' term='IPV6'/><category scheme='http://www.blogger.com/atom/ns#' term='pfSense'/><category scheme='http://www.blogger.com/atom/ns#' term='ADSL'/><category scheme='http://www.blogger.com/atom/ns#' term='AAISP'/><title type='text'>Using PPP over UK ADSL using pfSense</title><content type='html'>Most home broadband connections use an ADSL router with a built-in NAT firewall.  For more complex networks, the next step is to place a dedicated firewall behind your ADSL router.  But there's a third way: put your ADSL device into Bridge mode. Then it's just a dumb modem, so your firewall can run the PPP session to your ISP....&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;First some background: just why would you want to ditch your ADSL router and run PPP straight from the firewall?&lt;br /&gt;&lt;br /&gt;Advantages:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There's one less thing to go wrong, because there's one less router between you and your ISP.&lt;/li&gt;&lt;li&gt;You don't waste a static IP address, because your first Internet-visible IP terminates on the firewall, not the router.&amp;nbsp;&lt;/li&gt;&lt;li&gt;If you want to adjust the services you publish to the Internet, you only have one device to reconfigure.&lt;/li&gt;&lt;li&gt;You can use a cheaper ADSL modem instead of a pricey ADSL router. &amp;nbsp;This can be quite a saving if you need something more sophisticated than basic NAT.&lt;/li&gt;&lt;li&gt;For multi-WAN configurations, if the firewall runs both ADSL PPP sessions, then it may be easier to arrange automatic fail-over when one ADSL line fails, or goes down for two minutes to re-sync.&lt;/li&gt;&lt;li&gt;If you want to support IPV4 + IPV6, there's probably more chance of getting everything working properly if there's just one key device to configure, not two.&lt;/li&gt;&lt;/ul&gt;Disadvantages:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In the UK, most ADSL providers offer PPPoA (point-to-point protocol over ATM) which, through an ADSL router, delivers a full-size MTU of 1500 bytes. &amp;nbsp;But if you switch to an ADSL modem/bridge delivering your traffic via Ethernet, then 8 bytes of each frame is lost due to PPP headers, so you end up with an MTU of 1492 bytes. &amp;nbsp;This should not be a problem, except for some broken websites which suffer from the "pMTUd blackhole" problem. &amp;nbsp;These misconfigured websites set the Don't Fragment bit on their outgoing IP frames, whilst simultaneously discarding any ICMP &lt;span style="font-family: inherit;"&gt;"&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="font-family: inherit;"&gt;Frag Needed but Don't Frag was Set" &lt;/span&gt;&lt;/span&gt;responses from routers which are unable to deliver large unfragmented frames across low-MTU links. As a workaround, pfSense automatically implements MSS Clamping on PPPoE interfaces, meaning that it fiddles with the TCP options field in SYN / SYN-ACK frames to ensure that the MSS isn't set higher than PPPoE can cope with.&amp;nbsp; This is slightly dirty (the firewall is changing the packets passing through it) but it seems to work well enough. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Some security people take the view that an Internet-facing security perimeter should have several devices, placed in series, each with an ACL (access control list) set up to filter incoming traffic. &amp;nbsp;The converse view is that firewalling should be done at the firewall, and routers should be left alone to get on with routing.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;At home, for some years I've been running a Cisco 877W ADSL router on the outside, with a dedicated pfSense firewall on the inside. &amp;nbsp;&lt;a href="http://pfsense.org/"&gt;pfSense&lt;/a&gt; is a free and easy-to-use open-source firewall software package, based on the rock-solid&amp;nbsp;&lt;a href="http://freebsd.org/"&gt;FreeBSD&lt;/a&gt; Unix operating system but with a user-friendly web-based management screen. &amp;nbsp;pfSense will run on just about any Intel-based hardware, but I've chosen a diskless &lt;a href="http://soekris.com/"&gt;Soekris&lt;/a&gt; NET5501 low-energy rackmount server, purchased from the excellent&amp;nbsp;&lt;a href="http://kd85.com/"&gt;KD85.com&lt;/a&gt;. &amp;nbsp;Whilst Soekris computers are quite expensive, they use almost no electricity, so they probably pay for themselves if you run them 24*7 for a few years.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Cisco router isn't really designed as a consumer-friendly device. &amp;nbsp;Even for a network geek, it can be a bit of a pain to configure, and to maintain with security updates, even with a Cisco SmartNet contract. By contrast, the pfSense firewall is much simpler to update. &amp;nbsp;You just save the configuration using your web browser, load the new firmware onto a fresh Compact Flash card, boot it up and restore the saved config from your web browser. &amp;nbsp;In the event of problems, you just pop the old Compact Flash card back in.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So for now I've unplugged the Cisco router, and connected a cheap ADSL modem in Bridge mode. &amp;nbsp;There are at least half a dozen UK ADSL modems that offer Bridge Mode, whereby your ADSL link still runs PPPoA, but this is presented to you as PPPoE. &amp;nbsp;I've tested three of them.&amp;nbsp; They are all nice and cheap compared to some of the fancier ADSL routers out there....&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="text-decoration: underline;"&gt;&lt;b&gt;D-Link DSL-320B&lt;/b&gt;&lt;/span&gt;.&amp;nbsp; &lt;span style="color: red;"&gt;Summary: Best avoided unless the firmware improves.&lt;/span&gt; This is a small device offering one Ethernet port and one ADSL port. &amp;nbsp;It runs from 9 volts AC. Annoyingly, even after flashing it to the latest UK firmware, I never did get it working in standard PPPoA mode (as an ADSL NAT router) though it did work with an Apple Mac in Bridged mode (as an ADSL modem). For bridged mode on UK BT 20CN ADSL2 lines, you must select "1483 Bridged IP LLC" mode, as shown in the picture below (click to enlarge). The whole experience didn't really inspire confidence, so I didn't bother testing it with pfSense. Rather disappointing, as I had expected better from D-Link.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_T4qEziEah-Q/Sr_AABLMfnI/AAAAAAAAADc/ttVe3M5ROps/s1600-h/test.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_T4qEziEah-Q/Sr_AABLMfnI/AAAAAAAAADc/ttVe3M5ROps/s400/test.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;u&gt;Draytek Vigor 120&lt;/u&gt;.&lt;/b&gt;&amp;nbsp; &lt;span style="color: blue;"&gt;Summary: works like a charm&lt;/span&gt;.&amp;nbsp; This gadget is sold as a PPPoE ADSL modem, not as an router than can also be used as a modem.&amp;nbsp; The vendor claims you can just plug it into your router/firewall and use it without any configuration at all.&amp;nbsp; I took the time to assign a static IP address for management purposes: this isn't strictly necessary, but does facilitate statistics display:-&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_T4qEziEah-Q/SznffLXWPeI/AAAAAAAAAD8/hzBWtbNfsgk/s1600-h/status.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_T4qEziEah-Q/SznffLXWPeI/AAAAAAAAAD8/hzBWtbNfsgk/s640/status.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The management IP address does not need to be related in any way to the IP subnets used by the firewall.&amp;nbsp; It's only there so that you can plug in a laptop and see what's going on with the ADSL link itself.&amp;nbsp; The device is still acting only as a modem, not a router. &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;The only minor gripe I found with the Draytek is that the web management interface was needlessly confusing. The default status page shows "DISCONNECTED", which probably relates to routing being switched off.&amp;nbsp; The status page marked "Online Status" (shown above) is what you want, but you can't always access that page because the web menu screen is buggy (and has a clashing colours making it hard to read). But refreshing the page usually makes the menu render properly, or you can just open the status page directly at /doc/online.sht.&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;In case it helps anyone... My system is in the UK, on a standard but rather faint BT 20CN ADSL line.&amp;nbsp; My Draytek Vigor 120 arrived with the current v3.2.4.1 firmware but the modem code seemed to be out-of-date, so I updated it from the maker's website using the file v120_a4_v324 (modem code 332201) as this seemed to be the recommended modem code for the UK.&amp;nbsp; It's been running flawlessly for 10 days now without re-syncing once, despite the high attenuation on my line, maintaining a good stable 11 dB SNR (with the BT end set for extra stable mode).&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;So far then, the Vigor 120 seems perfectly compatible with pfSense 1.2.3, and highly stable even on marginal BT ADSL limes.&amp;nbsp; It also claims compatibility with all the new ADSL standards, so with a bit of luck it should still work when BT upgrade my local exchange to 21CN ADSL 2+, making it good value for the price.&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="text-decoration: underline;"&gt;&lt;b&gt;Billion BiPAC 5200&lt;/b&gt;&lt;/span&gt;.&amp;nbsp; &lt;span style="color: black;"&gt;&lt;span style="background-color: lime;"&gt;Summary: works pretty well, but tends to re-sync every few days on my noisy ADSL line.&lt;/span&gt;&amp;nbsp;&lt;/span&gt; This again is a very small device. &amp;nbsp;It offers one ADSL port and four Ethernet ports, and runs from 12 volts DC (which is handy because that's what all my Soekris servers and Netgear switches use - so in theory I could use a true battery backup circuit instead of a wasteful mains UPS). &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_T4qEziEah-Q/Sr-NwsFs6xI/AAAAAAAAADM/IFbEJDWzTJU/s1600-h/grab.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_T4qEziEah-Q/Sr-NwsFs6xI/AAAAAAAAADM/IFbEJDWzTJU/s400/grab.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;The &lt;b&gt;Billion&lt;/b&gt; device worked straight away as a plain old ADSL NAT router, but upon switching to Bridge mode, it just didn't seem to want to work with the PPP client in pfSense until I tried switching it to an unlikely sounding connection mode: "1483 Bridge IP LLC". &amp;nbsp;This sounded wrong, because the normal connection mode in the UK is VC rather than LLC, but it works. &amp;nbsp;The correct setup is as shown above (click picture to enlarge). &amp;nbsp;Note that VPI/VCI needs to be set to 0/38 for normal UK ADSL lines (BT 20CN ADSL2), whilst the other settings can be left at defaults... &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div&gt;The Billion device comes in two models: the 5200 and the 5200S. &amp;nbsp; I went for the 5200, which has 4 Ethernet ports, whilst the slightly cheaper 5200S only has a single Ethernet port. &amp;nbsp;Used in Bridged Mode, only one Ethernet port can carry Internet traffic (because everything's wrapped up inside PPP frames). &amp;nbsp;However, the web management service remains active when Bridge Mode is used, so it may be useful to have more than one Ethernet port in case you want to monitor things like ADSL line conditions without disconnecting the PPP link.&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;So much for the different ADSL modems.&amp;nbsp; What about configuring pfSense? &amp;nbsp;For test purposes, I downloaded the CDROM installer ISO image for pfSense 1.2.3, burnt it to CD, booted it up and installed it on a 10 year old Dell desktop PC fitted with two network cards. &amp;nbsp;Predictably, pfSense found and auto-configured all the hardware: it even recognised the power switch, so that it does a clean shutdown when you switch off. &amp;nbsp;One network interface became "LAN" (local area network), the other "WAN" (wide area network). &amp;nbsp; So far just standard stuff, the default install equivalent to a simple NAT firewall to begin with.&lt;br /&gt;&lt;br /&gt;For PPP over ADSL, we just need to go into Interfaces / WAN in the pfSense web GUI, and set it up as shown below (click image to enlarge):-&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_T4qEziEah-Q/Sr-X5wRVzOI/AAAAAAAAADU/t8-18ib1lYE/s1600-h/pfsense.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_T4qEziEah-Q/Sr-X5wRVzOI/AAAAAAAAADU/t8-18ib1lYE/s400/pfsense.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;At the top, you set "Type" to be "PPPoE". &amp;nbsp;This means the interface doesn't have an IP address or Gateway, as everything should get set up automatically over Ethernet using PPP. &amp;nbsp; You just need to fill in your ADSL ISP username and password lower down under "PPPoE Configuration". &amp;nbsp;Then just hit the Save button at the bottom, wait a minute for pfSense to apply the changes, and the link should come up (assuming that you got the username and password correct).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If you have problems, the first thing to do is look at the pfSense log. &amp;nbsp;However, this isn't very detailed, so it may help to configure pfSense to send your system log to another machine using the SYSLOG protocol on the LAN interface. &amp;nbsp;See &lt;a href="http://martins-random-notes.blogspot.com/2009/09/freebsd-remote-syslog-fix.html"&gt;my blog post from earlier today&lt;/a&gt;, for details of how to configure a FreeBSD server to receive SYSLOG messages from a remote host.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Another debugging technique is to plug the pfSense firewall into the ADSL Ethernet modem via an Ethernet hub (not a switch!). &amp;nbsp;Then plug a laptop into the Ethernet hub and run &lt;a href="http://wireshark.org/"&gt;Wireshark&lt;/a&gt;&amp;nbsp;to watch the packets going past.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Whilst we're just messing about testing stuff, if you have a recent Apple Mac to hand, you can plug that in instead of the pfSense box to control the PPP link.&amp;nbsp; On the Mac, go to "System Preferences" - "Network", then press the "+" button at bottom left. &amp;nbsp;In the pop-up box, for "Interface" choose "PPPoE" and for "Service Name" enter something like "IPV6 PPPoE Test". &amp;nbsp; In the box that appears, leave the PPPoE service name blank, then enter your ADSL ISP account name and password. &amp;nbsp; Under "Advanced", just make sure "Configure IPV4" is set to "Using PPP" whilst "Configure IPv6" is set to "Automatically". &amp;nbsp;Save your settings and press the Connect button.&amp;nbsp;&amp;nbsp;Once the PPP link comes up, for IPV6 access you'll need to correct the IPV6 address and gateway, as outlined in &lt;a href="http://martins-random-notes.blogspot.com/2009/09/native-ipv6-over-dialup-on-mac.html"&gt;my earlier post today&lt;/a&gt;&amp;nbsp;(PPP over ADSL and PPP over dialup are pretty similar from the Mac's point of view).&amp;nbsp;&amp;nbsp;If the link doesn't seem to be working, once again you can run Wireshark to watch the PPP protocol start up over the Ethernet port.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;My next step will probably be to switch from pfSense to Monowall, with a view to adding native IPV6 support to my networks.&amp;nbsp;&amp;nbsp; Another option would be to stick with IPv4 and pfSense, but add a second ADSL line for higher speed and redundancy.&amp;nbsp; Apparently pfSense 2.0 alpha supports true WAN link aggregration, as does my ISP, &lt;a href="http://aaisp.net/"&gt;aaisp.net&lt;/a&gt;.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;UPDATE: Currently running Monowall 1.32 using PPP over ADSL with a Traverse Viking PCI ADSL card.&amp;nbsp; This has given me native IPV6 over ADSL for the first time, thanks to my ISP, www.aaisp.net .&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-2617859688547542101?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/2617859688547542101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/09/using-ppp-over-uk-adsl-using-pfsense.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2617859688547542101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2617859688547542101'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/09/using-ppp-over-uk-adsl-using-pfsense.html' title='Using PPP over UK ADSL using pfSense'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_T4qEziEah-Q/Sr_AABLMfnI/AAAAAAAAADc/ttVe3M5ROps/s72-c/test.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-2934089031594059056</id><published>2009-09-27T12:38:00.020+01:00</published><updated>2010-08-08T19:43:07.434+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Snow Leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='IPV6'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='dialup'/><category scheme='http://www.blogger.com/atom/ns#' term='AAISP'/><title type='text'>HOWTO: Native IPV6 dialup on the Mac</title><content type='html'>The world is running out of IPV4 addresses, so the transition from IPV4 to IPV6 is getting closer.  Here's how to kick the tyres, if you want to try web surfing with IPV6. &amp;nbsp;Dialup is just for testing of course, ADSL is next ...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;1. Take an Apple MacBook running Snow Leopard (Mac OSX 10.6).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Disconnect Ethernet and Wifi.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Plug in the Apple USB Modem.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. In the Mac's "System Preferences: Network" control panel (which will probably pop up automatically when the modem is plugged in), create a dial-up connection for an IPV6-compatible ISP, for example &lt;a href="http://aaisp.net/"&gt;http://aaisp.net&lt;/a&gt; .  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As far as I'm aware, AAISP (Andrews &amp;amp; Arnold) is the only ISP here in the UK that offers IPV6 natively over both ADSL and dial-up.  You need to ask them to enable IPV6 for you - it's free - and you may also want to ask for a second login account - again, it's free - so that you can mess about testing stuff without clashing with the static addresses assigned your main ADSL line.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. Enter the ISP's IPV6 name servers manually under the dial-up connection settings (as it doesn't get them automatically)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you dial up now, you'll notice IPV4 and IPV6 addresses get assigned to network interface &lt;span style="font-family: 'courier new';"&gt;ppp0&lt;/span&gt;.  These can be checked in a Terminal window using the command &lt;span style="font-family: 'courier new';"&gt;ifconfig ppp0&lt;/span&gt;.  You can check routes with &lt;span style="font-family: 'courier new';"&gt;netstat -anr&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new',serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;But you'll find IPV6 web access still doesn't work, because the IPV6 address that gets set up on the &lt;span style="font-family: 'courier new';"&gt;ppp0&lt;/span&gt; interface is a link-local one.  I've yet to read up about IPV6 in detail, but for test purposes I got IPV6 working by deleting the default IPV6 address, replacing it with one of the millions of IPV6 addresses assigned to me by my ISP.  To do this, I had to execute these commands (sanitised where 'x:x' appears)  being careful not to confuse 6 (six) and b (letter B)...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;sudo -s   [to become root]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;ifconfig ppp0 inet6 delete fe80::216:x:x:x%ppp0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;route delete -inet6 default&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;ifconfig ppp0 inet6 2001:8b0:x:x::42&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;route add -inet6 default 2001:8b0:x:x::42%ppp0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;echo 'nameserver 2001:8b0::2020' &amp;gt;&amp;gt;/etc/resolv.conf&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;echo 'nameserver 2001:8b0::2021' &amp;gt;&amp;gt;/etc/resolv.conf&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Worth noting at this point that a fully-formed IPV6 address is of the form &lt;span style="font-family: 'courier new';"&gt;dead:beef:cafe:f00d:dead:beef:cafe:f00d&lt;/span&gt; but most often many of those bits are set to zero.  The abbreviation "&lt;span style="font-family: 'courier new';"&gt;::"&lt;/span&gt; means just stick a load of zeroes in there to make it up to the correct length.  So 2001:8b0::2020 is really &lt;span style="font-family: 'courier new';"&gt;2001:08b0:000:0000:0000:0000:2020&lt;/span&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK, so you should now have IPV6 connectivity, but how to test it?&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Use '&lt;span style="font-family: 'courier new';"&gt;dig -t aaaa www.example.com&lt;/span&gt;' to discover the IPV6 address of your favourite website.&lt;/li&gt;&lt;li&gt;Use &lt;span style="font-family: 'courier new';"&gt;ping6&lt;/span&gt; and &lt;span style="font-family: 'courier new';"&gt;traceroute6&lt;/span&gt; to test connectivity to known IPV6 addresses.&lt;/li&gt;&lt;li&gt;Browse directly to an IPV6 website by putting the IPV6 address in square brackets, i.e.  &lt;span style="font-family: 'courier new';"&gt;http://[dead:beef:cafe:f00d:dead:beef:cafe:f00d]:port/index.html&lt;/span&gt; (assuming that the site supports browsing by address rather than virtual hostname).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;You may also have access to &lt;a href="http://ipv6.google.com/"&gt;http://ipv6.google.com&lt;/a&gt; (the IPV6-only version of Google) although due to bizarre practices at Google, that only works if your ISP has satisfied Google that it supports IPV6 properly.  But there are some handy links to other IPV6-only sites at &lt;a href="http://www.sixxs.net/misc/coolstuff/#ipv6gate"&gt;http://www.sixxs.net/misc/coolstuff/#ipv6gate&lt;/a&gt; .  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thus far you're running with a dual IPV4 and IPV6 stack.  You can force IPV6 only by removing the IPV4 address and default route, but you'll then quickly realise how few websites support IPV6.  There is a chicken and egg problem here... Even those sites that do support IPV6 are generally dual-stack, and often your DNS lookup will return IPV4 addresses by default, so you'll end up using IPV4 even when you have IPV6 enabled.  I believe you can run IPV6 only on your machine by setting up a magic route for IPV4 addresses, as the IPV4 space appears as a subset of the IPV6 address range.  But looking at the devices on my network with regard to IPV6 compatibility...  There's a VOIP ATA, two laser printers, an iPhone, and an old Airport Express.  None of these support IPV6, so I'll have to run dual-stack once I get my ADSL firewall to support IPV6.&lt;br /&gt;&lt;br /&gt;UPDATE: As described elsewhere on this blog, I can confirm that native IPV6 over ADSL is working for me with Monowall 1.32.&amp;nbsp; Modem is a Traverse Viking ADSL PCI card in Bridge mode.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-2934089031594059056?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/2934089031594059056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/09/native-ipv6-over-dialup-on-mac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2934089031594059056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2934089031594059056'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/09/native-ipv6-over-dialup-on-mac.html' title='HOWTO: Native IPV6 dialup on the Mac'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-8129476662465506074</id><published>2009-09-26T14:26:00.011+01:00</published><updated>2009-09-27T13:52:41.804+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd syslog syslog.conf'/><title type='text'>HOWTO: Send SYSLOG messages to FreeBSD</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;When you try to send SYSLOG messages for storage on a FreeBSD 7 server, the odds are that your&amp;nbsp;messages won't appear in your log file on the first attempt. &amp;nbsp;You need to get several things right...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. &lt;span style="font-family: 'courier new';"&gt;Syslogd&lt;/span&gt; needs to be started with the '-n' flag to suppress reverse DNS lookups every time a message comes in.  Apart from being a stupid waste of time, these checks fail unless the RDNS lookup succeeds, and exactly matches a hostname in &lt;span style="font-family: 'courier new';"&gt;syslog.conf.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. &lt;span style="font-family: 'courier new';"&gt;Syslogd&lt;/span&gt; needs to be started with '-&lt;span style="font-family: 'courier new';"&gt;a 192.168.1.42/32&lt;/span&gt;' (to accept messages from a single sender) or '&lt;span style="font-family: 'courier new';"&gt;-a 192.168.1.0/24&lt;/span&gt;' (to accept from a whole subnet).  Or you can give the -a flag several times.  The easiest way to set up the flags is to give them in &lt;span style="font-family: 'courier new';"&gt;/etc/rc.conf&lt;/span&gt; , for example:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: 'courier new', serif;"&gt;syslogd_flags="-n -a 192.168.99.7/32:* -a 1.2.3.4/28:*"   # Log from Firewall and DMZ&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new', serif;"&gt;&lt;span style="font-family: Georgia, serif;"&gt;3. Your &lt;span style="font-family: 'courier new';"&gt;/etc/syslog.conf&lt;/span&gt; file needs to include this magic syntax, right up the top before all your normal rules:-&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new', serif;"&gt;&lt;span style="white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;+192.168.99.7&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;*.*&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="font-family: 'courier new';"&gt;  &lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new';"&gt;/var/log/firewall.log&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;+*&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;+@&lt;span style="font-family: Georgia, serif;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;span style="font-family: Georgia, serif;"&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="white-space: normal;"&gt;4. The log file needs to exist before &lt;span style="font-family: 'courier new';"&gt;syslogd&lt;/span&gt; is restarted, and it needs to have the right permissions.  So you'll need something like:-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new', serif;"&gt;&lt;span style="white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;touch /var/log/firewall.log&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;chown root /var/log/firewall.log&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;chmod 0600 /var/log/firewall.log&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope this helps someone...&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-8129476662465506074?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/8129476662465506074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/09/freebsd-remote-syslog-fix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8129476662465506074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8129476662465506074'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/09/freebsd-remote-syslog-fix.html' title='HOWTO: Send SYSLOG messages to FreeBSD'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-6845509794333658089</id><published>2009-08-20T23:03:00.018+01:00</published><updated>2011-04-05T15:01:14.212+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stunnel freebsd gmail'/><title type='text'>GMail's SSL Certificate Updated: Fixing STUNNEL</title><content type='html'>Today it appeared that Google Mail had updated the SSL certificate they use to secure access to the SMTPS service on smtp.gmail.com:587. &amp;nbsp;&amp;nbsp;The change stopped me from sending personal email through a corporate HTTP proxy today, and I couldn't immediately remember how to load fresh certificates in my Stunnel server again...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Corporate proxies often block direct access to Gmail on port 587, but allow connections to arbitrary SSL services elsewhere.  So I run two copies of the STUNNEL SSL proxy back-to-back on my home server.  First, a STUNNEL SSL listener accepts incoming SSL client connections. After authenticating the client by checking for a valid client-side SSL certificate, the SSL listener decrypts my traffic and connects onward to a STUNNEL SSL client listening on the loopback address, 127.0.0.1.  The STUNNEL SSL client then connects out to smtp.gmail.com:587, verifies GMail's SSL certificate, and encrypts my outbound mail before sending it on its way.&lt;br /&gt;&lt;div&gt;The outbound STUNNEL client was failing to connect to GMail, because their SSL certificate could not be verified.  The STUNNEL syslog entries confirmed this (and restarting it didn't help).  Things had probably been like that for a while, because it's only one of my work laptops that uses the STUNNEL proxies to send and receive mail (SMTPS and IMAPS): my other machines connect directly to GMail.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To try to see why it was failing, I checked the STUNNEL config file that controls my SMTP client connections to Google.  The config file started with:&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;CAfile = Equifax_Secure_Certificate_Authority.pem&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;verify = 2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;So I thought if I retrieved the current SSL certificate from smtp.gmail.com:587, I could just check the CA they'd used, then pull in the .PEM file for that CA.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm very rusty on all this.  A handy reference is: &lt;a href="http://www.madboa.com/geek/openssl/"&gt;http://www.madboa.com/geek/openssl/&lt;/a&gt; .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK, let's use the openSSL utility to connect to the Gmail SMTP service and see what's going on...&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;# openssl s_client -connect smtp.gmail.com:587 -starttls smtp        &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;CONNECTED(00000003)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;depth=1 /C=US/O=Google Inc/CN=Google Internet Authority&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;verify error:num=20:unable to get local issuer certificate&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;verify return:0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;---&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;Certificate chain&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt; 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;   i:/C=US/O=Google Inc/CN=Google Internet Authority&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt; 1 s:/C=US/O=Google Inc/CN=Google Internet Authority&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;---&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;Server certificate&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;-----BEGIN CERTIFICATE-----&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;MIIDWzCCAsSgAwIBAgIKYg1RaQADAAAJ6TANBgkqhkiG9w0BAQUFADBGMQswCQYD&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;dGVybmV0IEF1dGhvcml0eTAeFw0wOTA3MTcxNzE3MzVaFw0xMDA3MTcxNzI3MzVa&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;MGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;b3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcwFQYDVQQDEw5zbXRw&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;LmdtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyfUHCINEHBj0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;nyzNX/elLmKptij/pO5jri0vjGFKdQ/iMmcaxVNMoHcXYHKAwXZ91FN7MSu5iqOc&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;moDnQVc2iHRQRdVNK4bT0Rtfp4CvaSQPtdZE6ECpc369d2K4jlblcMW84akKUjtP&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;A+Nlt5BEasFv44+IlMsWa7dKOvFSZN0CAwEAAaOCASwwggEoMB0GA1UdDgQWBBTw&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;isHdXiADnrSmIxV8tmr7cj5wLzAfBgNVHSMEGDAWgBS/wDDr9UMRPme6npH7/Gra&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;42sSJDBbBgNVHR8EVDBSMFCgTqBMhkpodHRwOi8vd3d3LmdzdGF0aWMuY29tL0dv&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;b2dsZUludGVybmV0QXV0aG9yaXR5L0dvb2dsZUludGVybmV0QXV0aG9yaXR5LmNy&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;bDBmBggrBgEFBQcBAQRaMFgwVgYIKwYBBQUHMAKGSmh0dHA6Ly93d3cuZ3N0YXRp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;Yy5jb20vR29vZ2xlSW50ZXJuZXRBdXRob3JpdHkvR29vZ2xlSW50ZXJuZXRBdXRo&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;b3JpdHkuY3J0MCEGCSsGAQQBgjcUAgQUHhIAVwBlAGIAUwBlAHIAdgBlAHIwDQYJ&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;KoZIhvcNAQEFBQADgYEACr0GdO989vBLvdZVHEPN6eNMTjTpDifg3m0wJGLH3nWH&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;jhiN8akr7q6MyzJxU8RBrcsKrqI631zmKd8tp2e8wRdtnqxkG7EJ1UxIcez6ZQx0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;5IN48+ygwLaOSll0qK1Z6qThTqwCTgq5LlHyd0kihfos5m537daAOp6o9zGNc9Y=&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;-----END CERTIFICATE-----&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;issuer=/C=US/O=Google Inc/CN=Google Internet Authority&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;---&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;No client certificate CA names sent&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;---&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;SSL handshake has read 1915 bytes and written 353 bytes&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;---&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;New, TLSv1/SSLv3, Cipher is RC4-MD5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;Server public key is 1024 bit&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;Compression: NONE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;Expansion: NONE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;SSL-Session:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Protocol  : TLSv1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Cipher    : RC4-MD5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Session-ID: 5DEDE00746F38BF291827E3755F2C26022F0F0DDE976BC1F74E4635AC9866E28&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Session-ID-ctx: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Master-Key: 9C80B5DEE18ACCE28FEB3197B885B8C8FEC3B577462DFFF31DBD5472F23F16E2F5CD41392DD78851A5D0A3C9031F5B00&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Key-Arg   : None&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Start Time: 1250808647&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Timeout   : 300 (sec)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Verify return code: 20 (unable to get local issuer certificate)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;---&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;250 PIPELINING&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;^C&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;If we save this output to a file called 'stuff' and read that using another openssl command, we can get more information about dates, issuers, etc:-&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;# openssl s_client -connect smtp.gmail.com:587 -starttls smtp &amp;gt;stuff 2&amp;gt;&amp;amp;1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;b&gt;# openssl x509 -text -in stuff&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;Certificate:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Data:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        Version: 3 (0x2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        Serial Number:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            62:0d:51:69:00:03:00:00:09:e9&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        Signature Algorithm: sha1WithRSAEncryption&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        Issuer: C=US, O=Google Inc, CN=Google Internet Authority&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        Validity&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            Not Before: Jul 17 17:17:35 2009 GMT&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            Not After : Jul 17 17:27:35 2010 GMT&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        Subject: C=US, ST=California, L=Mountain View, O=Google Inc, CN=smtp.gmail.com&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        Subject Public Key Info:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            Public Key Algorithm: rsaEncryption&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            RSA Public Key: (1024 bit)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                Modulus (1024 bit):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                    00:c9:f5:07:08:83:44:1c:18:f4:9f:2c:cd:5f:f7:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                    a5:2e:62:a9:b6:28:ff:a4:ee:63:ae:2d:2f:8c:61:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                    4a:75:0f:e2:32:67:1a:c5:53:4c:a0:77:17:60:72:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                    80:c1:76:7d:d4:53:7b:31:2b:b9:8a:a3:9c:9a:80:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                    e7:41:57:36:88:74:50:45:d5:4d:2b:86:d3:d1:1b:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                    5f:a7:80:af:69:24:0f:b5:d6:44:e8:40:a9:73:7e:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                    bd:77:62:b8:8e:56:e5:70:c5:bc:e1:a9:0a:52:3b:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                    4f:03:e3:65:b7:90:44:6a:c1:6f:e3:8f:88:94:cb:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                    16:6b:b7:4a:3a:f1:52:64:dd&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                Exponent: 65537 (0x10001)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        X509v3 extensions:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            X509v3 Subject Key Identifier: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                F0:8A:C1:DD:5E:20:03:9E:B4:A6:23:15:7C:B6:6A:FB:72:3E:70:2F&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            X509v3 Authority Key Identifier: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                keyid:BF:C0:30:EB:F5:43:11:3E:67:BA:9E:91:FB:FC:6A:DA:E3:6B:12:24&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            X509v3 CRL Distribution Points: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                URI:http://www.gstatic.com/GoogleInternetAuthority/GoogleInternetAuthority.crl&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            Authority Information Access: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                CA Issuers - URI:http://www.gstatic.com/GoogleInternetAuthority/GoogleInternetAuthority.crt&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;            1.3.6.1.4.1.311.20.2: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;                ...W.e.b.S.e.r.v.e.r&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;    Signature Algorithm: sha1WithRSAEncryption&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        0a:bd:06:74:ef:7c:f6:f0:4b:bd:d6:55:1c:43:cd:e9:e3:4c:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        4e:34:e9:0e:27:e0:de:6d:30:24:62:c7:de:75:87:8e:18:8d:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        f1:a9:2b:ee:ae:8c:cb:32:71:53:c4:41:ad:cb:0a:ae:a2:3a:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        df:5c:e6:29:df:2d:a7:67:bc:c1:17:6d:9e:ac:64:1b:b1:09:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        d5:4c:48:71:ec:fa:65:0c:74:e4:83:78:f3:ec:a0:c0:b6:8e:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        4a:59:74:a8:ad:59:ea:a4:e1:4e:ac:02:4e:0a:b9:2e:51:f2:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        77:49:22:85:fa:2c:e6:6e:77:ed:d6:80:3a:9e:a8:f7:31:8d:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;        73:d6&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;-----BEGIN CERTIFICATE-----&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;MIIDWzCCAsSgAwIBAgIKYg1RaQADAAAJ6TANBgkqhkiG9w0BAQUFADBGMQswCQYD&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;dGVybmV0IEF1dGhvcml0eTAeFw0wOTA3MTcxNzE3MzVaFw0xMDA3MTcxNzI3MzVa&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;MGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;b3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcwFQYDVQQDEw5zbXRw&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;LmdtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyfUHCINEHBj0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;nyzNX/elLmKptij/pO5jri0vjGFKdQ/iMmcaxVNMoHcXYHKAwXZ91FN7MSu5iqOc&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;moDnQVc2iHRQRdVNK4bT0Rtfp4CvaSQPtdZE6ECpc369d2K4jlblcMW84akKUjtP&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;A+Nlt5BEasFv44+IlMsWa7dKOvFSZN0CAwEAAaOCASwwggEoMB0GA1UdDgQWBBTw&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;isHdXiADnrSmIxV8tmr7cj5wLzAfBgNVHSMEGDAWgBS/wDDr9UMRPme6npH7/Gra&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;42sSJDBbBgNVHR8EVDBSMFCgTqBMhkpodHRwOi8vd3d3LmdzdGF0aWMuY29tL0dv&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;b2dsZUludGVybmV0QXV0aG9yaXR5L0dvb2dsZUludGVybmV0QXV0aG9yaXR5LmNy&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;bDBmBggrBgEFBQcBAQRaMFgwVgYIKwYBBQUHMAKGSmh0dHA6Ly93d3cuZ3N0YXRp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;Yy5jb20vR29vZ2xlSW50ZXJuZXRBdXRob3JpdHkvR29vZ2xlSW50ZXJuZXRBdXRo&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;b3JpdHkuY3J0MCEGCSsGAQQBgjcUAgQUHhIAVwBlAGIAUwBlAHIAdgBlAHIwDQYJ&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;KoZIhvcNAQEFBQADgYEACr0GdO989vBLvdZVHEPN6eNMTjTpDifg3m0wJGLH3nWH&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;jhiN8akr7q6MyzJxU8RBrcsKrqI631zmKd8tp2e8wRdtnqxkG7EJ1UxIcez6ZQx0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;5IN48+ygwLaOSll0qK1Z6qThTqwCTgq5LlHyd0kihfos5m537daAOp6o9zGNc9Y=&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;-----END CERTIFICATE-----&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;OK so the SSL certificate itself is only valid for a year, but if I could persuade Stunnel to trust Equifax and Google, hopefully it should all be OK.  Equifax's root cert can be found on the web, and there's a link to Google's root cert in the X509 data shown in the output of the previous command.  Putting it all together:-&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;# wget http://www.gstatic.com/GoogleInternetAuthority/GoogleInternetAuthority.crt&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial,serif;"&gt;# wget https://www.geotrust.com/resources/root_certificates/certificates/Equifax_Secure_Certificate_Authority.cer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial,serif;"&gt;# cat GoogleInternetAuthority.crt Equifax_Secure_Certificate_Authority.cer &amp;gt; Certs.cer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;So the file &lt;b&gt;Certs.cer&lt;/b&gt; can be referenced from the STUNNEL config file like so:-&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;CAfile = Certs.cer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;verify = 2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;This initially appeared to have fixed the problem - but then I realised that the equivalent IMAPS proxy was still working, without a similar change being made.  I then became suspicious, and so backed out the change to my SMTPS proxy (restoring &lt;span style="white-space: pre;"&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;CAfile = Equifax_Secure_Certificate_Authority.pem &lt;span style="font-family: Georgia,serif;"&gt;in the Stunnel config file) and the service continued to work.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: Georgia,serif;"&gt;So I start to think the most likely explanation is that GMail re-generated their certificate while I was dicking around at my end, but I'm not entirely convinced.  I was working through midnight, so maybe that had something to do with it.  If anyone can shed any more light on this, I'd like to know!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the longer term, it might be better if FreeBSD just knew about the normal root CA's, but I can't see how to set that up.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-6845509794333658089?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/6845509794333658089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/08/gmails-ssl-certificate-broken-again.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6845509794333658089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6845509794333658089'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/08/gmails-ssl-certificate-broken-again.html' title='GMail&apos;s SSL Certificate Updated: Fixing STUNNEL'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-2692206650572647188</id><published>2009-08-15T19:40:00.008+01:00</published><updated>2009-09-27T14:02:26.934+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Garmin GPSmap 60CSx Mac MicroSD MicroSDHC'/><title type='text'>Garmin GPSmap 60CSx -update</title><content type='html'>I've now had the opportunity to leave the GPS logging on a long car journey.   Very impressive...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Despite being on the floor of the car, the logging was highly accurate (as shown by copying off the .GPX file and loading it into Google Earth).  It even shows which side of the road I was driving on.&lt;br /&gt;&lt;br /&gt;I've also installed an 8 GB microSDHC card, despite claims on Garmin's website that high capacity cards don't work.  This allows the entire Garmin TOPO Great Britain v2 DVD mapping to be loaded onto the device at once (1.7 GB) whilst still leaving an enormous amount of free space for track logs or foreign maps.&lt;br /&gt;&lt;br /&gt;For reference, the microSDHC card I used was the Kingston Class 4 microSDHC 8GB card, part number SDC4/8GB.    I also tested the equivalent 4GB card, Kingston SDC4/4GB.   4 GB is perfectly adequate for the UK mapping, but the cards are so cheap that you might as well go for 8 GB just in case.&lt;br /&gt;&lt;br /&gt;A nice feature of the GPS 60csx is that you can tell it to save a continuous tracklog to the microSD card.  You can tell it how often to record a track point (by time, by distance moved, or Auto).   This creates a GPX file named with today's date (example: "2009_08_15.GPX") which can be copied to a Mac or a PC via the USB cable.   Google Earth can read this file format directly, or you can squirt it into GPSVisualizer.com if you prefer to see it in Google Maps.  Quick and easy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-2692206650572647188?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/2692206650572647188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/08/garmin-gpsmap-60csx-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2692206650572647188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/2692206650572647188'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/08/garmin-gpsmap-60csx-update.html' title='Garmin GPSmap 60CSx -update'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5181693558460598664</id><published>2009-08-08T19:59:00.007+01:00</published><updated>2009-09-27T14:03:00.029+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Garmin GPSmap 60CSx eTrex Mac'/><title type='text'>Garmin GPSmap 60CSx - first impressions</title><content type='html'>Just got one of these handheld GPS units for hiking and cycling.  First impressions excellent...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Whereas my old Garmin eTrex Vista unit was slow to acquire satellites, and really struggled anywhere but a flat open field, the new 60CSx acquires in a second or two even indoors.  The receiver in the 60CSx certainly seems very sensitive, helped nodoubt by having a proper antenna on the top of the unit.&lt;br /&gt;&lt;br /&gt;Right now it's showing 7 metre accuracy sitting on my desk in the house with no direct line of sight to the window.  Possibly helped slightly by the receiving off-air WAAS/EGNOS correction data - you have to turn this on in the System menu, then you get 'D' in the satellite strength bars when correction data is being received. This feature was also offered on the eTrex but it never worked for me.&lt;br /&gt;&lt;br /&gt;The eTrex unit was too inaccurate for surveying MTBO checkpoints in woodland, but hopefully the 60CSx will be more capable.  The bicycle mount kit looks reasonable.&lt;br /&gt;&lt;br /&gt;The 60CSx has proper buttons for menu navigation, instead of the appallingly slow cursor-based GUI system used on the eTrex.  So the 60CSx looks better all round so far.&lt;br /&gt;&lt;br /&gt;The software support looks better than average.  The icing on the cake is that most of the software is Mac compatible, so (particularly if you've bought the Topo maps, which include the Garmin BaseCamp software) there's no need to use Windows.  You can upload and download waypoints etc, and you can export your GPS logs as GPX or KMZ (Google Earth).  The most flexible format is probably GPX. From a GPX file, you can use http://www.GpsVisualizer.com to convert to various formats including Google Maps.  You can also feed GPX files into GpsBabel+ if you want to do your conversions on your own machine.   Google Earth can read GPX directly too.&lt;br /&gt;&lt;br /&gt;The 60CSx unit has a coarse base map, but you can also buy a detailed Topographical map on DVD - either for UK regions or for the whole UK.  You then have to load it onto the GPS using the software provided.  The GPS comes with a 256 MByte MicroSD flash card, but it looks as though it will take a 4 GB card for less than ten quid, which should be able to accommodate all the UK map tiles at once (as well as still having enough memory for a long continuous tracklog).&lt;br /&gt;&lt;br /&gt;I remain undecided as to whether a map is really much use on a handheld, as the screen is quite small, and you don't use handhelds in the same way as in-car satnav devices.  But I guess it would be useful if you'd gone to the trouble of setting up lots of waypoints before your trip, and moreover the Topo map can also be used on the PC or Mac for route planning.&lt;br /&gt;&lt;br /&gt;Having installed the UK Topo DVD onto the Mac, the supplied software (Garmin BaseCamp) lets you view the map tiles in 2D and 3D modes.  Sadly 2D mode has almost no detail (A roads only) while 3D mode doesn't occupy much of a 24" iMac screen - probably due to usage restrictions on the OS map data.   This would be quite a crippling feature if you wanted to use the software for route planning: quite annoying to have to export to Google Maps or Google Earth just to see the whole route with adequate detail.  I really wish the OS map data came with fewer restrictions: I feel like I've paid for it many times over now - in taxes, map purchases, Tracklogs and now the Garmin TOPO disc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5181693558460598664?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5181693558460598664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/08/garmin-gpsmap-60csx-first-impressions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5181693558460598664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5181693558460598664'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/08/garmin-gpsmap-60csx-first-impressions.html' title='Garmin GPSmap 60CSx - first impressions'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-6907797133211776572</id><published>2009-08-04T07:15:00.018+01:00</published><updated>2009-09-27T14:29:39.476+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EZMLM'/><title type='text'>EZMLM Log File Viewer</title><content type='html'>DJB's EZMLM mailing list software keeps a log showing subscriber additions and deletions, but the date and time are in a non-human-readable format. &amp;nbsp;Here's a script to view those logs...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;A while back, I found a Perl script somewhere to display the log properly.  Now I've tweaked it slightly so that the output includes any extra info passed to "ezmlm-sub -n" when the subscriber was added.  I can't find the original source now, but here's my changed version.&lt;br /&gt;&lt;/div&gt;&lt;code&gt;&lt;pre&gt;cat /usr/local/sbin/ezmlm-logview.pl&lt;br /&gt;#!/usr/bin/perl -w&lt;br /&gt;use strict;&lt;br /&gt;if ($#ARGV != 0) {&lt;br /&gt; print "usage: ezmlm-logview /home/owner/listdir \n";&lt;br /&gt; exit;&lt;br /&gt;}&lt;br /&gt;my $log = "$ARGV[0]/Log";&lt;br /&gt;open LOG, "&lt;$log" or die "$log: open: $!\n";&lt;br /&gt;my @F;&lt;br /&gt;while (&lt;log&gt;) {&lt;br /&gt; @F = split;&lt;br /&gt; print scalar(localtime $F[0]);&lt;br /&gt;&lt;br /&gt; for (my $count=1; $count &lt;= scalar(@F)-1; $count++)&lt;br /&gt; {&lt;br /&gt;  my $field = $F[$count];&lt;br /&gt;  print "$field ";&lt;br /&gt; }&lt;br /&gt; print "\n";&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-6907797133211776572?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/6907797133211776572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/08/ezmlm-log-file-viewer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6907797133211776572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/6907797133211776572'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/08/ezmlm-log-file-viewer.html' title='EZMLM Log File Viewer'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5288705740561224115</id><published>2009-07-07T20:36:00.006+01:00</published><updated>2009-09-27T14:45:31.931+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MacBook Leopard Wi-Fi problems'/><title type='text'>Leopard 10.5.7: MacBook WiFi connects, then drops</title><content type='html'>My old MacBook's built-in Wi-Fi was rock-solid until recently, but just lately it had problems. Disabling&amp;nbsp;RealPlayer Downloader Agent seemed to fix this....&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;The old late-Tiger, early-Leopard problem of not reconnecting after sleep was fixed in an Apple software update around six months ago.&lt;br /&gt;&lt;br /&gt;But just now, after booting from cold, the Wi-Fi kept briefly connecting to my access point (a Cisco 877W ADSL router), then dropping off again - and showing all my neighbours (non-clashing) access points but not mine.&lt;br /&gt;&lt;br /&gt;Looking at /var/log/system.log I noticed that each time the Airport en1 interface came up, RealPlayer Downloader Agent started doing things:-&lt;br /&gt;&lt;pre&gt;Jul  7 20:17:37 guest43 RealPlayer Downloader Agent[161]: System Configuration Callback!&lt;br /&gt;Jul  7 20:17:37 guest43 RealPlayer Downloader Agent[161]: changed keys (\n    "State:/Network/Interface/en1/IPv4"\n)&lt;br /&gt;Jul  7 20:17:37 guest43 RealPlayer Downloader Agent[161]: changed dict {\n}&lt;br /&gt;&lt;/pre&gt;So I killed the RealPlayer processes:-&lt;br /&gt;&lt;pre&gt;bash-3.2# ps -ax | grep Real&lt;br /&gt;161 ??         0:01.86 /Users/martinjohnson/Library/Application Support/RealNetworks/RealPlayer Downloader Agent.app/Contents/MacOS/RealPlayer Downloader Agent -psn_0_77843&lt;br /&gt;219 ??         0:00.62 /Users/martinjohnson/Library/Application Support/RealNetworks/RPDLAgentHelperD all&lt;br /&gt;249 ttys000    0:00.00 grep Real&lt;br /&gt;bash-3.2# kill -9 219 161&lt;br /&gt;bash-3.2# ps -ax | grep Real&lt;br /&gt;251 ttys000    0:00.00 grep Real&lt;br /&gt;bash-3.2# &lt;/pre&gt;And now the Wi-Fi link comes up and stays up.  Maybe it's just coincidence, but to try to make this change permanent, I've been into System Preferences / Accounts / Login Items and removed Real Player.  It was always annoying anyway!  To be fair to Real Networks, it should not be possible for an application issue to make the Wi-Fi drop out: this has the feel of a race condition in the kernel - maybe caused by the Real application firing off a pointless burst of traffic each time the link comes up - but what do I know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5288705740561224115?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5288705740561224115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/07/leopard-1057-macbook-connects-to-wifi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5288705740561224115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5288705740561224115'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/07/leopard-1057-macbook-connects-to-wifi.html' title='Leopard 10.5.7: MacBook WiFi connects, then drops'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-3431415335673507390</id><published>2009-07-07T20:28:00.004+01:00</published><updated>2009-08-21T00:57:02.403+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone youtube'/><title type='text'>iPhone: Fix for "Can't Connect To YouTube"</title><content type='html'>I saw this error on an unlocked &amp;amp; jailbroken iPhone 2G running the iPhone 3.0 software. Setting the date and time correctly fixed it.  Seems like poor design though: why should the YouTube app need to know what time it is?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-3431415335673507390?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/3431415335673507390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/07/iphone-cant-connect-to-youtube.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/3431415335673507390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/3431415335673507390'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/07/iphone-cant-connect-to-youtube.html' title='iPhone: Fix for &quot;Can&apos;t Connect To YouTube&quot;'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-8832579723700487590</id><published>2009-05-20T11:00:00.007+01:00</published><updated>2009-09-27T14:42:35.966+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C400 X Jaunty Ubuntu'/><title type='text'>Linux on Dell C400 laptop: Ubuntu Jaunty Jackalope</title><content type='html'>Ubuntu Linux just gets better and better, and the new Jaunty release is no exception.  Very easy to use, and to add and remove software packages, keep up with the security updates, etc. &amp;nbsp;It doesn't need shiny new hardware: it will run quite happily on old slow laptops....&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;I have a couple of old Dell Latitude C400 laptops - very small, not quick (from the Pentium 3 era) but perfectly usable given enough RAM.  These runs Jaunty very nicely, however there is an issue with the X Windows display fonts becoming corrupted, because the Jaunty installer doesn't quite guess the settings correctly for the C400.  To fix this, you can copy the following file into /etc/X11/xorg.conf:-&lt;br /&gt;&lt;pre&gt;Section "Device"&lt;br /&gt;Identifier      "Configured Video Device"&lt;br /&gt;Driver "intel"&lt;br /&gt;Option "AccelMethod" "exa"&lt;br /&gt;Option "MigrationHeuristic" "greedy"&lt;br /&gt;Option "ExaNoComposite" "false"&lt;br /&gt;Option "DRI" "false"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Extensions"&lt;br /&gt;Option "Composite" "disabled"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;Identifier      "Configured Monitor"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;Identifier      "Default Screen"&lt;br /&gt;Monitor         "Configured Monitor"&lt;br /&gt;Device          "Configured Video Device"&lt;br /&gt;EndSection&lt;br /&gt;&lt;/pre&gt;[26th May: Tweaked this a bit (added DRI and Composite lines).  Fonts were fine, but occasionally the machine would lock up. Repeated on 3 different C400 machines.]&lt;br /&gt;&lt;br /&gt;Another thing worth noting, is that Ubuntu Linux offers full-disk encryption right out of the box.  But to get it, you need to download the Alternate Installer CD image rather than the default one.  Then just select "Encrypted LVM" when the installer gets to the disk partitioning stage.&lt;br /&gt;&lt;br /&gt;Hopefully the next Ubuntu will offer full-disk-crypto on the default installation CD, to encourage users to encrypt their disks.  That way, if someone steals my laptop, it's only money I've lost; and if someone borrows my laptop without permission, it's pretty hard for them to drop a keylogger on it without modifying the hardware.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-8832579723700487590?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/8832579723700487590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/05/linux-on-dell-c400-laptop-ubuntu-jaunty.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8832579723700487590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/8832579723700487590'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/05/linux-on-dell-c400-laptop-ubuntu-jaunty.html' title='Linux on Dell C400 laptop: Ubuntu Jaunty Jackalope'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-5197767159681259606</id><published>2009-02-01T20:29:00.018Z</published><updated>2009-09-27T15:20:06.213+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hotels'/><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>View from the hotel room</title><content type='html'>I'm on the road a lot for work, so I get to stay in hotels that can be a bit lacking in charm...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Hangar Lane Gyratory System, May 2008:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5297948095791243394" src="http://2.bp.blogspot.com/_T4qEziEah-Q/SYYXuTAYIII/AAAAAAAAAB8/NAMie2DgLT0/s320/noname.jpg" style="cursor: hand; cursor: pointer; height: 240px; width: 320px;" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div both=""&gt;Heathrow, December 2008:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5297938945376241378" src="http://2.bp.blogspot.com/_T4qEziEah-Q/SYYPZrDbxuI/AAAAAAAAABU/2oVpYp5pp1g/s320/photo.jpg" style="cursor: hand; cursor: pointer; height: 240px; width: 320px;" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div both=""&gt;Portsmouth, January 2009:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5297940327801097298" src="http://2.bp.blogspot.com/_T4qEziEah-Q/SYYQqI_NDFI/AAAAAAAAABc/9HA5wXD8kSU/s320/photo.jpg" style="cursor: hand; cursor: pointer; height: 236px; width: 320px;" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Changing the subject... &amp;nbsp;Seen in Uxbridge, an NHS policy change is revealed:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5297941546292342290" src="http://2.bp.blogspot.com/_T4qEziEah-Q/SYYRxEOJ7hI/AAAAAAAAABk/e2gHvUnHGMY/s320/IMG_0053.JPG" style="cursor: hand; cursor: pointer; height: 240px; width: 320px;" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-5197767159681259606?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/5197767159681259606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/02/view-from-my-hotel-room-window.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5197767159681259606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/5197767159681259606'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/02/view-from-my-hotel-room-window.html' title='View from the hotel room'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_T4qEziEah-Q/SYYXuTAYIII/AAAAAAAAAB8/NAMie2DgLT0/s72-c/noname.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1299820040181797045.post-4715654903527940077</id><published>2009-02-01T19:54:00.001Z</published><updated>2009-02-01T20:14:18.424Z</updated><title type='text'>First Post</title><content type='html'>I'm new to blogging, so I'm not sure how much I'll use this.   But I felt I ought to write stuff down somewhere.  The kind of stuff that doesn't feel worth the effort of creating a web page, but might be useful to aid my memory later, or to help others find technical notes on things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1299820040181797045-4715654903527940077?l=blog.martinshouse.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.martinshouse.com/feeds/4715654903527940077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.martinshouse.com/2009/02/first-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4715654903527940077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1299820040181797045/posts/default/4715654903527940077'/><link rel='alternate' type='text/html' href='http://blog.martinshouse.com/2009/02/first-post.html' title='First Post'/><author><name>Martin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
