TeamSpeak 3 Server Port Forwarding klappt nicht

ts7622

Ensign
Registriert
Aug. 2012
Beiträge
237
guten Abend zusammen,

ich habe einen TeamSpeak 3 Server auf einem Ubuntu Computer installiert und möchte den jetzt gerne über Port Forwarding zugänglich machen. Nur will das nicht so recht funktionieren. Nebenbei läuft auf dem Zielcomputer XAMMP (Webserver), den ich problemlos über der externen IP erreichen kann.

Port Forwarding Ausschnitt des Routers (ASUS DSL-AC68U):
port_forwarding.png

netstat -tulpen (ausgeführt auf Zielcomputer unter Ubuntu betreffend TeamSpeak Server):
Code:
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
tcp        0      0 0.0.0.0:30033           0.0.0.0:*               LISTEN      0          12629       1324/ts3server_linu 
tcp        0      0 0.0.0.0:10011           0.0.0.0:*               LISTEN      0          13748       1324/ts3server_linu
udp        0      0 0.0.0.0:9987            0.0.0.0:*                           0          12638       1324/ts3server_linu

Was mach ich falsch? Wie gesagt, der Webserver ist tadellos. Bin echt am verzweifeln^^ Bin für jeden Rat dankbar.
 
Nabend,

Also Teamspeak nutzt folgende Ports:
  • Default port (UDP eingehend): 9987
  • Default filetransfer port (TCP eingehend): 30033
  • Default serverquery port (TCP eingehend): 10011
  • Default weblist port (UDP ausgehend): 2010
  • Default tsdns port (TCP eingehend): 41144
  • Default accounting port (TCP ausgehend): 2008

Wichtig ist, dass du TCP und UDP beachtest. Eventuell kann der Accounting Port dein Problem sein. Ist aber eine Vermutung, habe nie TS selber gehostet..
 
Erstmal danke für deine Antwort!

Leider bringt mich das auch nicht zum Erfolg. Ich habe alle Ports wie von dir aufeglistet eingetragen, aber es tut sich immer noch ncihts.

Übrigens (ganz vergessen): Lokal kann ich auf den Server zugreifen, deswegen schließe ich einen Softwarefehler seitens des TeamSpeak Servers aus.
 
Muss dem Vorposter zustimmen. Hier das Minimum an Ports, mit dem ich meinen Server am laufen gehalten habe:
2Uxu2RE.png
 
Zuletzt bearbeitet:
Ich habe die Ports bereits nach seinem Post hinzugefügt, was mir aber nichts gebracht hat. Hier ein Screenshot von den aktuellen Einstellungen meines Routers:

Unbenannt.png

Die Firewall ist scheinbar deaktiviert (sudo ufw status: inactive). Ich bin was Linux angeht ein absoluter Anfänger und nehme jeden Rat an. Wenn die Firewall aktiv ist und angenommen die Ports nicht freigibt, warum kann ich dann über Port 80 auf den HTTP-Server zugreifen?
Ergänzung ()

Ich habe das ganze gerade mal unter einer Windows Installation getestet. Auf den Server unter Windows kann ich durch Port Forwarding zugreifen. Also muss es an Ubuntu liegen. Die Firewall ist aber scheinbar inaktiv.

Hat jemand weitere Vorschläge für mich?
 
Leider kann ich dann auch nicht weiterhelfen. Weder in Windows 7 noch in Centos 6 musste ich beim im Betriebssystem selber etwas freigeben. Der Server war direkt ohne Probleme erreichbar.

Eventuell kannst du dich noch ans TS3 Forum wenden, wenn wir dir hier nicht weiterhelfen können.
 
Ich arbeite ehrlich gesagt nicht mit ufw und bin mir daher nicht so 100%ig sicher wie es arbeitet. ufw ist soweit ich weiß nur ein Frontend für iptables, um die Bedienung zu vereinfachen. Es könnten aber auch Regeln in den iptables definiert sein, die nicht mittels ufw gesetzt wurden.

Mit netstat siehst du letztendlich nur welche Dienste auf welchen Ports auf Pakete warten. Die Firewall ist aber davorgeschaltet und blockt evtl. eingehende Pakete von vornherein

Schau dir mal sudo iptables -L an. Evtl. ist dort eine Regel drin, die Pakete blockt bzw. nur Port 80 für den Webserver zulässt.



sudo iptables -A INPUT -p udp --dport 9987 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 30033 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 10011 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 41144 -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 2010 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 2008 -j ACCEPT


Das fügt beispielsweise die Regeln hinzu, die ein- bzw ausgehenden Traffic auf den Ports aus der Liste von capilano weiter oben zulassen. Es dürfen allerdings bei sudo iptables -L allerdings keine DROP-Regeln in der jeweiligen Chain (INPUT/OUTPUT) über diesen Regeln stehen, weil die Liste von oben nach unten abgearbeitet wird und der erste Treffer zählt.

