diff --git a/blog/2014-10-28_XS4All_and_PFSense.txt b/blog/2014-10-28_XS4All_and_PFSense.txt
new file mode 100644
index 0000000..b6f0c86
--- /dev/null
+++ b/blog/2014-10-28_XS4All_and_PFSense.txt
@@ -0,0 +1,136 @@
+XS4All and PFSense
+
+This part is in dutch because XS4All is a dutch internet provider and it's not
+really intresting for people without a XS4All connection.
+
+Ik ga er vanuit dat de mensen die dit lezen enig idee hebben van netwerken en
+eventueel PFSense. Uitleggen hoe bijvoorbeeld IPV6 in elkaar zit lijkt me niet
+echt nuttig en buiten de scoop van dit verhaal.
+
+Het idee
+Het idee was het volgende. We plaatsen de router van XS4All, een Fritzbox 7360
+in bridgemode. Daarachter draaien we een PFSense systeem welke dan mijn
+core-router zou gaan worden. Dus:
+
+ _ +---------+
+ __( )_ +---------+ +---------+ +---------+ |
+ _( )_ | | | | | | |
+ ( Internet )--->| Fritzbox|--->| PFSense |--->| PC's | |
+ (____________) | modem | | router | | |-+
+ +---------+ +---------+ +---------+
+
+De modem
+De Fritzbox kun je aanpassen via de telnet interface. Zorg ervoor dat de modem
+gewoon normaal werkt. Als er hier al problemen zijn met je internet, gaat de
+rest al helemaal niet werken.
+
+1) Sluit een analoge telefoon aan op je fritzbox. Bel het nummer #96*7*
+ Dit kun je ook doen door een nieuwe siptelefoon aan te sluiten in de
+ webinterface en via de click-to-dail dit nummer laten bellen.
+ Er is ook een URL welke hetzelfde zou moeten doen, echter die heb ik niet
+ terug kunnen vinden.
+ Deze actie zal de telnet interface enabelen.
+
+2) Telnet naar de fritzbox en pas het bestandje /var/flash/debug.cfg aan.
+
+ telnet 192.168.178.1
+ --> inloggen met je admin wachtwoord
+ cd /var/flash/
+ echo > debug.cfg
+ nvi debug.cfg
+ --> en vul dit met onderstaande. nvi is bijna hetzelfde als vim
+ sleep 120
+ killall dsld telefon voipd pbd
+ sleep 10
+ brctl addif lan ptm_vr9
+ ifconfig ptm_vr9 up
+
+3) Reboot de router. Je kunt bovenstaande ook met de hand uitvoeren. Het effect
+ is hetzelfde.
+
+De router op IPV4
+Ik neem aan dat niemand problemen heeft met het installeren van een pfsense
+router.
+
+1) We maken voor de WAN interface eerst een nieuw VLAN aan op VLAN 6. Deze
+ nieuwe interface hangen we aan de WAN. (interfaces -> assign)
+
+2) Deze WAN interface zetten we voor IPV4 op PPPOE. Hiervoor kan je alles
+ invullen als username/wachtwoord, als er maar iets staat.
+
+3) Reboot en je IPV4 XS4All netwerk werkt. Dit kun je zien bij
+ Diagnostics -> interfaces. Je zult hier 2 adressen te zien krijgen. Je eigen
+ en een extra helper adres van de pppoe verbinding.
+
+4) Stel je router verder in zoals je wilt qua routering en firewalling.
+
+De router op IPV6
+Tot zo ver ging alles naar wens. Internet werkte prima en ook mijn ipsec tunnels
+waren geen enkel probleem om in te stellen. Echter ik heb redelijk veel werken
+met IPV6, en dat wilde ik dus ook op mijn PFSense doosje. Hier begon de elende.
+Ik had dit aan kunnen zien komen aangezien als je googled naar
+'pfsense xs4all ipv6', dan zijn de eerste twee meldingen links naar het
+bug-systeem van PFSense...
+
+1) Eerst de internetkant van de router instellen. Het idee is dat je een DHCP-PD
+ doet over de PPPOE lijn heen en XS4All hierdoor weet waar het verkeer naartoe
+ moet. Dus dit kunnen we instellen bij de WAN interface. FOUT. In vorige
+ versies van PFSense bestond DHCP-PD wel, echter tegenwoordig niet meer. Das
+ jammer aangezien XS4All dit wel vereist. Een gewoon DHCP6 request is niet
+ genoeg. (https://redmine.pfsense.org/issues/3097
+
+2) Gelukkig is er dus een BUG request welke op solved staat. Dus we upgraden de
+ PFSense doos van stable naar development in de waan dat daar deze patch
+ ondertussen in zit. Helaas bleek dit niet het geval. Wel konden we hierin wel
+ een eigen DHCP6c configfile opgeven. Dus in /root/dhcp6c_xs4all.conf de volgende
+ configuratie gezet:
+
+ interface pppoe0 {
+ send ia-pd 0;
+ send rapid-commit;
+ request domain-name-servers;
+ request domain-name;
+ script "/var/etc/dhcp6c_wan_script.sh";
+ };
+ id-assoc pd 0 {
+ };
+
+3) Dit is echter maar 1 deel van het verhaal. Het blijkt dat het proces dat de
+ DHCP6c moet aansturen nu niet meer gestart word. Dit moeten we dus ook met de
+ hand regelen. Hiervoor heb ik een scriptje gemaakt dat onderstaande uitvoert.
+ Dat scriptje kan je vervolgens in je config.xml zetten als startup script.
+
+ #!/bin/sh
+
+ sleep 120 # Eerst alles laten opkomen
+ killall -9 dhcp6c # Mocht er nog iets draaien, dan draait het nu niet meer.
+ sleep 10
+ /usr/local/sbin/dhcp6c -c /var/etc/dhcp6c_wan.conf -p /var/run/dhcp6c_pppoe0.pid pppoe0 &
+
+4) Dit werkte! We hebben een IPV6 adres en nadat we IPV6 aan de LAN kant hadden
+ geconfigureerd in het goede subnet en de rtadvd, ofwel de router advertisment
+ aan hadden gezet kreeg iedereen een IPV6 adres en konden we over IPV6 werken!
+
+5) Echter wat bleek, sommige adressen waren gewoonweg niet meer te benaderen.
+ Facebook werkte niet meer. Youtube en google wel. Ik kreeg heel vreemd gedrag
+ met netwerkverbindingen op IPV6. Met IPV4 was niets aan de hand. Eerst
+ handmatig de MTU size op de router naar 1492 gezet (wat zowieso een goed idee
+ is) maar de problemen bleven. Pas nadat ik mijn MTU size van mijn computer
+ ook naar 1492 had gezet, was het enigsinds werkbaar, maar nog niet geweldig.
+
+ Blijkbaar is er ergens in het verhaal de path MTU discovery stuk gegaan,
+ aangezien dit niet meer werkte. In tegenstelling tot een IPV4 router, waar
+ een pakket word opgeknipt als het te groot is, stuurt een IPV6 router een
+ ICMPv6 type 2 pakket terug zodat de computer weet dat er een lagere MTU size
+ gekozen moet worden. Dit is mooi te zien met het commando 'tracepath6'. Elke
+ IPV6 stack zou een path discovery moeten doen om de MTU size te bepalen,
+ echter dit werkte dus niet meer. Geen idee hoe dit te fixen is.
+
+Ondertussen was ik het redelijk zat en had het redelijk gehad met PFSense. Nu
+heb ik m0n0wall erop draaien en die kent wel DHCP-PD. Dit werkte redelijk snel
+als een zonnetje. De mogelijkheden hiermee zijn wel minder, maar het werkt
+prima en stabiel nu. Later nog maar eens kijken of PFSense en XS4All samen
+kunnen komen.
+
+Met dank aan:
+gjppp