DS-Lite / IPv6 Portfreigaben erstellen inkl. ReverseProxy und VPN-Server
In diesem Video zeige ich euch, wie ihr bei einem DS-Lite Anschluss, einem Anschluss hinter einem CG-NAT oder wenn ihr nur eine IPv6 Adresse habt Ports an das Internet öffnen könnt. Außerdem installieren wir direkt einen ReverseProxy, so dass Ihr ganz einfach mehrere Webseiten über eueren Internet Anschluss inkl. SSL Zertifikat erreichbar machen könnt.
Du benötigst Unterstützung bei der Installation oder Konfiguration deines WireGuard VPN-Tunnels? Ich helfe dir gerne weiter! Schreib mir einfach eine Mail an: service@apfelcast.com
» Ports direkt durchreichen: https://cc.apfelcast.com/dz6ck
» VPN-Verbindung ins Heimnetz aufbauen: https://cc.apfelcast.com/wo39l
» 20€ Hetzner Startguthaben: https://hetzner.cloud/?ref=580VHBiG8SNl
» AWOW mini PC VPN Client Server: https://amzn.to/3kvryjK
» Relevante Videos:
WireGuard VPN Server installieren: https://www.youtube.com/watch?v=yOmYfxAFMnM
WireGuard Site-to-Site VPN: https://youtu.be/aiabrnHj6_o
HomeServer selbst bauen: https://www.youtube.com/playlist?list=PLLg1WgOBYXOs3dFOlaujpPLXVkq06btrk
Im Video verwendete Befehle:
###### WireGuard Tunnel ######
## install WireGuard ##
apt install wireguard
## enbale ip forwarding ##
nano /etc/sysctl.conf
uncomment net.ipv4.ip_forward=1
## apply changes ##
sysctl -p
## generate public and private keys ##
cd /etc/wireguard
umask 077; wg genkey | tee privatekey | wg pubkey > publickey
--> site 1 (server)
## create wg0.conf
nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <site-1 private-key>
Address = 10.0.0.1/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
[Peer]
PublicKey = <site-2 public-key>
AllowedIPs = 10.0.0.0/24, 192.168.178.0/24
PersistentKeepalive = 25
--> site 2 (client)
## create wg0.conf
[Interface]
PrivateKey = <site-2 private-key>
Address = 10.0.0.3/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <site-1 public-key>
Endpoint = <FQDN>:51820
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
--> on site 1 and 2
## start connection ##
wg-quick up wg0
## show status ##
wg show
######## Nginx Proxy Manager ########
## install Docker && Docker-Compose ##
apt install docker.io && apt install docker-compose -y
## create projekt directory and open it ##
mkdir npm
cd npm
## create docker congig.json ##
nano config.json
{
"database": {
"engine": "mysql",
"host": "db",
"name": "npm",
"user": "npm",
"password": "npm",
"port": 3306
}
}
## creacker docker-compose.yml ##
nano docker-compose.yml
version: "3"
services:
app:
image: jc21/nginx-proxy-manager:latest
restart: always
ports:
- 80:80
- 81:81
- 443:443
volumes:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
environment:
# if you want pretty colors in your docker logs:
- FORCE_COLOR=1
db:
image: mariadb:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: "npm"
MYSQL_DATABASE: "npm"
MYSQL_USER: "npm"
MYSQL_PASSWORD: "npm"
volumes:
- ./data/mysql:/var/lib/mysql
## build the conatiner ##
docker-compose up -d
## acess via web browser ##
http://hostip:81
## default login ##
user: admin@example.com
pw: changeme
######## IP Tables Forwarding ########
iptables -t nat -A PREROUTING -p tcp --dport 81 -j DNAT --to-destination 10.0.0.1:81
iptables -t nat -A POSTROUTING -j MASQUERADE
######## WireGuard automatisieren ########
## enable on system boot ##
systemctl enable wg-quick@wg0
apfelcast Support
Du benötigst Unterstützung bei deinem Projekt oder hast Fragen zur Umsetzung?
Dann melde ich gern bei uns!