Teotun creates secret tunnel between hosts without public IPs using Teonet. The connection based on TRU transport and create reliable, low latency, encrypted P2P channels between connected peers.
Create regular tunnel between thee hosts.
One host will be Main and all other will connect to main host on start. Main host does not have -connectto parameter. All other hosts use teonet address of Main host in -connectto parameter.
Connect to your host and clone this reposipory:
git clone https://github.com/teonet-go/teotun.git
cd teotun
TUN=teotun1 && sudo go run ./cmd/teotun/ -name=$TUN -postcon="./if_up.sh $TUN 10.1.2.1/24" -loglevel=connect -hotkey -stat
Copy teonet address which prints after Main teotun started:
Teonet address: MIxxCM5mxilJ9Oa4zvQJbkSBp7mB4xuyZMM
Use this address in -connectto parameter in Host A and Host B
TUN=teotun1 && sudo go run ./cmd/teotun/ -name=$TUN -connectto=MIxxCM5mxilJ9Oa4zvQJbkSBp7mB4xuyZMM -postcon="./if_up.sh $TUN 10.1.2.2/24" -loglevel=connect -hotkey -stat
TUN=teotun1 && sudo go run ./cmd/teotun/ -name=$TUN -connectto=MIxxCM5mxilJ9Oa4zvQJbkSBp7mB4xuyZMM -postcon="./if_up.sh $TUN 10.1.2.3/24" -loglevel=connect -hotkey -stat
When teotun will be started on all hosts, you can use any network commands between this hosts by its local IPs 10.1.2.1, 10.1.2.2, 10.1.2.3.
For example, you can ping Host B from Host A.
Login to Host B and execute command:
ping 10.1.2.2
All host in teotun network connect P2P so you will see lowest ping between Host B and Host A.