Just to expand on kyson-lok’s answer:
One of the two sides of the system needs to have either a static public IP address, or be running some kind of DDNS client that maps to the public IP address of that location. The NAT firewall/AP/Router which has the public IP on it also needs to have the appropriate port forwarding setup so that VPN traffic destined for that public IP (i.e. the traffic from the client trying to connect) will be sent through to the GL device with the VPN server on it.

Old-skool metaphor to help you understand all this:
Think of the VPN server as a specific employee working in a large company. In order for your client device to get through to that person, you need two things: 1) The public phone number of the company, and 2) the receptionist to be able to forward you from the front desk to the proper floor/office.

  1. is the public IP, 2 is the the port forwarding/nat rules.

Many ISPs do not assign “static” public IPs; so in order to make sure you are always connecting to the one that belongs to the site with your VPN server, you may need something like DDNS.