Getting started

Scenario

In this guide, you will set up a basic Dull tunnel. You need to access the desktop of one or more remote machines. There are many software solutions out there, but they have varying price, features, and customers have varying support and trust for them.

This section guides you through setting up Dull with three machines:

  • Support

  • Cloud Rendezvous / Meeting Point

  • Remote Device

The remote device and your support machine are both behind a firewall (you cannot connect to a remote TCP port directly with a public internet IP address and port).

The remote Windows PC will register at the meet server with the topic TEST-PC, waiting for the support machine to also connect through the meet server with the same topic TEST-PC then start communicating with each other with a shared password with synchronous AES encryption.

You don't have a Dull meet server machine yet to help with securely working around the firewall constraint. So you will be setting one up.

Having a tunnel is fun and all, but it isn't much to show your friends. So in this guide you will also set up TightVNC to use the tunnel.

Overall host path plan

This section shows the overall placement of hosts from a high-level internet view. It also shows the sequence of activation of the whole tunnel, starting with the Remote machine.

  1. Remote Windows PC connects to the Meet Ubuntu Cloud VM server, with a publisher topic TEST-PC

  2. Support Windows PC connects to the Meet Ubuntu Cloud VM server, with a subscriber topic TEST-PC

  3. On the Meet machin, the two network streams from Remote and Support are connected to each other

  4. Now Support and Remote have a bidirectional TCP stream to each other via Meet

Full tunnel duct diagram

This diagram shows you how the duct-point configurations work together to form the full tunnel.

  • The sequence of activation isn't depicted here, refer to the previous diagram for that. Remembering, that successful meeting requires the publisher to be registered first.

  • The lines on the right, show the correlated ducts

  • Encapsulation is not depicted in this diagram

  • An active tunnel will not continue to use the Meet Subscriber, Meet Point, or Meet Publisher duct-points. They are only used for initialisation.

  • The labels on the left indicate the machines that host the correlating duct-points

Configuration Files for each machine

In the configuration files below you'll see the IP Address and Port "192.168.90.1:3000". During this guide, you'll set up your own meet server with its own IP address which you will use instead of 192.168.90.1

Remote Windows PC:

JSON
Activation
Encapsulation
{
"UpgradeURL":"",
"Services": {
"Remote TightVNC": {
"TCP-ReverseClient": "192.168.90.1:3000",
"Meet-Publisher": "TEST-PC",
"AES-Encryption-Server":"R08FGx2lnCUzL8olm",
"TCP-Client": "127.0.0.1:5800"
}
}
}

Meet Ubuntu Cloud VM:

JSON
Activation
Encapsulation
{
"UpgradeURL":"",
"ConfigURL":"",
"Services": {
"Meet TCP": {
"TCP-Server": "*:3000",
"Meet-Point": ""
}
}
}
Two separate activating tunnel-segments are merged and connected

Support Windows PC:

JSON
Activation
Encapsulation
"TEST-PC VNC": {
"TCP-Server": "testhost.local:5900",
"AES-Encryption-Client":"R08FGx2lnCUzL8olm",
"Meet-Subscriber": "TEST-PC",
"TCP-Client": "192.168.90.1:3000"
}