Quick update: I manage to do what I was looking for using OpenVPN server as a gateway for the tunnels. and doing NAT with pfsense public IP address. but still have some unanswered questions.
I don't see how Site B can connect via OpenVPN to Site A unless Site A has an OpenVPN interface?How did you build these connections, with wizard or manually?
Manually. Apparently pf sense does create the tunnel without the interface. Obviously there's no traffic without it, but since I saw the status of the tunnel up, I mistakenly thought that was enough. So all sites has interface and there's traffic in it.
2. Yes, the general technique is to specify all the possible external networks the OpenVPN server will pass to various clients (the "Remote Networks" in the server's config).
Then you specify which of that set will be routed to each client in the client's specific CSO. Obviously it works best if there's no possible overlap, thus my question 3.
This one I still have some doubts. For example. Stie B-D are regular clients. they only need access to certain services to perform their duties. So I believe is ok that they all share the same routes and rules for them. Now since there's just one site where the admins will be (Site E), I created another vpn server on site A as remote access since we could be at the office, or working remotely, without all the restrictions needed for the rest of the sites.
One thing its annoying me a little is the following:
If Site B-D share the same private ip block (ie.10.10.10.0/24) I could access pfsense webgui on Site A using its tunnel ip address (ie. 10.10.10.1). Obviously this can't happen, so I just restricted with a rule, and they can't see each other cause im using net30 topology. But from Site E (the admins) I have any-any rule at the tunnel's interface and Im not able to ping it using site E tunnel's ip. (10.10.20.1) I still can access all site's pfsense webgui from the admin site via lan ip or the other tunnel ip, but not the actual tunnel ip where im connected to. And I can see the servers behind it. this is not too much of a concern for me. But at the same time, I want to understand why I can't ping the tunnel's gateway, even thought the interface has any-any rule.