updated documentation
This commit is contained in:
8
VPN/readme.md
Normal file
8
VPN/readme.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# VPN Setup
|
||||||
|
|
||||||
|
I used 2 VPNs in my home setup
|
||||||
|
|
||||||
|
1. Unify VPN
|
||||||
|
2. WireGuard VPN
|
||||||
|
|
||||||
|
Reason being that Unify VPN is not easy to set up for an ubuntu machine, and I was not able to configure my VPS with it. That is why I set up a wireguard VPN to connect my local network to the VPS.
|
||||||
111
VPN/unify-vpn/readme.md
Normal file
111
VPN/unify-vpn/readme.md
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
# VPN setup
|
||||||
|
|
||||||
|
## Intro
|
||||||
|
|
||||||
|
This is a manual to set up the Unify VPN server on an ubuntu machine. Note that this is quite difficult to set up, and I was not able to complete the set up on my VPN. This is why I still use a WireGuard VPN next to this one.
|
||||||
|
|
||||||
|
The advantages of this VPN however are that Ubiquity has quite a nice app (android/iOS/windows) to connect to the local network. That is why the main use of this VPN will be to connect to the home network from the outside.
|
||||||
|
|
||||||
|
## Installation on linux
|
||||||
|
|
||||||
|
See [this github thread](https://gist.github.com/nahall/6b23603ce9df2500a4053b280071d1ad)
|
||||||
|
|
||||||
|
- In Debian install the "xl2tpd" and "strongswan" packages.
|
||||||
|
|
||||||
|
- Edit /etc/ipsec.conf to add the connection:
|
||||||
|
|
||||||
|
conn YOURVPNCONNECTIONNAME
|
||||||
|
authby=secret
|
||||||
|
pfs=no
|
||||||
|
auto=start
|
||||||
|
keyexchange=ikev1
|
||||||
|
keyingtries=3
|
||||||
|
dpddelay=15
|
||||||
|
dpdtimeout=45
|
||||||
|
dpdaction=clear
|
||||||
|
rekey=no
|
||||||
|
ikelifetime=3600
|
||||||
|
keylife=3600
|
||||||
|
type=transport
|
||||||
|
left=%defaultroute
|
||||||
|
leftprotoport=17/1701
|
||||||
|
# Replace IP address with your VPN server's IP
|
||||||
|
right=IPADDRESSOFVPNSERVER
|
||||||
|
rightprotoport=17/%any
|
||||||
|
ike=aes128-sha1-modp2048,aes256-sha1-modp4096,aes128-sha1-modp1536,aes256-sha1-modp2048,aes128-sha1-modp1024,aes256-sha1-modp1536,aes256-sha1-modp1024,3des-sha1-modp1024!
|
||||||
|
esp=aes128-sha1-modp2048,aes256-sha1-modp4096,aes128-sha1-modp1536,aes256-sha1-modp2048,aes128-sha1-modp1024,aes256-sha1-modp1536,aes256-sha1-modp1024!
|
||||||
|
|
||||||
|
|
||||||
|
- Edit /etc/ipsec.secrets to add the secret key for this connection:
|
||||||
|
|
||||||
|
IPADDRESSOFVPNSERVER : PSK "SECRETPRESHAREDKEY"
|
||||||
|
|
||||||
|
|
||||||
|
- Edit /etc/xl2tpd/xl2tpd.conf to add this connection:
|
||||||
|
|
||||||
|
[lac YOURVPNCONNECTIONNAME]
|
||||||
|
lns = IPADDRESSOFVPNSERVER
|
||||||
|
ppp debug = yes
|
||||||
|
pppoptfile = /etc/ppp/options.l2tpd.client-YOURVPNCONNECTIONNAME
|
||||||
|
length bit = yes
|
||||||
|
|
||||||
|
|
||||||
|
- Create the file /etc/ppp/options.l2tpd.client-YOURVPNCONNECTIONNAME:
|
||||||
|
|
||||||
|
ipcp-accept-local
|
||||||
|
ipcp-accept-remote
|
||||||
|
noccp
|
||||||
|
refuse-eap
|
||||||
|
refuse-chap
|
||||||
|
noauth
|
||||||
|
idle 1800
|
||||||
|
mtu 1410
|
||||||
|
mru 1410
|
||||||
|
defaultroute
|
||||||
|
|
||||||
|
# Uncomment if you want to use the DNS servers of the VPN host:
|
||||||
|
#usepeerdns
|
||||||
|
|
||||||
|
debug
|
||||||
|
logfile /var/log/xl2tpd.log
|
||||||
|
connect-delay 5000
|
||||||
|
proxyarp
|
||||||
|
name VPNUSERNAME
|
||||||
|
password "VPNPASSWORD"
|
||||||
|
|
||||||
|
|
||||||
|
- Now to connect to the VPN create a script:
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Connecting to VPN..."
|
||||||
|
|
||||||
|
echo "c YOURVPNCONNECTIONNAME" > /var/run/xl2tpd/l2tp-control
|
||||||
|
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
# To have all internet traffic routed through the VPN uncomment:
|
||||||
|
#ip route add default dev ppp0
|
||||||
|
|
||||||
|
# To only have a remote subnet routed through the VPN uncomment
|
||||||
|
# (this line assumes the remote subnet you want routed is 192.168.0.0/24 and the remote VPN end is 10.11.0.1:
|
||||||
|
ip route add 192.168.0.0/24 via 10.11.0.1 dev ppp0 uplink
|
||||||
|
|
||||||
|
> Script above didn't work exacly. I had to add `onlink` at the end
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/etc/init.d/ipsec restart
|
||||||
|
/etc/init.d/xl2tpd restart
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
- And to disconnect to the VPN create a script:
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
ip route del default dev ppp0
|
||||||
|
ip route del 192.168.0.0/24 dev ppp0
|
||||||
|
|
||||||
|
echo "d YOURVPNCONNECTIONNAME" > /var/run/xl2tpd/l2tp-control
|
||||||
|
service xl2tpd restart
|
||||||
|
|
||||||
12
VPN/wireguard-vpn/docker-compose.yml
Normal file
12
VPN/wireguard-vpn/docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
version: "3.9"
|
||||||
|
services:
|
||||||
|
whoami:
|
||||||
|
network_mode: "host"
|
||||||
|
image: traefik/whoami
|
||||||
|
command:
|
||||||
|
- --port=2001
|
||||||
|
traefik:
|
||||||
|
network_mode: "host"
|
||||||
|
image: "traefik:1.7.10"
|
||||||
|
volumes:
|
||||||
|
- /home/pi/repos/homeAutomation/traefik/traefik.1.7.10.toml:/etc/traefik/traefik.toml
|
||||||
5
VPN/wireguard-vpn/readme.md
Normal file
5
VPN/wireguard-vpn/readme.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# WireGuard VPN
|
||||||
|
|
||||||
|
## Intro
|
||||||
|
|
||||||
|
This VPN is meant to connect the VPS with the home network. This folder also contains a docker-compose with a traefik setup. This traefik setup connects the home network with the VPS.
|
||||||
18
vpn.md
18
vpn.md
@@ -1,18 +0,0 @@
|
|||||||
# VPN setup
|
|
||||||
|
|
||||||
## OS
|
|
||||||
|
|
||||||
I used a raspberry pi with Raspberry PI OS lite on it.
|
|
||||||
|
|
||||||
>Best to use Raspberry Pi Imager to flash image onto SD card. This flasher allows you to enable SSH and configure WLAN during flashing
|
|
||||||
|
|
||||||
After that, I followed [this tutorial](https://pimylifeup.com/raspberry-pi-wireguard/)
|
|
||||||
|
|
||||||
Notes on the tutorial:
|
|
||||||
|
|
||||||
- Working with a no-ip hostname did not work. Probably because I did not wait long enough after configuring the hostname? For now, I have configured an IP address, but this is not ideal, as the IP address can change.
|
|
||||||
- After configuring the pivpn, best to run `pivpn -d` to fix an iptables issue (see [faq](https://docs.pivpn.io/faq/))
|
|
||||||
|
|
||||||
## Install docker & docker compose
|
|
||||||
|
|
||||||
See [this](https://www.jfrog.com/connect/post/install-docker-compose-on-raspberry-pi/)
|
|
||||||
Reference in New Issue
Block a user