Mobile VPN'd hotspot not working?
I have a concept of something I would like to set-up if I can figure out how to do it.
I have pfSense running at home. When I connect to a public WiFi hotspot from my laptop, I always VPN home, using OpenVPN, which gives me access to all my networking resources in my house. I am in the process of buying an RV and thought of building a small device that will be able to tap into a WiFi hotspot, then using a VPN, route all traffic through my home pfSense, then create it's own low-power hotspot for just my RV that I can log into. I realize that some stand-alone devices are designed to log into one WiFi hotspot and then create it's own hotspot to share one connection, in fact, all three of my vehicles have this built-in, but I would like to route all the traffic through my home network, so I don't have to actually set up a VPN service on each of my devices. If this is possible, could it be further possible to have it login to a hotspot with a captive portal? I know one particular camping area where you "purchase" a code that you have to enter in via a captive portal. If I could do this through such a wireless gateway I have described, I wouldn't have to log both my wife & I's iPhones, iPads and laptop computers to access it, just the gateway, then we could all use the one connection.
Can anyone point me in the right direction for such a setup?
Yes you can do that. pfSense can run the OpenVPN client and route all traffic through it.
But there are two issues that make it at least inconvenient to do this with pfSense.
There's no good way to search for and connect to a wifi network from the pfSense GUI. You would need to 'discover' the wifi network on something else and then manually configure pfSense to connect to it. Or use some other device to connect to the wifi network.
As you said pfSense will just try to connect to that network to bring up the VPN. You would need to have at least once device that is not routed over the VPN or maybe a particular site you can access by IP that is not routed in order to be redirected to the captive portal login.