Raspberry Pi port forwarding solution

In this post, we will talk about the applications of port forwarding, the techniques that are used for port forwarding and a brief comparison of those techniques.

Time to read:

4

minutes

Port forwarding or sometimes called port mapping, remote port access is used by NAT (Network Address Translation) networks (i.e. private networks behind firewalls/routers) to redirect packets coming from outside networks into the desired computer or device inside the local network and vice versa. In layman’s terms, as LearningHub quotes, “Port forwarding, sometimes called port mapping, allows computers or services in private networks to connect over the internet with other public or private computers or services.”

Applications of Raspberry Pi port forwarding

Why do you need to forward ports on your Raspberry Pi in the first place? For the readers who are here to understand the use cases of port forwarding, here are some examples:

  1. Remote SSH / VNC connections

We all know how important it is to be able to establish remote SSH or VNC connections into the Raspberry Pi and other embedded Linux IoT devices. The typical method would be to access the disease through SSH from another computer within the local network. However, if you need to access your Raspberry Pi from an external network such as the internet, you will definitely need port forwarding.

  1. Exposing a public HTTP server within a private LAN

Privately hosted websites such as dashboards and other websites/pages need to be exposed to the local internet for someone to be able to access them from anywhere in the world. For an example, to access a simple nginx server running on a Raspberry Pi in your home/office network from the internet, port forwarding techniques must be used to redirect the requests coming from outside of your network to the Raspberry Pi

  1. Hosting FTP servers 

Accessing a private File Transfer Protocol server host within your private network (maybe on a Raspberry Pi) from an external network such as the Internet will also require port forwarding configured on your router/firewall.


Issues in port forwarding in traditional ways

As the simplest solutions would be the ones mentioned above, port forwarding can be a real hassle if your network address is not fixed (i.e. dynamic IP provided by ISP and changes over time). Even though you have properly configured your network using above mentioned methods, once the IP lease is over, your ISP will assign your network a completely new IP, preventing you from accessing the network externally until you find the new IP address. 

More on that, if the router configuration access is limited, none of the above methods will work to enable port forwarding on your Raspberry Pi.

More solid options for forwarding ports on Raspberry Pi?

Fortunately, Upswift circumvents the above mentioned issues, and provides a quick and easy solution to forward ports. Upswift also offers a complete management solution for remotely managing your embedded Linux IoT devices - deploy OTA update, Access the device shell (SHH) and remote Desktop (VNC).