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

Issues with IPSec site-to-site to ASG behind/ in front of NAT

There is a problem with the AMI. When creating an IPsec site-to-site VPN connection, it's assuming to use the Internal NIC's private IP which is wrong. And hence the opposite router has errors like this:

 we require peer to have ID 'xx.xx.xx.xx', but
peer declares '10.243.45.92'

where 'xx.xx.xx.xx' is the public IP of the Astaro.

I have tested also by creating 2 Astaro EC2 instances and they can't VPN to each other.

So then I also tried adding my own IP alias to the Internal NIC, and I can't! It complains saying that it's write-protected.

I assume these things will be fixed?


This thread was automatically locked due to age.
  • There is still something different about Astaro. When I create the same type of connection between my own Amazon Linux to Amazon Astaro, I do NOT use the VPNID setting, because the Amazon Linux (using openSWAN/pluto) correctly reports itself using the public IP that I put into its configuration. But somehow Astaro does not do that, forcing me to use the rightid setting, or the VPNID setting when going to another Astaro behind a NAT.
  • After further testing, I have come to these 2 differences in Astaro regarding site-to-site IPSec VPN's with PSK.

    #1 - It does not automatically "traverse" the NAT even when NAT-T is enabled for a remote router that's behind a NAT. I don't know if I used the correct terminology there, but when comparing to Cisco, it did not automatically accept the connection from a remote router that was NAT'ed. Cisco automatically did, and it decided to use some protocol that it calls "IPsecOverNATt".  It seems like we should be able to accomplish this so that we don't need to pre-configure a NAT'ed router's private IP. Just by definition, the other end should be allowed to put their NAT'ed router anywhere with any IP.

    #2 - Astaro advertises its own private IP rather than the public IP when behind a NAT. In contrast, my home grown Amazon Linux using OpenSWAN does advertise it's public IP in the VPN. This is apparent because when testing Amazon Linux and Amazon Astaro in a VPN, the Amazon Linux had to have its rightid parameter configured for Astaro's private IP, but the Astaro's VPNID for the Amazon Linux gateway did not have to get set. While, when configuring the 2 Amazon Astaro's together, both of them had to have the VPNID set for each other's private IP. I can have the Amazon Linux advertise whatever I want as the IP using the leftid setting in ipsec.conf.

    The combination of those 2 items made it so that this was not working. Since certainly #2 is being done by a very plain Amazon Linux with OpenSWAN, it would seem trivial to make that work in Astaro. (just allow us to specify the leftid for the whole router or per VPN connection). But option #1 ought also to work in Astaro as clearly routers in the market can do it and obviously this VPN protocol technology is far from "dead" to push people to change. Once again, it is not our choice at all, all of our partners independently came up with those same requirements.
  • Thanks for posting back with your results.  Let's hope either d12fk or da_merlin sees this again.

    1. I think "IPsecOverNATt" is just what Astaro will do if NAT-T is enabled.  I don't think it relates to leftid/rightid.  I don't know enough about Cisco's IPsec to understand how it can accept the connection when the AMI responds with its IP (instead of the public one).

    2. I think Astaro uses StrongSwan instead of OpenSwan.  I'm not sure I understand the advantage to configuring on one side rather than the other, but that seems like a good option to have, so you might want to suggest it in the Features Forum

    Once again, it is not our choice at all, all of our partners independently came up with those same requirements. 

    Partners?  Requirements?

    Cheers - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA

  • 1. I think "IPsecOverNATt" is just what Astaro will do if NAT-T is enabled.  I don't think it relates to leftid/rightid.  I don't know enough about Cisco's IPsec to understand how it can accept the connection when the AMI responds with its IP (instead of the public one).


    If that were true it would be great, but I think that feature is not working, or it fails to work when the leftid of the remote's router is not configured to be its Public IP.


    2. I think Astaro uses StrongSwan instead of OpenSwan.  I'm not sure I understand the advantage to configuring on one side rather than the other, but that seems like a good option to have, so you might want to suggest it in the Features Forum


    Partners?  Requirements?

    Cheers - Bob


    Good to know about StrongSwan vs OpenSwan. Maybe I can find some info with that. About partners and reqs, I was referencing that we are using this to connect to multiple site-to-site IPSec VPN connections using PSK's and it is out of our control to change that. 100% of our partners independently decided to use that configuration so it's not sufficient to say something like "use SSL VPN" or "don't use PSK."
  • I just found something on this forum! (https://community.sophos.com/products/unified-threat-management/astaroorg/f/58/t/51188)

    That's exactly what I need but to be opened through Astaro's GUI. I went to that file and added by leftid setting, but now I'm trying to figure out how to restart that service to make it use the setting.
  • So I managed to make the Astaro advertise the IP that I want (its public IP) in the VPN configuration by hacking a couple of files. But this is obviously not supported and I'm waiting for Astaro to support doing this, and very clunky and confusing.

    in this folder: /var/chroot-ipsec/etc
    I edited this file: ipsec.conf-defaults
    and added a leftid="******" into the defaults section.
    And I edit this file: ipsec.secrets-defaults
    and added a line for ****** yyyyyy : PSK zzzzz

    where the ****** is the public IP that I want the device to advertise with, and yyyy is the peer I'm trying to connect to, and zzzz is the encrypted value of the PSK password.

    This works, so we know it's possible with this thing, now we need the GUI to catch up.
    And maybe I'll find a file not in the /var/ folder that will keep getting overwritten.

    EDIT:
    I used leftid.  It actually seems StrongSWAN does not understand myid. In OpenSWAN I think what was happening is it was creating like a Macro called "myid" which I set the public IP. And then in the "leftid" configurations for each one of my VPN configurations, I'd have the value "%myid"  which referenced that other setting.
  • Thanks again for documenting so thoroughly and contributing here - I hope you submit this as a feature request, as that's the "official" way to get things like this seen by Astaro.

    I believe the -defaults files are a part of the Configuration Backup, and, as such should not be overwritten by any Up2Dates, so you should be able to retain your changes.

    Cheers - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • So do we have any takers here on plans? Got the 2 issues still:

    #1 - Astaro web gui does not provide way to set your leftid  which we can work around with getting into the system.

    #2 - I don't know what NAT-T is supposed to do; is it working? Because when the remote side is behind a NAT (and not advertising its public IP in the VPN), Astaro fails to connect unless you set the VPNID in the Remote gateway configuration. Which works, but what is that NAT-T option for?
  • Hi,

    I know this is an old thread, but I am trying to accomplish something similar and I have no luck on doing so. Is this thing documented somewhere from beginning to the end ?

    I get the following error message:

    2013:05:24-12:32:27 astaro3 pluto[20865]: "S_REF_IpsSitVpnToAstar_0" #2: Can't authenticate: no preshared key found for 'PUBLIC_IP' and 'PRIVATE_IP'.  Attribute OAKLEY_AUTHENTICATION_METHOD 

    In ipsec.secrets-default I have added:

    PUBLIC_IP REMOTE_PUBLIC_IP : PSK "password"

    Any help will be much appreciated. Thank you.
  • hi..  the PRIVATE_IP you indicate in that message.. who's PRIVATE_IP is that? I am suspecting it's the PRIVATE_IP of your remote partner.

    If that is the case, then it so happens that they are potentially also using Astaro behind a NAT or some other router behind a NAT that is not advertising itself via its own public IP.

    In which case, in the UI for that VPN Gateway, you have to put in their PRIVATE IP into the VPN ID field.