Mein wg0 sieht so aus:
[Interface]
Address = 10.0.0.1/24
ListenPort = 62000
PrivateKey = <Key>
#Auskommentiert nach Antwort 2 weiter unten
#PostUp = iptables -A FORWARD -i wg0 -o ens6 -j ACCEPT
#PostUp = iptables -A FORWARD -i ens6 -o wg0 -m state --state RELATED,ESTABLISHED -j ACCEPT
#PostDown = iptables -D FORWARD -i wg0 -o ens6 -j ACCEPT
#PostDown = iptables -D FORWARD -i ens6 -o wg0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# WireGuard @ Home
[Peer]
PublicKey = <Key>
PresharedKey = <Key>
AllowedIPs = 10.0.0.2/32, 172.16.1.1, 172.16.1.5/32, 172.16.1.10/32
PersistentKeepalive = 25
Ja ich merks gerade selber, darüber kriege ich die 200 nicht erreicht, stimmt
Achso, ich dachte du machst von deinem PC auch einen WireGuard dahin auf, so mesh-mäßig, dass du alle Clients per WireGuard-IP erreichen kannst.
Diese komischen Regeln da oben drin, brauchst du auch nicht.
Jetzt fehlt also nur noch die Umleitung des Port 80 und 443 Traffics an Nginx (172.16.1.200), was im wg1 des VPS eingestellt wird?
Hast du die weggemacht diese komischen Regeln da? Da fehlt jetzt noch das SNAT / Masquerade auf dem WG
Also nochmal zusammenfassend:
VPS wg0:
[Interface]
Address = 10.0.0.1/24
ListenPort = 62000
PrivateKey = <Key>
# WireGuard @ Home
[Peer]
PublicKey = <Key>
PresharedKey = <Key>
AllowedIPs = 10.0.0.2/32, 172.16.1.1, 172.16.1.5/32, 172.16.1.10/32
PersistentKeepalive = 25
VPS wg1
[Interface]
Address = 10.20.0.1/24
ListenPort = 62001
PrivateKey = <Key>
# WireGuardPublic @ Home
[Peer]
PublicKey = <Key>
PresharedKey = <Key>
AllowedIPs = 10.20.0.2/32, 172.16.1.0/24
PersistentKeepalive = 25
Willst du mit iptables
weitermachen oder zukunftsmäßig denken und auf nftables
wechseln?
Nene, gerne schon nftables
Ok, erstmal auf dem VPS installieren
xiao@IONOS-VPS:~$ sudo apt install nftables
[sudo] password for xiao:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
nftables is already the newest version (1.0.9-1build1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Done, bzw war schon drauf.
Da müsste eine /etc/nftables.conf
sein.
Jep, Inhalt ist:
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority filter;
}
chain forward {
type filter hook forward priority filter;
}
chain output {
type filter hook output priority filter;
}
}
1 „Gefällt mir“
Wir resetten erstmal alles und haben anschließend eine tabelle (ähnlich den iptables nehme ich an), wo ich für die verschiedenen routing chains, Regeln eintragen kann. Ich gebe aber zu, dass ich mich mit iptables nie so wirklich beschäftigt habe, das hier sind für mich jetzt böhmische Dörfer. Ich könnte jetzt die KI meines Vertrauens fragen, aber ich denke hier geht’s doch schneller und kompetenter. Da fehlt eine nat
chain würde ich sagen
Jo, obwohl ChatGPT auch ziemlich gut ist darin und eine gute Doku haben die auch. Aber routing-Chains heißt das nicht. 
Da schreibst du jetzt mal unten dran, also unter die letztes Klammer
table inet nat {
chain prerouting {
type nat hook prerouting priority -100;
ip daddr <???> ip protocol tcp tcp dport { 80, 443 } dnat to <???>
}
}
Die Fragezeichen sind für dich, damit du auch mitdenkst. (Was man auch merkt, dass du es es willst.)
table inet nat {
chain prerouting {
type nat hook prerouting priority -100;
ip daddr 87.106.167.247 ip protocol tcp tcp dport { 80, 443 } dnat to 172.16.1.200
}
}
Wäre jetzt mein Gedankengang. Von der Public-IP des VPS zum Nginx, die korrekte Route ist dabei im wg1 bereits hinterlegt.
Jo
Genau richtig.
Musst nur die IPtables flushen und deaktivieren und dafür den nftables.service
aktivieren
Also ich habe jetzt folgendes gemacht:
xiao@IONOS-VPS:~$ sudo iptables -F
xiao@IONOS-VPS:~$ sudo iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
xiao@IONOS-VPS:~$ sudo systemctl enable nftables && sudo systemctl start nftables
Created symlink /etc/systemd/system/sysinit.target.wants/nftables.service → /usr/lib/systemd/system/nftables.service.
Ok, dann mal nft list ruleset
um zu schauen, ob alles da ist, was wir erwarten.
Sieht so aus:
xiao@IONOS-VPS:~$ sudo nft list ruleset
table inet filter {
chain input {
type filter hook input priority filter; policy accept;
}
chain forward {
type filter hook forward priority filter; policy accept;
}
chain output {
type filter hook output priority filter; policy accept;
}
}
table inet nat {
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
ip daddr 87.106.167.247 ip protocol tcp tcp dport { 80, 443 } dnat ip to 172.16.1.200
}
}