NeutrinoRDP proxy module for xrdp - neutrinolabs/xrdp GitHub Wiki

Intro

NeutrinoRDP is a fork of freerdp client v1.0.1 which being maintained by xrdp team.

xrdp server can act as RDP proxy using 'NeutrinoRDP proxy module'.

you can find NeutrinoRDP client branch here

How it works?

  • xrdp is a module-based rdp server, which can act as RDP proxy server.
  • xrdp contains 'front-end' module called NeutrinoRDP which can be used to make an RDP connections from xrdp.
  • proxy module actucally uses neutrinordp client shared libraries to make RDP connections from xrdp server.
(The flow looks like: RDP client -> xrdp load neutrino proxy module -> RDP server)

How to build NeutrinoRDP Proxy Module?

1. Build NeutirnoRDP client

2. Build xrdp with neutrinordp proxy module
  • Note that we don't need to build X11rdp in proxy scenario.
  • In order to build xrdp with neutrinordp module run:
 ./configure --enable-neutrinordp

Note 1: If ./configure --enable-neutrinordp fails, make sure freerdp pkgconfig file is placed in /usr/lib/pkgconfig or point PKG_CONFIG_PATH var to NeutrinoRDP pkgconfig dir (for example: /opt/neutrinordp/lib/pkgconfig).

Note 2: It is important to add to the linker the path of NeutrinoRDP client libs, since the proxy module is looking for them dynamically (libfreerdp-core.so, etc ... ).

example (assuming libfreerdp-*.so installed in /usr/local/lib):
 echo /usr/local/lib >> /etc/ld.so.conf.d/neutrinordp.conf 
 ldconfig

3. xrdp.ini configuration

  • xrdp.ini is xrdp server config file placed in /etc/xrdp/xrdp.ini after installation.
  • Verify neutrinordp module config :
 [xrdp8]
 name=neutrinordp-any
 lib=libxrdpneutrinordp.so
 ip=ask
 port=ask3389
 username=ask
 password=ask

4. (optional) Using PAM Authentication for xrdp proxy modules

  • open xrdp.ini, add into neutrinordp-any module:
 pamusername=ask
 pampassword=ask
 pamsessionmng=127.0.0.1

Note: xrdp-sesman must be running for PAM authentication to work.

⚠️ **GitHub.com Fallback** ⚠️