LAN TO LAN WITH 4 VPN TUNNEL (REDUNDANT)



  • HI FRIENDS, I HAVE 2 ISP FOR EACH PFSENSE AND 2 PFSENSE TO JOIN.

    MY TOPOLOGY IS:

    SUBNET 1
          |
    PFSENSE 1
    |        |
    ISP1  ISP2
    |        |
    INTERNET
    |        |
    ISP3  ISP4
    |        |
    PFSENSE 2
          |
    SUBNET 2

    I NEED CONFIGURE THIS:

    TUNNEL 1 (ISP 1 <–-> ISP 3)    TO JOIN SUBNET1 & SUBNET2
                  TUNNEL 2 (ISP 1 <---> ISP 4)    TO JOIN SUBNET1 & SUBNET2
                  TUNNEL 3 (ISP 2 <---> ISP 3)    TO JOIN SUBNET1 & SUBNET2
                  TUNNEL 4 (ISP 2 <---> ISP 4)    TO JOIN SUBNET1 & SUBNET2

    THE IDEA IS :

    IF TUNNEL 1 IS DOWN (ISP 1 OR ISP 3 CRASH) THEN REDIRECT TRAFFIC TO TUNNEL 4
                IF TUNNEL 2 IS DOWN (ISP 1 OR ISP 4 CRASH) THEN REDIRECT TRAFFIC TO TUNNEL 3
                IF TUNNEL 3 IS DOWN (ISP 2 OR ISP 3 CRASH) THEN REDIRECT TRAFFIC TO TUNNEL 2
                IF TUNNEL 4 IS DOWN (ISP 2 OR ISP 4 CRASH) THEN REDIRECT TRAFFIC TO TUNNEL 1

    THIS IS POSSIBLE??? HOW?

    TKS



  • Sorry, there is no way to make this work in this configuration that I can think of atm.



  • is this nog possible with openvpn?


  • Moderator

    That is less a problem with openvpn, the tunnels - so I'm pretty sure - could be established like that. But I think it's more a problem in the joint venture of openvpn an carp that would be necessary to do a failover for the tunnels!?



  • The problem rather is having same source and destination subnets for all tunneldefinitions which is causing a conflict. And even if implementing some logic that is reconfiguring the tunnels on failure of an ISP, how should the other end know that one ISP at the remote site has failed to switch it's tunnel definition? This only could work if the both ends are exchanging information about their WAN states. You could make it one way redundant with a carp setup at one end and the other end waitung for it to tunnel in as "mobile client". However this only would provide redundancy at one end.

    LAN
            |
      +–---+------+
      |            |    (This would need ifdepd to bring the Master down on ISP1 failure)
    pfSense      pfSense  (Master has tunnel to ISP1 at remote end)
    Master      Slave  (Slave has tunnel to ISP2 at remote end)
      |  |      |  |
      +-----------+  |
      |  |          |
      |  +----------+
      |  |         
    ISP1 ISP2
      |  |
      |  |
    (Internet)
      |  |
    ISP1 ISP2
      |  |
    pfSense (awaiting mobile clients IPSEC at ISP1 and ISP2)
        |
        |
      LAN

    (Don't blame me if this won't work, never tried such a setup yet  ;D )



  • Dear Hoba,

    Could you give the method in more detail how to make one way redundant with a carp setup?
    And I want to know how the two pfsense should be connected for carp setup. Which one is correct in below?

    LAN
            |
      +–---+-------------------+
      |                          |   
    pfSense                pfSense
    Master                  Slave 
    WAN  OPT1          WAN  OPT1
      |        |                |        |
      +---------------------+      |
      |        |                          |
      |        +--------------------+
      |        |       
    ISP1    ISP2
      |        |

    LAN
            |
      +-----+-------------------+
      |                          |   
    pfSense                pfSense
    Master                  Slave 
    WAN  OPT1          OPT1  WAN
      |        |                |        |
      +---------------------+      |
      |        |                          |
      |        +--------------------+
      |        |       
    ISP1    ISP2
      |        |

    I don't think the first one can be possible because we cannot make tunnel at OPT1 with pfsense. It means we cannot make the tunnel on ISP2.
    Pls adv how to configure the carp in detail if the second one is correct. Thank you.



  • Having IPSEC tunnels at OPT interfaces needs fixing: http://cvstrac.pfsense.com/tktview?tn=1028,6 but after that it should work.

    In case you don't want to use the both ISPs at the same time and have the second one only for failover you can set it up even easier:

    LAN
          |
      +–--+----+
      |        |
    pfSense  pfSense  (shared CARP IP as gateway at LAN and ifdepd to briong LAN down on ISP failure)
    Master    Slave    (Master has tunnel to ISP1 at remote end)
      |        |      (Slave has tunnel to ISP2 at remote end)
      |        |
    ISP1      ISP2
      |        |
      |        |
    (  Internet ) 
        |    |
        |    |
      ISP1  ISP2
        |    |
        |    |
        pfSense (waiting for mobile clients)
          |
          LAN



  • Thank you, Hoba,

    Noted now I should use two pfsense until IPsec will be available at OPT1. And I don't need two ISP at once. I need to use just one ISP on failure of another one. So your suggestion will be helpful. I think I know how to share Carp IP as gateway at LAN but I don't know how ifdepd bring LAN down on ISP failure. I don't even know what ifdepd is. Could you give me more explanation about it? Thank you.



  • It's a package. You can add dependencies between interfaces with it like "if interface wan is down then down interface lan". This is needed to make the slave machine become master while ISP1 is down at the original master.

    _ifdepd implements dependencies between network interfaces in a
    reliable way. If any of the source interfaces fails, ifdepd sets all
    destination interfaces to state down. If all source interfaces are active,
    ifdepd sets all destination interfaces to state up.

    For example, it can be used with carp(4) to provide failover functionality
    on gateways/firewalls._



  • Hi hoba is me again, tks for the info of redundant tunnel, very cool.
    I' am another problem , load balancing run ok but if disconnect wan interface or Wan ISP is down, then not ping OPT interface (internet ping), not internet access (from my lan) and not tunnel is establish for OPT.
    But if i copy the OPT gateway in the Wan gateway of the WAN interface (when wan isp is down)  all run ok.

    What's happend???

    route default is the problem or is a bug?

    Sorry but my english is bad.

    Tks for all



  • There is still an open bug for IPSECs at OPTs: http://cvstrac.pfsense.com/tktview?tn=1028,6 which needs to be fixed.



  • Dear Hoba,

    I tested ifdepd yesterday. And it works well with below diagram. I can use internet automatically with another pfsense when WAN at master pfsense is down.

    LAN
          |
        CARP1
      +–--+----+
      |            |
    pfSense1  pfSense2  (shared CARP IP as gateway at LAN and ifdepd to briong LAN down on ISP failure)
    Master      Slave   
    CARP0      CARP0
      |              |     
      |              |
    ISP1        ISP2
      |              |
      |              |
    (  Internet )
          |   
          |   
          ISP3
          |   
          |   
        pfSense3 (waiting for mobile clients)
          |
          LAN

    But it does not work with IPSec. I think "Failover IPSEC" on IPSec configuration page would help solving this problem. I think it would be used for replacing IPSEC tunneling from pfsense1-pfsense3 to pfsense2-pfsense3 automatically. But I don't have any information how to configure it. Could you advise me which field on "Failover IPSEC" tab means?

    "Failover IPSEC" has five fields to be filled as below.

    1. "Enable" - I think it should be checked.

    2. "Interface" - The hint says "Select the carp interface to use." And I can select one of r r r p l p c c. Which one should I select?

    3. "Failover IP" - The hint says "Enter the IP address you would like to use for failover. HINT: You normally want to use a public CARP ip". Should I fill it with the Carp1 IP address? Carp1 IP address is the virtual IP address on LAN.

    4. "Peer IP" - The hint says "Enter the peers ip address. HINT: You normally want to enter the peers REAL LAN IP here." I really don't know what IP address should be used for this field. pfSense2's LAN IP address or pfSense3' LAN address????

    5. "Shared key" - The hint says "The shared AES key used to encrypt messages between sasyncd hosts. This configuration setting is required and must be either 16, 24 or 32 bytes long (corresponding to AES using a 128, 192 or 256 bit key)." I think it is a new shared key and it does not involve with the shared key that was used to make IPSEC tunneling.

    And one more question. I think "Failover IPSEC" should be configured both of pfsense1 and pfsense2. Is it correct?

    Thank you.



  • Failover IPSEC is for use with CARP on WAN to use the CARP IP instead of the real WAN IP. This doesn't apply to your setup and won't help you.



  • Noted. I should wait until IPSec on OPT1 will be fixed. Then, do you think IPSec failover will be possible with outgoing loadbalancing if OPT1 IPSec is available? Of course in this case we can use only one pfsense for failover.

    Thank you.



  • It should just work the way it's drawn without failover IPSEC settings. Just noticed you only have one WAN (ISP3) at the opposite end and not like before 2 isps.



  • I think it does not work because of the conflict of same local subnet from pfsenes1 and pfsense2 at the remote end network. In order to succeed in IPSec failover, the first tunnelling of pfsense1-pfsense3 should be remove clearly before the second tunnelling of pfsense2-pfsense3 will be established. In case of my above diagram, the first and second tunnelling are established at once and one of those two tunnels does not work even if one of ISP disconnets and I can access to internet through another pfsense.

    Is there any way to remove the first tunnel automatically when another one is trying to establish tunnel? And only one IPSec tunnel should be allowed when both of ISP1 and ISP2 are connected.

    Thank you.



  • pfSense3 is waiting for mobile clients. pfSense1's WAN is failing and pfSense2 is establishing the IPSEC as there no w is traffic for the remote subnet due to becoming the gateway. For pfSense3 this should just look like the IP of pfSense 1 has changed. I have setups like this where one pfSense sits at a dynamic IP and it works fine. Maybe http://www.pfsense.org/mirror.php?section=tutorials/mobile_ipsec/ helps how to configure it.



  • Of course, I tested with pfsense3 wainting for mobile client. The problem is that pfsense3 cannot figure out disconneting of pfsense1 and it remember the tunnel with pfsense1 even after pfsense1 disappear. So the LAN subnet of pfsense1 and pfsense2 conflicts on pfsense3 because pfsense1 and pfsense2 has same LAN subnet and then the tunnel of pfsense2-pfsense3 does not work. Is there any solution of this problem?



  • Try "prefer old IPSEC SA" setting at system>advanced at all ends and see if that makes a difference. If that doesn't help try using smaller lifetimes (like 300 seconds). This way a tunnel should expire after 5 minutes and the backupmachine then will hopefully be able to connect though this means some downtime until the tunnel will be estblished again on failover.



  • Noted, I will try and let you know of the result. Thank you, Hoba.



  • I test it and run fine, work's tunnel in OPT-WAN Interface !

    LAN
          |
      (PfSense 1)
      |              |
    ISP1(WAN)  ISP2 (OPT-WAN)
      |              |
      |              |
    (  Internet )
          |   
          |   
          ISP3
          |   
          |   
        pfSense2 (waiting for mobile clients)
          |
          LAN

    I test this configuration and run ok, but don't automatically.

    1. Both pfsense have static ip.
    2. pfsense 1 have load-balancer
    3. The tunnel is stablish with ISP1 and ISP3 using in pfsense3 mobile clients.
    4. If ISP1 is down i enter in pfsense1 and only change in ipsec WAN Interface to OPT-WAN Interface, and in WAN Gateway write the
          OPT-WAN GATEWAY
    5. save and go to diagnostic-ping and all run fine, now vpn is stablished from OPT-WAN PFsense1 to WAN movile client of PFsense 2

    the unique problem in this configuration is thats is manuall, but for now work's for me



  • Might be easier to have both tunnels configured and just disable the one or the other tunnel for the manual failover.



  • I've not tested ipsec redundant with carp and ifdepd because I need it at Wrap but the package of ifdepd is not available at embedded system. I'm waiting 1.0 version which will be available package installation at embedded system.

    And according to Martinc_77's message the IPsec problem at OPT1 interface was already solved. I tested it with Wrap but IPsec at OPT1 interface does not work yet. Is there anyone who tested it with Wrap? I'd like to know whether only I have this problem. I used pfsense RC2 for testing.

    Thank you.



  • pfSense 1.0 won't have packagesupport on embedded platforms. Where did you read that? I have tested IPSEC on OPT Interfaces during the hackathon, however I have not tested with hosts coming not from the OPT subnet. In that case it might be possible to add a static route for the remote IPSEC endpoint through the OPT interface gateway.



  • Dear hoba, IPSEC at OPT Interfase works but only if i add static route! This is a bug ? This is solve in RC3 ??

    Tks



  • What kind of rule do you need to make this work? Please provide an example.



  • I need add the next rule in STATIC RUTE HOBA:

    –---------------------------------------------------------------------------------------
    INTERFASE              NETWORK                                          GATEWAY

    OPT1        <the other="" end-point="" of="" vpn="">                    <the opt1="" gateway="">-----------------------------------------------------------------------------------------

    NOTE: OPT1 AND WAN INTERFASE ARE IN MODE LOAD BALANCER

    EXAMPLE:

    VPN IS RUN IN WAN INTERFASE, THEN, WAN INTERFASE IS DOWN AND I CHANGE IN VPN-IPSEC THE RULE. MANUALLY CHANGE THE WAN INTERFASE WITH OPT1 INTERFASE AND ANY HAPPEND BUT IF I ADD THE PREVIUS STATIC ROUTE VPN IS UP AGAIN WITH OPT1 INTERFASE.

    THE QUESTION IS:
      BECAUSE NEED ADD THE STATIC ROUTE IF THE RULE IN VPN-IPSEC CONFIGURATION HAS ALL THE  INFORMATION THAT PFSENSE NEED ??

    THIS IS A BUG??</the></the>



  • Thear hoba:

    Plz need help, cant resolve this problem.I will become crazy
    My config is the next.

    LAN
          |
      (PfSense 1)
      |              |
    ISP1
    (WAN)    ISP2 (OPT-WAN)
      |              |
      |              |
    (  Internet )
          |   
          |   
          ISP3
          |   
          |   
        pfSense2 (waiting for mobile clients)
          |
          LAN

    1. Both pfsense have static ip.
    2. pfsense-1 have load-balancer & squid
    3. The tunnel is stablish with ISP1 and ISP3 using in pfsense3 mobile clients. At less ISP1 is down then Switch to ISP2

    The nexts problem happend

    when ISP1 is down:

    A) I change manually the IPSEC VPN Start Point to ISP2, (Now Tunnel is between ISP2 and 
                  ISP), but not connection is stablish at less add the next static route : 
                          <opt1>      <destination 32="" end="" point="">      <opt1-gw>B) PFSENSE Can't resolve DNS at less add the next statis route:
                          <opt1>      <destination 32="" dns="" server="">      <opt1-gw>C) Squid (Running in pfsense 1) don't work any form.

    Problems A & B resolve with staric route, C can't but when ISP1 is up again, i need change again the IPSEC VPN Start Point (because isp1 is better)  and delete all static route. The really problem is write and delete a static continuously with time I criticize of production that this uses.

    My Idea is only change the ISP START POINT MANUALLY (ONLY CHANGE COMBO IN IPS-VPN) and all work fine. It is there possible? Is not, know u other solution. Any solution for squid when WAN is DOWN?</opt1-gw></destination></opt1></opt1-gw></destination></opt1>


Locked