Hi,

I have to prepare an investigation on IPSec High Availability as an
assignment at my College.
After investigating various possibilities ranging between implementations of
VRRP, HSRP and CARP (+ I took a look at Linux-HA too), I set up a test
environment using pfSense and CARP. Following is a schematic overview of the
net config I'm using (best viewed with fixed size fonts):
----
                                Internet
                                    |
                                    |
                   WAN virtual IP: 192.168.201.250
                                    |
                             192.168.201.0/24
                                    |
 +- x.x.x.251 ----------------------+-------------------- x.x.x.252 -+
 |                                                                   |
 |                                                                   |
pfSense-1 -- x.x.x.251 ------ 10.250.250.0/24 ----- x.x.x.252 -- pfSense-2
 |                                                                   |
 |                                                                   |
 +- x.x.x.251 ----------------------+-------------------- x.x.x.252 -+
                                    |
                              192.168.30.0/24
                                    |
                   LAN virtual IP: 192.168.30.250

----

I tested the above configuration both with the pfSense v1.2.1 and Aug 26th
alpha snapshot.
Of course I unchecked the 'filter out private networks' checkbox on the WAN
interface.

I'm using the Shrew Soft Windows VPN client for testing on Windows XP sp2.


Following are the findings using pfSense v1.2.1

   - The WAN and IPSec fail over seems to work pfSense transits from CARP
   Backup to CARP Active after pfSense-1 is turned off;
   - I'm able to connect to the pfSense* VPN using any of the WAN IPs;
   however, the trafic passes the VPN tunnel ONLY if I connect using the real
   IP-s (192.168.201.251 and 192.168.201.252), whiles when connection to the
   virtual one (192.168.201.250) all pings to 192.168.30.250, 192.168.30.251and
   192.168.30.252 are failing. The packed tracking at pfSense-1 of a
   connection to the virtual IP shows ping Echo Req. are coming in, but there
   is no reply.
   - An additional note is I was unable to get the DHCP fail over working,
   but this isn't critical to my tests.
   - BTW: I didn't set any MAC address manually. I realized the virtual IP-s
   are supposed to use MAC from the 00-00-5e-00-01-XX scope; however, I didn't
   see this. The 'arp -a' executed on Windows showed the pfSense interfaces use
   the MAC address bb-bb-bb-bb-bb-00 (both the real and the virtual one).


Using the last alpha snapshot I first bumped in a bug when trying to
configure the WAN interface IP-s. I workaround it by modifying the
interfaces_wan.php script which overides the $if variable after calling an
include.

I was unable to connect to the VPN using the last pfSense alpha. After few
hours of testing I gave up.


I would appreciate hints how to get the demo working :)

Additionally any hint on following topics will be welcome too:

   - I'm wondering if a TCP connection over VPN to IPSec-HA gateway would
   survive a fail over? Let say I have a SSH connection open + I'm copying a
   file from an IntrAnet server to my Windows machine using CIFS (Windows
   sharing). At this point the pfSense-1 is turned off (please correct me) -
   the IPSec connection will be reestablished meaning the VPN tunnel will be
   turned off and on again (well ... this is my understanding of data
   encryption - I guess the current encrypted data isn't synced between the HA
   nodes and so the encryption can't continue). If the VPN tunnel
   reestablishment will NOT bring down the Windows network interface, the
   copying and SSH session will just continue after the IPSec Phase-2 will be
   reestablished (guess Phase-1 don't need to be reestablished).
   - Doesn't AH and ESP have any IP payload (their packets) flow control
   built in like TCP has? << I'm wondering how the IPSec-HA takes care of just
   continuing the IPSec session if e.g. a sequence number is embedded into the
   AH / ESP packets?


Thanks,
Damir Dezeljin

Reply via email to