Support Forum
The Forums are a place to find answers on a range of Fortinet products from peers and product experts.
yoloknight
New Contributor

IPSec Dual Stack cant handle IPv4 and IPv6 at the same time

Hi Guys,

 

I have a problem that my IPSec VPN cant handle IPv4 and IPv6 at the same time. In my Phase 2 Selectors I have this information in there: IPv6:   Remote Address: "::/0" Local Address: "::/0" IPv4: Remote Address: "0.0.0.0" Local Address: "0.0.0.0" From my Strongswan client I have a stable IPSec Tunnel and get both IP addresses from Phase 1. (Example: 192.168.1.1 and fd00::1) Now with both entries IPv4 and IPv6, I can only ping the IPv4 192.168.1.1 address. If I delete this entry of phase two and only "::/0" is there, then I can ping the fd00::1. And if I delete the IPv6 entry, I can ping Ipv4. Ping: Only IPv4 entry -> ping works Only Ipv6 entry -> ping works Both (IPv4 and IPv6) -> ping to IPv4 works and IPv6 is unreachable For me it seems the IPSec tunnel cant handle both, the IPv4 and the IPv6 addresses and I can only choose one. Is this right or do I have overlooked something? (perhaps a special routing entry for this???)

7 REPLIES 7
emnoc
Esteemed Contributor III

Q:

[ul]
  • Did you run "diag vpn tunnel list"
  • did you run debug on fortigate for ike [/ul][ul]
  • Did you run ipsec statusall & looked at the logs on Strongswan host[/ul][ul]
  • Did you try with specific Phase2 in both fgt and strongswan[/ul]

     

    And no, you can run dual stacked fortios for ipsec tunnels

     

    Ken Felix

     

  • PCNSE 

    NSE 

    StrongSwan  

    PCNSE NSE StrongSwan
    yoloknight

    Hi Emnoc, to your questions. Did you run "diag vpn tunnel list" -> Jup, the tunnel is shown stable and nothing unusal

    did you run debug on fortigate for ike

    -> Jup, the tunnel is established and no error signs

     

    Did you run ipsec statusall & looked at the logs on Strongswan host

    -> Jup, also i had done this, but strongswan gets no response from the fortigate and the ip (seen with "journalctl -f" on linux); the fortigate logs shows nothing

     

    Did you try with specific Phase2 in both fgt and strongswan

    -> I tried, for example to set in particular "compress=no", but nothing works. In the end I only use the default configuration of strongswan For me it looks like that Fortigate dont support a dual-stack client-to-client roadwarrior vpn.

    emnoc
    Esteemed Contributor III

    Drop your configuration  ( fgt and strongswan  ) not sure what your doing but ipsec ipv4/6 dual stack is supported and works. 

     

    Ken Felix

    PCNSE 

    NSE 

    StrongSwan  

    PCNSE NSE StrongSwan
    yoloknight

    Hi emnoc,

     

    well I have made some progress in that matter. https://bugs.launchpad.net/ubuntu/+source/network-manager-strongswan/+bug/1905565

    It seems that the Dual Stack configuration only works with two child_sa. We ask this question the support, but our contact (on Fortigate side) didnt see this as a technical issure and more of a consulting. Perhaps you know the answer. Is the Fortigate able to narrow the traffic selectors of a single CHILD_SA appropriately (e .g. does it proposes 0.0.0.0/0 AND ::/0 as remote traffic selectors). Or is it unable to do that and requires two CHILD_SAs?

    emnoc
    Esteemed Contributor III

    I will have to test but with junos we built one phase2-interface and it generated one child-SA iirc. Strongswan should be the same, dump your config fgt/strongswan ( phase2 )

     

    Ken Felix

     

    PCNSE 

    NSE 

    StrongSwan  

    PCNSE NSE StrongSwan
    yoloknight

    The guy Tobias Brunner says its a know issue with Fortigate. (I think we dont need a dump perhaps)

    https://wiki.strongswan.org/projects/strongswan/wiki/Fortinet (known issue)

     

    In short it seems the Fortigate invoke a error, that StrongSwans force to switch intern its mode. Because of that you cant have 1 valid child-SA. But i dont know if Fortigate is working on this, because my support dont answer me anymore.

    emnoc
    Esteemed Contributor III

    So I remenber I just wrote about multiple conn before in a previous blog post;

     

    Ken Felix Security Blog: Multiple Phase2 in Srongswan configuations (socpuppet.blogspot.com)

     

    The old way of append  subnets to one "conn" is not ideal or even recommended

     

    /strongswan

    leftsubnet=192.168.1.0/24;192.168.2.0/24 rightsubnet=192.168.4.0/24;192.168.6.0/24

     

    So you need to build a separate conn and associate it to the parent and define the ipv6 subnets

     

    conn ipv6 leftsubnet=2001:db8:1::0/64 rightsubnet=2001:db8:2::0/64

    also=mainconn auto=route

     

    Run the ipsecstatus and ip -6 route to see the ipv6 details on strongswan. Dual ipv4/v6 is doable just have to do it in that fashion.

     

    Ken Felix

     

     

    PCNSE 

    NSE 

    StrongSwan  

    PCNSE NSE StrongSwan
    Announcements

    Select Forum Responses to become Knowledge Articles!

    Select the “Nominate to Knowledge Base” button to recommend a forum post to become a knowledge article.

    Labels
    Top Kudoed Authors