Wenn sichergestellt ist, dass der Traffic nicht geblockt wird, kannst du zB mit tcpdump checken ob auch wirklich Daten ankommen. Allerdings sagt der Windows-Test eigentlisch schon aus, dass das Port Forwarding im Router funktioniert.
 
Zuletzt bearbeitet:
über iptables -L sehe ich keinen Eintrag, der auf Port 80 verweist. Auch das hinzufügen der Ausnahmen hat nichts gebracht. ufw ist in meinem Fall übrigens ausgeschaltet, deswegen kann das Problem nicht daran liegen.

Irgendwie ist da der Wurm drin :/ Oder gibt es noch Vorschläge, was ich probieren könnte? Das System war übrigens frisch augesetzt. Ich habe also keinerlei Änderungen unternommen, bis auf die Installation von XAMPP, TS-Server und SMB-Freigabe.
 
Mit tcpdump kannst du dir anschauen ob überhaupt Daten beim Server ankommen. So ausm Kopf würd ich sagen tcpdump -nn tcp and port 30033. Das zeigt dir Pakete an mit diesem Port an. Mit weiteren ands/ors kannst du dir letztendlich die komplette TS-Kommunikation anzeigen lassen.
tcpdump -nn '(tcp and (port 30033 or port 10011)) or (udp and port 9987)' usw..

Es kann sein, dass du auch in der Konfiguration des TeamSpeak-Servers einstellen musst, dass er von jeder IP aus erreichbar sein soll. Nutzt du ihn lokal, kommt die Verbindung ja von einer bekannten IP innerhalb des eigenen Subnetzes. Verbindest du von außen, kommt die Verbindung mit einer öffentlichen Quell-IP. Das kann durchaus auch im Server selbst blockiert werden. Wie genau da die Einstellungen sind, kann ich dir allerdings nicht sagen, weil ich bisher noch keinen TeamSpeak-Server installiert habe. Zwar steht bei netstat, dass der Dienst auf 0.0.0.0 hört, aber was weiß ich was der Server intern macht.

*edit

Auf der englischen Seite von TeamSpeak findet sich im übrigen folgende Portliste:
[..]
Default weblist port (UDP out): 2011-2110 (first available port in given range)
Das weicht etwas von dem ab was capilano weiter oben von der deutschen TeamSpeak-Seite gepostet hat. Am besten erstmal alles von beiden Listen einpflegen.

Weiter steht da:
In addition to that, packets originating from or sent to accounting.teamspeak.com:2008 (TCP) and weblist.teamspeak.com:2010 (UDP) must not be blocked. [..] These services have changed IP addresses in the past and will continue to do so in the future.
Ich weiß nicht wie zwingend das ist. In dem Falle müsste man wohl regelmässig die iptables aktualisieren, um einen IP-Wechsel mitzubekommen. (zB cronjob 2x am Tag oder so).

All das ist aber recht aufwändig und unnötig kompliziert. Vermutlich bist du mit dem TeamSpeak-Forum besser beraten. Ich kann nur spekulieren und allgemeine Lösungsansätze bieten, weil ich keine Ahnung von TeamSpeak im Speziellen habe.
 
Zuletzt bearbeitet:
Hallo zusammen,

ich habe mich weiter informiert und durch http://canyouseeme.org herausgefunden, dass Port 9987 nicht erreichbar ist. 30033 und 10011 stellen kein Problem da und sind erreichbar (und 80, wie gesagt, auch). Folgendes habe ich daraufhin ausprobiert:

Code:
sudo iptables -A INPUT -p udp --dport 9987 -j ACCEPT
nc -1 9987
netstat -lnp | grep ts3 bringt übrigens folgendes:
Code:
tcp        0      0 0.0.0.0:30033           0.0.0.0:*               LISTEN      8115/ts3server_linu
tcp        0      0 0.0.0.0:10011           0.0.0.0:*               LISTEN      8115/ts3server_linu
udp        0      0 0.0.0.0:9987            0.0.0.0:*                           8115/ts3server_linu

Weiß jemand weiter?
 
Ich hab oben doch schon geschrieben: Mach mal tcpdump und check ob beim Server überhaupt Daten ankommen.


tcpdump -nn udp and port 9987

Wenn da nix ankommt, macht der Router zu.
Ergänzung ()

Im übrigen sind Portscanner nicht zuverlässig. Das sieht man schön, wenn man 5 verschiedene ausprobiert und 5 verschiedene Ergebnisse bekommt.

Ich hoffe du testest das ganze nicht nur von daheim. Sowas testet man von außen - zB via Handy-Hotspot.
 
Zuletzt bearbeitet:
Zurück
Oben