FlexiHub Product Page

Step 1: Submit a request for deployment

A private tunnel server deployment can be requested by submitting the following form on our website: https://www.flexihub.com/tunnel-server/#get_a_quote 

NB: a private tunnel server is a paid feature. For pricing information, please check with our Sales Team. 

Once requested, we can either deploy it on our server in your selected location (please, check with us about available options), or you can choose to use your own hosting and server. 

If we host your private tunnel server, our engineers will set everything up for you. Otherwise, please follow the steps below.

Step 2: Aquire a dedicated PC

A server doesn't have to be particularly powerful. A 64-bit PC with 1 GB of RAM, a network adapter and 20 GB of HDD can make a perfectly good server.

Step 3: Get a public IP from your ISP

Your Internet Service Provider (ISP) should provide you with a public IP address (usually a paid option), so it can be possible to connect to your dedicated PC directly via the Internet. 

Step 4: Install the OS

We're using the 64-bit version of CentOS 7 Linux distribution. Please, refer to one of the following installation guides for more information:

Step 5: Enable SSH

SSH software packages are included on CentOS by default. For more information on SSH configuration, please refer to: https://phoenixnap.com/kb/how-to-enable-ssh-centos-7 

Step 6: Provide our engineers with the SSH access to your dedicated server PC 

Our engineers are going to connect to your dedicated PC remotely, install and configure all the tunnel server components. 

Should you decide to install it yourself, we will provide you with the installation package (fredd3) that you can deploy by following the steps described below.

Step 7: Tunnel Server Installation 

1. To install fredd3 on CentOS, run the following command:

(the command is executed from the directory with the new RPM package)

sudo yum install fredd3-****.x86_64.rpm

2. Make sure the daemon is successfully installed:

sudo systemctl status fredd3

The output example:

fredd3.service - FlexiHub Redirector Daemon
Loaded: loaded (/usr/lib/systemd/system/fredd3.service; disabled)
Active: active (running) since Fri 2017-09-15 13:12:29 EEST; 3min 38s ago

Note: If ‘disabled’ is displayed at the end of the second line:

Loaded: loaded (/usr/lib/systemd/system/fredd3.service; disabled)

you will need to run the command to enable the autostart of the tunnel server upon reboot:

sudo systemctl enable fredd3

Step 8: Configure your private tunnel server

1. Place the provided configuration file fredd3.conf at the /etc directory. If the directory already contains the same file, replace it.

Note: In case you did not receive the configuration file fredd3.conf, please contact our Sales Dept. at sales@electronic.us, providing the IP address of your tunnel server and the TCP port for receiving the incoming connections.

2. Run the following command to get the certificate:

sudo /opt/ElectronicUS/fredd3/bin/fredd --getcert

Your tunnel server should make a request at the address https://account.flexihub.com:8063

3. Reboot your tunnel server:

sudo systemctl stop fredd3
sudo systemctl start fredd3

Now, the tunnel server should be connected to the FlexiHub central server (account.flexihub.com:9063).

Step 9: Configure the firewall

To configure the firewall on a computer with the tunnel server:

1. Allow the outgoing connections for the program /opt/ElectronicUS/fredd3/bin/fredd to account.flexihub.com and ports: 8063 (HTTPS) and 9063 (TCP / SSL).

2. Allow the incoming connections to the TCP port specified in the configuration file (see above) and the TCP port you specified when requesting fredd3.conf.

Note: Your private tunnel server needs to be connected to the FlexiHub central server at account.flexihub.com:9063 during the entire period of its work. If the communication over this channel is interrupted, it will cause disconnections between the nodes connected by this tunnel server.