Ah! I guess I am getting it now.
I thought the public IP (185.220.xxx.xxx) that the server provides me is enough for the server to communicte with me and that the Virtual IP and Gateway IP are something purely local to me and I can set it myself. I now understand that these IPs are something that the VPN Server hands out to its clients and is the way for the server to communicate with the client (and back). Is this right?
So it absolutely does not make sense that I set it and expect that the server will "find me". I noticed that, after I setup the routing table, Virtual IP and Gateway IP with the above steps, data was going out into the tunnel but never coming back. This explains why the gateway was down.
What I am trying to do, as I mentioned in my initial post, is to prevent duplicate Gateway IPs when I connect to different servers (of the same provider). As of now, after a pfSense restart, I connect and disconnect the VPN clients with the duplicated IPs and after 2-3 tries it gets an IP from a different subnet. I guess I will have to live with this workaround.
@viragomann said in Gateway IP for openVPN gets duplicated:
To prevent get pushed the route from the server, check "Don't pull routes".
Then enter the network you want to route over the VPN into the "Remote network(s)" box.
However, I'm not sure what you really want to route here.
I see that I can only stop pulling the routes that the server pushes . I thought this option prevents setting the Virtual IP and Gateway IP and therefore thought this option isn't working for me and tried the pull-filter ignores where it appeared as if it is working for me.
With my newly, self-learnt background of networking, I was trying out stuff expecting it to work. Thanks for explaining the fundamentals to me.
On the other hand, I did see some discussions where it was mentioned that the duplicated Gateway IPs should not be an issue for pfSense loadbalancing as it does not do it with IPs and does not use the routing table. Is this true?