vppn/README.md
J. David Lee b9e773ec83 Update - modify hub to support multiple networks. (#4)
Co-authored-by: jdl <jdl@desktop>
Reviewed-on: #4
2025-04-12 11:43:18 +00:00

1.2 KiB

vppn: Virtual Potentially Private Network

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

[Service]
AmbientCapabilities=CAP_NET_BIND_SERVICE
Type=simple
User=user
WorkingDirectory=/home/user/
ExecStart=/home/user/hub -listen <addr>:https -root-dir=/home/user
Restart=always
RestartSec=8

[Install]
WantedBy=default.target

Add and start the hub server:

systemctl daemon-reload
systemctl enable hub
systemctl start hub

Get initial password from logs:

journalctl -f -u hub -n 100

Sign-in and configure.

Peer Configuration

Install the binary somewhere, for example ~/bin/vppn.

Create systemd file in /etc/systemd/system/vppn.service.

[Service]
AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_ADMIN
Type=simple
User=user
WorkingDirectory=/home/user/
ExecStart=/home/user/vppn -hub-address https://my.hub -api-key 1234567890
Restart=always
RestartSec=8

[Install]
WantedBy=multi-user.target

Add and start the service:

systemctl daemon-reload
systemctl enable vppn
systemctl start vppn