Hello, welcome to my page detailing the process of getting experimental IPv6 support in pfSense 2.1-DEVELOPMENT working.

I now have images with IPv6 support here

IPv6 support is currently not available in pfSense 2.0, it is on the roadmap for 2.1. The code I'm detailing below is BETA quality software, it is not finished. If you don't mind that and want some ipv6 support this is for you.
You can however install pfSense 2.0 and then gitsync the experimental pfSense 2.1 branch to the firewall install. You can also find more information in the pfSense forum specific to the IPv6 support at http://forum.pfsense.org/index.php/board,52.0.html

Install your pfSense 2.0 first, then make sure that all ipv4 connectivity works. You can launch option 12 from the shell menu (also available via ssh), and enter "playback gitsync".
When gitsync starts you can enter the alternate git repository url "git://github.com/bsdperimeter/pfsense.git". The branch will be "master" or just press enter. You then got the prompt back and need to press enter twice.

See the git repository here: git://github.com/bsdperimeter/pfsense.git.
This will take a bit before it completes syncing, after which the ipv6 support should show up in the web ui. After gitsyncing the first time you will need to reboot

You can also configure the Git repository url and branch in the firmware updater settings. This simplifies things a lot. When you upgrade to a new snapshot this will gitsync the branch over the newly uploaded snapshot so everything just works on reboot. The Git settings will only be available after manually running gitsync from the console once!

I am assuming here that you have already registered for an account with Hurricane Electric or Sixxs on http://www.tunnelbroker.net or www.sixxs.net. After registering an account and getting your first /64 IPv6 assigned you can setup the gif tunnel on the pfSense side.

Don't forget that you will need to enable ICMP on the WAN interface, if you block ICMP the tunnelbroker will not allow you to setup a tunnel.

Now you can navigate to the assign gif interfaces screen on pfSense where you can enter the address information from Hurricane Electric.
* The HE or Sixxs "Server IPv4 address" goes into the "gif remote address"
* The HE or Sixxs "Client IPv6 address" goes into the "gif tunnel local address"
* The HE or Sixxs "Server IPv6 address" goes into the "gif tunnel remote address"
Enter a description and save

You can the press + on the interfaces assign screen where it will be shown as a OPT interface. I've called the OPT interface WANIPv6 for the sake of it.

I am cheating here, the screenshot below shows I've already assigned the gateway I've created before. Normally you will edit the interface first, then add the gateway, then go back to the interface page and select it.
With the OPT interface now assigned you can enable the OPT interface from the Interfaces menu and assign the IPv6 bits.
What I do here is use the HE "Client IPv6 address" as the interface IPv6 address. I use a subnet mask of 128 bits as it is a tunnel link. This prevents fe80:: link local addresses from appearing on the link.

I now add the IPv6 gateway to the routing page. This way the WANIPv6 interface will be monitored as well. Make sure to select the default gateway bit since this will most likely be your IPv6 default gateway.

It should now be listed as online

You can setup the LAN interface for a combined static ipv4 and ipv6 network.
What you need to enter on the LAN IPv6 address is a address in the "Routed /64" subnet that you got from HE.
You will need to request another /64 from Sixxs after getting your tunnel working. It is important to note that the routed /64 range is different from the tunnel /64!
I just used ::1 as that seemed the easiest by far. Anything in the routed subnet works ofcourse.

Ofcourse you want the Computers on the LAN to automatically pick up the IPv6 Address instead of assiging it manually. Go to the DHCPv6 Service page.
It has now sprouted a mode option where you can select what sort of router advertisements should be sent. Either unmanaged (advertise only), managed (dhcp6 only) or assisted (use stateless address with dhcp for the dns)

At this point your LAN client should now pick up a IPv6 Address and find the pfSense router as it is now advertising itself on the LAN.
You can check with http://test-ipv6.com if your connection is succesfully detected.

You can find more information about the IPv6 support in the pfSense forum which I've listed before at http://forum.pfsense.org/index.php/board,52.0.html