wip
This commit is contained in:
86
README.md
86
README.md
@@ -1,2 +1,86 @@
|
||||
# vppn
|
||||
# vppn: Virtual Pretty Private Network
|
||||
|
||||
## Roadmap
|
||||
|
||||
* Peer: router: create process for managing the routing table
|
||||
* Peer: router: track mediators, enable / disable ...
|
||||
* Hub: track peer last-seen timestamp
|
||||
* Peer: local peer discovery - part of RoutingProcessor
|
||||
|
||||
## Principles
|
||||
|
||||
* Creates an IPv4/24 network with a maximum of 254 peers. (1-254)
|
||||
* Simple setup: via setup link from the hub.
|
||||
* Each peer has full network state replicated from the hub.
|
||||
|
||||
## Design
|
||||
|
||||
* Append nonce to end of packet
|
||||
* Then it's readable whether signed or unsiged
|
||||
* Types of packets to send:
|
||||
* standard: encrypt and send
|
||||
* Forward via: encrypt, sign and send
|
||||
* Forward to: send
|
||||
* Type of packeting read from interface:
|
||||
* Forward to: check signature
|
||||
* Forwarded, standard
|
||||
|
||||
Incoming from net:
|
||||
* Data for iface
|
||||
* Packet for forward
|
||||
* Packet for routingHandler
|
||||
* Incoming from iface:
|
||||
* Data for peer
|
||||
|
||||
## Hub Server Configuration
|
||||
|
||||
```
|
||||
# Create user.
|
||||
adduser user
|
||||
|
||||
# Enable ssh.
|
||||
cp -r ~/.ssh /home/user/
|
||||
chown -R user:user /home/user/.ssh
|
||||
|
||||
```
|
||||
|
||||
Upload `hub` executable:
|
||||
|
||||
```
|
||||
scp hub user@<remote>:~/
|
||||
```
|
||||
|
||||
Create systemd file in `/etc/systemd/system/hub.service
|
||||
|
||||
```
|
||||
Description=hub
|
||||
Requires=network.target
|
||||
|
||||
[Service]
|
||||
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||
Type=simple
|
||||
User=user
|
||||
WorkingDirectory=/home/user/
|
||||
ExecStart=/home/user/hub -listen <addr>:https -secure=true -root-dir=/home/user
|
||||
Restart=always
|
||||
RestartSec=8
|
||||
TimeoutStopSec=24
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
```
|
||||
|
||||
Add and start the hub server:
|
||||
|
||||
```
|
||||
systemctl daemon-reload
|
||||
systemctl start hub
|
||||
```
|
||||
|
||||
Get initial password from logs:
|
||||
|
||||
```
|
||||
journalctl -f -u hub -n 100
|
||||
```
|
||||
|
||||
Sign-in and configure.
|
||||
|
||||
Reference in New Issue
Block a user