Setting up a SSTP client on Ubuntu 18.04

SSTP is a very nice, well performing Secure Socket Tunneling Protocol type VPN protocol. First designed and implemented by Microsoft to be used on Windows VPN servers, it is now available on all platforms.

It is secure because the traffic between the server and the client is always encrypted with SSL (just like https: for the web).

To install a SSTP client on a Ubuntu 18.04 box, I installed a few packages from a third party repository using the PPA  info provided here which mainly instructed me to issue the following commands:

sudo add-apt-repository ppa:eivnaes/network-manager-sstp
sudo apt-get update
sudo apt-get install network-manager-sstp  sstp-client

Thank you Kerem Yılmaz for providing the correct link to the new repo.

To create an SSTP connection, start “Settings”, select “Network” and click the “+” sign and now you can select “Point-to-point Tunneling Protocol (SSTP)”.

Enter your server name or address into “Gateway” box; leave NT Domain empty, set CA Certificate to “(None)”. No need to play with Advanced settings.

It works like a charm.

 

VirtualBox USB sharing – Linux Host

USB Passthru – Attaching a physical USB to VirtualBox client doesn’t work out-of-the-box. Apparently the solution is very very simple but not trivial. After messing around with kernel modules, VB settings, forums, docs; I found the solution deep in one of the forums:

When VirtualBox is installed, it adds a group named “vbxusers” to /etc/group.

In order USB Passthru to work, the user who is running VB on the Linux host, (“cayfer” in my case) must be added to this group; logout and login; vola…

Relevant /etc/group  entry should look like:

vboxusers:x:130:cayfer

 

 

USB Sharing on Linux NoMachine servers with Linux NoMachine Clients

I realized that, even on Ver. 6.3.6 of NoMachine , USB sharing didn’t work out of the box (that is,  in typical, straight forward installations).

To make USB sharing work (i.e. the USB stick you plug in to your client, appears as a USB device on the server) you need to compile nxusb.ko manually on the server (probably on the client as well) and restart the server and re-connect.

The manual compilation is done as follows:

Note: A more detailed document is at https://www.nomachine.com/AR11O00946

Make sure that Linux kernel headers are installed. If not, install them.

dpkg -l | grep linux-headers-$(uname -r)


Make sure that packages bintuils and gcc are installed. If not, install them.

Switch to root and compile nxusb kernel object.

sudo su –
cd /usr/NX/share/src/nxusb && make -f Makefile

In my case,  /usr/NX/bin/drivers/nxusb.ko already existed. But re-compilation generated a different size nxusb.ko file (a little bigger in size).

Copying the new /usr/NX/share/src/nxusb/nxusb.ko  onto /usr/NX/bin/drivers/nxusb.ko and restarting the server solved the issue. I did the same re-compilation and copying on the client as well; but I am not sure this was necessary.

What happens with Windows versions of NoMachine  and how to solve any problems (if there are any at all) with Windows servers and clients is not within my scope of interest.  I never tried it.