This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Site to Site IPSEC to PFsense

I have an ASG v8 with a public IP on the WAN and private on the LAN using NAT.
I'm connecting to a pfsense 2.0 that has a public IP on the WAN side and private on the LAN using NAT.

I am able to get IPsec phase 1 and 2 to work.
Pfsense shows ICMP going to the ASG.
If I enable a No NAT rule and log the initial packets on the ASG I can see that the traffic is getting to the ASG. At least NAT sees traffic that has 10.101.0.0/16 network which is the local network on the pfsense lan side.

While I can see some icmp make it through the tunnel where atleast ASG sees it I can't actually get any traffic to flow. The ICMP always fails when I ping from a device on the LAN from either the ASG side or Pfsense side.
Also when I try any other traffic besides ICMP I see no indication at all in any of the logs that it is making it to the ASG.

Pfsense has an allow all for IPSec. On ASG I'm just using the auto firewall rules created by IPsec.

Any ideas here? I've tried everything I can think of and no where do I get anything telling me its dropping traffic even when I'm logging everything I can find. All I see is a bit of ICMP, but even that isn't fully working.


This thread was automatically locked due to age.
  • Hi, seranfall, and welcome to the User BB!

    Let's start with some actual data - how about a picture of the 'Site-to-site VPN tunnel status'?

    Cheers - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • I'm at home right now so I don't have access to pfsense to get screenshots from here.

    As stated before the tunnel is up. Both sides show the tunnel up. On the pfsense side I see the SAD and SPD entries and they are correct. I see traffic from pfsense get to astaro over the tunnel, but astaro never returns traffic.

    Also the only traffic that seems to show anything is ICMP. When I generate other traffic I see no indication of it in the logs on either side.
    On the pfsense side I have a permit any/any rule for ipsec in the firewall rules.
  • Another piece of information that may be important.
    pfsense has a GRE tunnel to another location as well as a remote access PPTP vpn configured.

    Will either of those impact the IPSEC?

    I'm very familiar with networking and pretty familiar with VPN. I'm use to using Cisco routers or ASA's to do this stuff and have never really run into problems like this.

    A major problem I've had with both pfsense and Astaro is visibility. The logging hardly ever shows anything in relation to the problems I'm having. It's been a real struggle just to try and see what is going on with the traffic.
  • I'm very familiar with networking and pretty familiar with VPN. I'm use to using Cisco routers or ASA's to do this stuff and have never really run into problems like this.

    Super -  I hope we can help you resolve this, and that you decide to stick around!

    I agree that those other tunnels shouldn't affect your situation as long as there's no IP address or subnet conflicts.

    ICMP is regulated from the 'ICMP' tab in 'Firewall', but everything else needs an Allow rule.  In the IPsec Connection, do you have 'Automatic firewall rules' checked, or did you craft your own?  And, you confirmed that there were no blocks in the Firewall log?

    In the Remote Gateway 'Advanced' section, is 'Support path MTU discovery' selected?

    Anytime something seems unexplainable, it always pays to look in the Intrusion Prevention log.  In this case, maybe the Astaro thinks it's seeing UDP floods from the PfSense?

    If we still haven't gotten lucky, then how about the IPsec log lines from a single connection attempt?

    Cheers - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • On Astaro I have all ICMP turned on right now.
    IPS is disabled. Pretty much all the services besides NAT/DHCP/Firewall and the VPN have been disabled in the attempt of trying to troubleshoot this. Normal traffic goes out to the internet and back fine.

    I have used both the auto VPN rules check box and tried it without and manually created rules. Neither worked. Also I never see any drops in my firewall log for any of the vpn traffic.

    MTU path discovery is turned on.

    Basically how this setup is pfsense is at the college I work at and Astaro is at my home. Right now I'm at the college with a remote access SSL vpn into the Astaro. All of that works greats.

    I did see some udp flooding in the log for IPS, but not from the IPs involved with the tunnel at all and they were from earlier today when I still had IPS enabled. Traffic still doesn't flow from the Astaro through the ipsec vpn.

    Below is the IPsec log when establishing the tunnel.

    2012:05:03-13:50:22 goblin ipsec_starter[8105]: Starting strongSwan 4.4.1git20100610 IPsec [starter]...
    2012:05:03-13:50:22 goblin pluto[8112]: Starting IKEv1 pluto daemon (strongSwan 4.4.1git20100610) THREADS VENDORID CISCO_QUIRKS
    2012:05:03-13:50:22 goblin pluto[8112]: loaded plugins: curl ldap aes des blowfish serpent twofish sha1 sha2 md5 random x509 pubkey pkcs1 pgp dnskey pem sqlite hmac gmp xauth attr attr-sql resolve
    2012:05:03-13:50:22 goblin pluto[8112]: including NAT-Traversal patch (Version 0.6c) [disabled]
    2012:05:03-13:50:22 goblin pluto[8112]: Using Linux 2.6 IPsec interface code
    2012:05:03-13:50:22 goblin ipsec_starter[8111]: pluto (8112) started after 20 ms
    2012:05:03-13:50:22 goblin pluto[8112]: loading ca certificates from '/etc/ipsec.d/cacerts'
    2012:05:03-13:50:22 goblin pluto[8112]: loaded ca certificate from '/etc/ipsec.d/cacerts/VPN Signing CA.pem'
    2012:05:03-13:50:22 goblin pluto[8112]: loading aa certificates from '/etc/ipsec.d/aacerts'
    2012:05:03-13:50:22 goblin pluto[8112]: loading ocsp certificates from '/etc/ipsec.d/ocspcerts'
    2012:05:03-13:50:22 goblin pluto[8112]: Changing to directory '/etc/ipsec.d/crls'
    2012:05:03-13:50:22 goblin pluto[8112]: loading attribute certificates from '/etc/ipsec.d/acerts'
    2012:05:03-13:50:22 goblin pluto[8112]: listening for IKE messages
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface tun0/tun0 172.18.250.1:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface lag0.99/lag0.99 172.18.99.1:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface lag0.20/lag0.20 172.18.20.1:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface lag0.10/lag0.10 172.18.10.254:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface lag0.10/lag0.10 172.18.10.1:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface eth0/eth0 76.115.73.66:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface lo/lo 127.0.0.1:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface 6to4/6to4 ::4c73:4942:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface lo/lo ::1:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface lag0.10/lag0.10 ***************::1:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface lag0.20/lag0.20 ***************::1:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface lag0.99/lag0.99 ***************::1:500
    2012:05:03-13:50:22 goblin pluto[8112]: adding interface 6to4/6to4 2002:4c73:4942::1:500
    2012:05:03-13:50:22 goblin pluto[8112]: loading secrets from "/etc/ipsec.secrets"
    2012:05:03-13:50:22 goblin pluto[8112]: loaded PSK secret for *********** **************
    2012:05:03-13:50:22 goblin pluto[8112]: added connection description "S_VPN to Clark"
    2012:05:03-13:50:22 goblin pluto[8112]: "S_VPN to Clark" #1: initiating Main Mode
    2012:05:03-13:50:22 goblin pluto[8112]: "S_VPN to Clark" #1: received Vendor ID payload [XAUTH]
    2012:05:03-13:50:22 goblin pluto[8112]: "S_VPN to Clark" #1: ignoring Vendor ID payload [Cisco-Unity]
    2012:05:03-13:50:22 goblin pluto[8112]: "S_VPN to Clark" #1: received Vendor ID payload [Dead Peer Detection]
    2012:05:03-13:50:22 goblin pluto[8112]: "S_VPN to Clark" #1: Peer ID is ID_IPV4_ADDR: '***.***.***.***'
    2012:05:03-13:50:22 goblin pluto[8112]: "S_VPN to Clark" #1: Dead Peer Detection (RFC 3706) enabled
    2012:05:03-13:50:22 goblin pluto[8112]: "S_VPN to Clark" #1: ISAKMP SA established
    2012:05:03-13:50:22 goblin pluto[8112]: "S_VPN to Clark" #2: initiating Quick Mode PSK+ENCRYPT+TUNNEL+PFS+UP {using isakmp#1}
    2012:05:03-13:50:22 goblin pluto[8112]: "S_VPN to Clark" #2: sent QI2, IPsec SA established {ESP=>0x09e752cb 
  • When the other side is behind a NAT, you have to put the private IP address of the remote side in the 'VPN ID (optional):' field in the Remote Gateway definition.

    Was that it?

    Cheers - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • When the other side is behind a NAT, you have to put the private IP address of the remote side in the 'VPN ID (optional):' field in the Remote Gateway definition.

    Was that it?

    Cheers - Bob


    Both pfsense and astaro are running NAT, but aren't behind NAT.
    I tried playing with that setting in a few different ways. Anytime I change the VPN ID the tunnel dies until I set the peer address to that same IP on the pfsense side. Traffic still isn't flowing.
  • You are correct - that should be left blank if you don't have a NAT on the other end.  Are you sure there isn't something between the two devices that's blocking protocol 50 &/or 51?

    Cheers - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • Well I've made some progress on seeing what is going on.

    I have confirmed that pings from the pfsense side of the vpn make it to a server I have at my house that is on the astaro side of the vpn.

    So traffic is making it through the tunnel. Wireshark on the server showed the incoming ping and the server sent a ping response. 

    The traffic coming from the LAN on the Astaro side is not making it back to pfsense.

    Yet, I'm not seeing anything on Astaro saying its dropping it. Now if I could just confirm where it is dropping.
  • At least today was somewhat productive. I have a much better understanding of what traffic is doing after finally using tcpdump and a few other things. While I've always liked both pfsense and Astaro I'd kill for Cisco debug commands.

    I have confirmed that traffic from the remote network (10.0.0.0/9) makes it to my local network (172.18.10.0/24). I have also confirmed that return traffic back to the remote network leaves inside the tunnel out eth0 on my Astaro box. 

    However, that traffic never arrives at the pfsense box at the remote network. I can see the two-way tunnel control traffic, but none of the data makes it to pfsense. Tcpdump running on pfsense shows outbound traffic in the tunnel, but sees nothing from my local LAN. 

    Any ideas on what could cause that behavior? Is it possible to block data carried by the tunnel, but not interfere with the IKE/IPsec control traffic?

    I see protocol 500 in both directions. I am only seeing outbound protocol 50 traffic. I'm at home so I can't check what tcpdump is showing from the pfsense side.
    I'll check into it tomorrow.

    Thanks for all your help.