I've managed to create an OpenVPN client on pfSense that connects to XeroBank. I've also managed, at least partially, to secure the VPN connection. However, I'd appreciate criticism and suggestions.
To summarize, I'm using a pfSense 2.0-RC3 guest in VirtualBox 4.0.12 ("pfSense"). The WAN interface is NATed to the VirtualBox host, and the LAN interface is connected to a VirtualBox internal network ("pfSLAN"). Also connected to pfSLAN is an Ubuntu Maverick guest ("Ubuntu").
With ovpnc1 up, I see new "def1 type" routes, and traceroute at pfSense shell on interface ovpnc1 to internet sites shows expected routing via XeroBank's exit node. Enabling Outbound NAT for LAN to OpenVPN allows Ubuntu to access the internet via ovpnc1. Use OpenVPN to connect to vpntunnel.se (or similar) and Re: How to create an OpenVPN client to a public OpenVPN provider offered key insights, BTW.
In System: General Setup, I've specified a public DNS server (XYZ.com) and disabled "Allow DNS server list to be overridden by DHCP/PPP on WAN". I've disabled DNS Forwarder, and specified XeroBank's internal DNS servers (10.244.1.1 and 10.244.2.1) in DHCP Server on LAN. Just to be safe, I also created firewall rules to block LAN access to XYZ.com's DNS servers.
With ovpnc1 down, Ubuntu can ping nothing except pfSense. With ovpnc1 up, packet captures on WAN confirm that traffic from Ubuntu is restricted to ovpnc1. That is, the only IP addresses that I see are pfSense (10.0.2.15), its VirtualBox gateway (10.0.2.2) and XeroBank's OpenVPN server. Steve Gibson's DNS Nameserver Spoofability Test reveals that Ubuntu can access only XeroBank's internal DNS servers.