DNet Tinc App Driver

The DNet App Driver maps the block data to the App's configuration settings and manage the life cycle the Tinc-VPN App.

Onchain - Offchain Mapping

DNet Blockchain Data

Each dnet record contains a list of map, each map then contains a member node info, including a pair of (virtual IP address, PubKey).

Each dent record also contains a relational link to ovc record.

Offchain Tinc VPN Configuration

The following settings are needed to create encrypted tunnels to peer nodes:

  • Self Node
    • Public Key and Private Key generation
    • Virtual Network Interface Card (NIC) configuration with slef virtual IP Address
  • Peer Nodes:
    • PubKey of peer nodes
    • Virtual IP Address for routing table management
  • Proxy Nodes:
    • PubKey of proxy nodes
    • Static Public IP Address

The Tinc VPN docs has the complete guide.

One-2-one mapping

As shown above, there is a one-2-one mapping of the on-chain data and the Tinc VPN setting. With the DNetDB data, the Tinc App Driver programm can fully automate the configuration.

The Tinc App Driver programm initially pulls the data from blockchain to configure Tinc, then subscribes to the DNetDB events to update the settings accordingly, e.g. when peer nodes join or leave the dnet.

App Lifecycle Management

Init

John/Leave

Start/Stop

Connection/Disconnet

Edit this page on GitHub