Hello,
I just install FB on a new hardware, what is the next way to have access from the internet, considering that my ISP does not provide me a public IP address?
If your ISP does not give you a static IP address you can set up a DDNS service so you can access your device no matter what your ISP changes your IP address to.
https://wiki.debian.org/FreedomBox/Manual/DynamicDNS
Go ahead, set up an account and get started:
There are numerous other free options available for this service if you don’t want to use the FreedomBox one for some reason.
Once you have your DDNS address set up, put your FreedomBox in the DMZ on your router and that’s pretty much all there is to it–you should be able to access your device from the public internet on your new domain.
My problem is not having a static IP address, but not having a public IP, only a private NAT address from my ISP.
You can try contacting your ISP to request they open the port restrictions for your home network.
In which country are you?
In France where I am located, it is usually possible to get a public IPv4 address but depending on ISPs, this requires getting in contact with a level of customer service that understands and processes the request (entry level will not).
I am also using a VPN service that provides a fixed public IP address (to get one more public IPv4 address).
If you cannot get any of those, setting up TCP port forwarding (using ssh) via a VPS can also work. You could install autossh on your freedombox and have it connect to the VPS to do TCP port forwarding from the VPS to your FB. By adding a systemd unit, it would be always running without any manual intervention.
I don’t run that on my FB but I run it for one TCP port on a computer running Trisquel (a Debian derivative, this surely works the same on Debian) that is at my mother’s place and she does not have any public IPv4 address. I can provide the config if you want to try it.
I read at Routing It Your Way Part 1: ssh + socat – WirelessMoves that, if you want to forward UDP ports too, socat + ssh would be the solution but I never tried it myself, the advice is to run it on a separate computer.
EDIT: I forgot to mention that sometimes, I fail to connect to the computer, then I reboot the VPS and one minute after reboot is complete, the connection works again. I have been running this for several months (a year maybe?) and rebooting the VPS always fixed any connection problem. Since I don’t connect to that computer so often though, I cannot say how frequently the “cannot connect” issue happens. Just to provide as complete information as possible on how workable this is.