Probleme mit iptables für Wireguard NAT auf vServer (DS-lite)

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
xfeldt
Beiträge: 10
Registriert: 02.03.2019 15:58:08

Probleme mit iptables für Wireguard NAT auf vServer (DS-lite)

Beitrag von xfeldt » 21.02.2021 21:53:49

Hallo zusammen,

ich versuche seit etwa einer Woche einen Spieleserver (Valheim/Steam unter manjaro) aus dem Internet erreichbar zu machen(was wegen DS-Lite und somit fehlender IPv4 sehr schwer ist), wobei die Spieler keine VPN nutzen sollen, da einige über GeforceNow spielen und das schlicht mit VPN nicht geht. Ich habe diverses ausprobiert (zB socat, ging auch für einen Port, aber ich brauche drei UDP-Ports) und habe nun eine Wireguard-VPN zu einem vServer(debian10) erstellt und den entsprechenden Spieleserver mit dem vServer in ein Netzwerk gepackt. Auf dem vServer läuft via iptables ein NAT, leider bekomme ich trotzdem keine Verbindung zu meinem Spieleserver und da ich zuvor quasi nichts mit iptables zutun hatte, bin ich langsam mit meinem Latein am Ende.

Meine Hoffnung ist, dass ein Experte anwesend ist, der mir sagen kann, ob meine Einstellungen richtig sind.

dieses script wird von

Code: Alles auswählen

#!/bin/bash
IPT="/sbin/iptables"
#IPT6="/sbin/ip6tables"

IN_FACE="eth0"                   # NIC connected to the internet
WG_FACE="wg0"                    # WG NIC
SUB_NET="172.16.100.0/24"            # WG IPv4 sub/net aka CIDR
WG_PORT="55555"                  # WG udp port
#SUB_NET_6="fd42:42:42:42::/112"  # WG IPv6 sub/net

## IPv4 ##
$IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $IN_FACE -j MASQUERADE
$IPT -I INPUT 1 -i $WG_FACE -j ACCEPT
$IPT -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT
$IPT -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT
$IPT -I INPUT 1 -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT

#vermulich falsch da es nicht ins 55555 geht. muss irgendwie danach geroutet werden
$IPT -t nat -A PREROUTING -p udp --dport 2456 -j DNAT --to-destination 172.16.100.9:2456
$IPT -t nat -A PREROUTING -p udp --dport 2457 -j DNAT --to-destination 172.16.100.9:2457e 
$IPT -t nat -A PREROUTING -p udp --dport 2458 -j DNAT --to-destination 172.16.100.9:2458
Leider fische ich hier etwas im Trüben. Ist alles richtig? Wenn ja, wurden die Einstellungen auch übernommen? Wo sehe ich das?
Output von iptables -L :

Code: Alles auswählen

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             udp dpt:55555
ACCEPT     all  --  anywhere             anywhere
ACCEPT     udp  --  anywhere             anywhere             udp dpt:55555
ACCEPT     all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Warum tauchen meine Weiterleitungen nicht auf?

Da ich so langsam wahnsinnig werde, würde ich mich über Hilfe sehr freuen!

Liebe Grüße
xfeldt

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Probleme mit iptables für Wireguard NAT auf vServer (DS-lite)

Beitrag von eggy » 21.02.2021 23:15:13

xfeldt hat geschrieben: ↑ zum Beitrag ↑
21.02.2021 21:53:49
Warum tauchen meine Weiterleitungen nicht auf?
Weil Du iptables nicht sagst, dass Du sie sehen willst.
Man muss die gewünschte nennen, sonst bezieht es alles auf die default table.
-t, siehe "man iptables", relativ weit oben.

xfeldt
Beiträge: 10
Registriert: 02.03.2019 15:58:08

Re: Probleme mit iptables für Wireguard NAT auf vServer (DS-lite)

Beitrag von xfeldt » 22.02.2021 00:00:16

Danke, das hat geholfen. Es gab noch alte Einträge mit einer anderen IP. Ich komme über die Adresse nun auf den Server, ob es auch wirklich von außen geht muss noch von anderen getestet werden.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Probleme mit iptables für Wireguard NAT auf vServer (DS-lite)

Beitrag von eggy » 22.02.2021 00:19:41

Du solltest Dein Regelwerk übrigens nochmal genauer betrachten, denn das was da z.B. in INPUT steht, ist ziemlich sinnbefreit.

xfeldt
Beiträge: 10
Registriert: 02.03.2019 15:58:08

Re: Probleme mit iptables für Wireguard NAT auf vServer (DS-lite)

Beitrag von xfeldt » 22.02.2021 00:23:15

Das habe ich aus einem Guide übernommen und ich weiß nicht was das genau tut.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Probleme mit iptables für Wireguard NAT auf vServer (DS-lite)

Beitrag von eggy » 22.02.2021 01:04:38

Nimm's mir nicht übel, aber es ist ne extrem blöde Idee nen Server im Internet zu betreiben, wenn man nicht genau versteht was man da macht. Es gibt mehr als genug Fälle, in denen Spielserver etc als Spammschleudern und/oder Datenablage für Material übelster Sorte genutzt werden. Und rate mal, wer für den Mist dann haftbar gemacht werden wird?

Für jeden Dienst, den man auf nem Server installiert gilt Folgendes:
a) Doku überfliegen
b) insbesondere manpage überfliegen
c) aus weiteren Quellen informieren, u.a. Securityliste des Projekts
d) a-c solange wiederholen bis aus überfliegen verstanden geworden ist

Setzt Dich erstmal damit auseinander, wie Iptables grundsätzlich funktioniert.
Wenn Du beim Dokulesen was nicht verstehst, einfach nachfragen.

Denn so wie hier gezeigt ist das Regelwerk ziemlich überflüssig.
Am Beispiel INPUT:

Code: Alles auswählen

1 Chain INPUT (policy ACCEPT)
2 target     prot opt source               destination
3 ACCEPT     udp  --  anywhere             anywhere             udp dpt:55555
4 ACCEPT     all  --  anywhere             anywhere
5 ACCEPT     udp  --  anywhere             anywhere             udp dpt:55555
6 ACCEPT     all  --  anywhere             anywhere
1: Policy steht auf ACCEPT - alles was nicht verarbeitet wird, wird endlich durchgelassen
3: UDP Zielport 55555 darf durch
4: alle Protokolle egal von wo nach wo darf durch (damit ist 3 überflüssig)
5: wie 3 (hatten wir doch schon, und wegen 4 auch überflüssig)
6: wie 4 und ebenso mehrfach überflüssig
und überhaupt: wegen 1 so alles überflüssig.

Ich hab nur INPUT genauer betrachtet, der Rest wirkt aber auch nicht besser.
Versuch nach dem Lesen einfach mal selbst zu beschreiben, was in den anderen Ketten und Tabellen passiert.
Dann sollte Dir klar werden was bisher schiefgelaufen ist, bzw wo Du was noch nicht oder vielleicht auch falsch verstanden hat. Hier gibts einige, die gerne helfen, aber das Lesen können wir Dir nicht abnehmen.

Sorry, wenn das nach Arbeit klingt, es ist auch, aber nichts im Vergleich zu dem Aufwand, den ein missbrauchter Server verursachen wird.

Antworten