@PFsense-User2019 said in Portfreigabe klappt nicht:
das er mit dem Port 6666 ins Internet geht und auch noch nach dem NAT den Port 6666 hat?
Aber wieso ändert sich der Port nach dem NAT?
Einfach: Ein Gerät will eine externe Verbindung öffnen. Bspw. HTTPS. Dann spezifiziert das Protokoll: Server muss auf tcp/443 lauschen. Clients sollen von >1023 anfragen. Einfacher Fall, toll zu nutzen, denn keine Clients gehen sich gegenseitig auf den Keks. Füge NAT hinzu: immer noch kein großes Problem, denn selbst mehrere Kinder hinter der NAT können zum gleichen Ziel was aufbauen, weil die sich ausgehend eher selten überschneiden. Könnten sie aber! Und das bringt uns zum Problem: wenn jetzt 2 Clients sich entscheiden mit tcp/12345 abgehend zu senden und die gleiche IP aufrufen - was dann? NAT macht die IP Übersetzung und merkt sich 12345 interne IP -> 443 externe IP. Dann kommt der nächste - mit dem gleichen. Jetzt kommt die Antwort von extern -> wohin soll NAT nun die Pakete schicken? Oder anhand was soll es feststellen von wem die kamen? Geht nicht. Ergo randomisiert outbound NAT den Quellport zu irgendwas freiem in seiner Tabelle und schickt es so. Für HTTP/S bspw. ist der Quellport ja egal.
Zudem gibt es Möglichkeiten für IP Spoofing & Fingerprinting um herauszufinden, wieviele/welche Hosts hinter einem NAT stehen und ggf. deren Session zu klauen. Dagegen hilft Source Port Randomisierung. Und viele OS haben das historisch sehr lange sehr schlampig gemacht - wenn überhaupt (nicht genug Zufäligkeit).
Problem sind nun aber eben Dienste, die unbedingt wollen, dass die Verbindung von oder zu einem bestimmten Port kommt/geht. Die sind von einem zufälligen Port dann verwirrt oder funktionieren nicht. SIP bspw. oder auch IPsec. Daher gibt es für diese die Möglichkeit mit static port mappings. Da gehören dann auch "schlampige" Spiele rein, die P2P oder andere Mechanismen machen um keine eigenen Server nutzen zu müssen oder weil das angeblich so viel schneller wäre. Würde der Verbindungsaufbau schlicht über eine Art Connection Server gehen, an dem sich die Spieler anmelden (dafür sind oft genug die Lobbies) und anschließend werden die Verbindungen zusammengeschaltet geht das problemlos, da kein eingehender Verkehr benötigt wird. Bei P2P Sachen hat man meist einen oder mehrere bestimmte Ports die dann auf den jeweiligen PC/Konsole weitergereicht werden müssen (eingehend) ode die ausgehend gesprochen werden. Nur dann klappts.
Fun Fact: Du schreibst Satisfactory in deinem Screenshot: Dafür ist der ganze Spaß komplett unnötig 😁 Spielen hier 3 Menschis problemlos hinter NAT etc. miteinander. Einziges Problem ist da der Client und der EGS/Epic Binding zum Server, der oft beim ersten oder zweiten Mal Starten "strict NAT" ausgibt, beim Neustart des Spiels aber plötzlich auf Type 2 runtergeht (hinter NAT aber erreichbar) und Tada es geht. Muss man nur ab und an den Client mal neustarten bis der Server verstanden hat, was Phase ist 😃