Create RDP gateway in Raspberry Pi or Ubuntu

18,185

Solution 1

There's no equivalent to Microsoft RDP Gateway service on Linux, but there are ways to simplify connecting to multiple RDP servers through a single external IP which should suit your needs.

The best solution on Linux I've found to date is Guacamole; not the green dip that goes great with tortilla chips and a tequila, but the clientless html5 RDP Gateway. http://guacamole.incubator.apache.org/

Guacamole allows you to build a secure landing page, with a list of preconfigured RDP connections (or VNC and SSH) and connect with any HTML5 browser. You don't even need an RDP client, which is great if you want to connect remotely and only have access to a browser. I've been using it for the past couple months, and it works very well. It does take a bit to get all configured, but I find well worth it to not have another Windows server just for RDP redirection. Lots of documentation out there on configuration and setup,

I've got this running on a really small VM (1 core, 256MB memory) and it handles a couple open connections just fine with CPU and memory to spare. I can't see why a RaspberryPi couldn't handle it (even the original Raspberry). Doing a quick google search for 'guacamole rdp raspberrypi' comes up with lots of links.

Good luck!

Solution 2

As an alternative, I use the '-L' mechanism provided by openssh.

For example, I set up a raspberry pi as the gateway server at home which provides ssh login service from WAN, and run this command on the PC at office:

ssh -nvL :13389:192.168.1.x:3389 IP-OF-PI"

which provides a secured transparent proxy, forwarding all traffic from 127.0.0.1:13389 to my home PC's 3389.

Then I can use mstsc.exe (native rdp client in Windows) to connect to 127.0.0.1:13389.

If you don't have openssh installed on Windows, tunnelier (a ssh client with GUI) is recommended.

Solution 3

There is a remote desktop gateway available that works anywhere where you can compile go programs. It will work on a Raspberry.

https://github.com/bolkedebruin/rdpgw

disclaimer: I’m the author

Share:
18,185

Related videos on Youtube

ashu
Author by

ashu

A fun-frolic guy loves to listen music and enjoy bits of life. If you find me, buy me a pizza!! :D

Updated on September 18, 2022

Comments

  • ashu
    ashu over 1 year

    I have a few systems in my local network and want to RDP them from the Internet. One method is to allocate different ports to each system for RDP and configure them in the router. However, what I need is to configure RDP in default mode.

    For example <ip-address>:3389/ubuntu should point to 192.168.1.102:3389.
    Similarly, <ip-address>:3389/win7 shall point to 192.168.1.101:3389 and so on.

    I searched Google but articles are related to Windows Server, where they prefer making an RDP gateway server. I a prefer a Linux system (and even better Raspberry Pi) to do this task for me. I tried some RDP related searches on Pi and got information on dnsmasq. But I guess its related to connect to outer network (websites) from local network instead of local network from outside network.

    Is is possible? Any hint or link/reference will be very helpful.

    • MariusMatutiae
      MariusMatutiae over 8 years
      No such thing in *Nix, it is a typical Microsoft application. What we use, in lieu of this, is a VPN, one of very many types.
    • ashu
      ashu over 8 years
      Looks like i have been searching in wrong direction. Thanks for the help. Meanwhile, any help regarding how to connect to system and share screen (just like rdp) will be greatly appreciated.
    • MariusMatutiae
      MariusMatutiae over 8 years
      You should look into vnc (which is a system not an application; apps implementing vnc are called tightvnc, realvnc, ultravnc, remmina) or teamViewer, depending on what you wish exactly to do.
  • ashu
    ashu over 7 years
    Thanks for pointing out in the direction. At that time, I was unable to get guide to properly setup and left it. Did it again few months back and it works absolutely fine. Just for help of others, I am adding link for the guide raspberrypi.org/forums/viewtopic.php?f=81&t=71166#p574149