Freymuth hat geschrieben:Und der Fehler mit dem TS 3 Server ..

Ich habe erwartet, wenn für diesen keine Ports freigegeben sind geht der komplett offline o.ä.
Aber wenn man drauf ist funktioniert ja alles einwandfrei. Man kann nur nicht mehr neu connectrn ^^ Hättest du dafür noch eine Erklärung?
Naja, die Firewall tut, was du eingestellt hast (erste Teamspeak-Zeile): "Alle eingehenden Pakete des Protokolls UDP mit dem Zielport 9987, die du keiner Verbindung zuordnen kannst, sind zu akzeptieren". Sobald ein Paket durch diese Regel zugelassen wurde, besteht die Verbindung, d.h. alle nachfolgenden Pakete werden wegen der Zeile nach dem Kommentar "stateful inspection" (bei dir ist ein Schreibfehler drin) zugelassen: "Alle eingehenden Pakete, die Teil einer Verbindung sind oder zu einer Verbindung gehoeren, sind zu akzeptieren".
Wenn du also on-the-fly die Regel fuer den Port rausnimmst, ist die Verbindung noch bekannt und wird wegen
--state ESTABLISHED,RELATED angenommen.
Ansonsten hast du ein grundlegendes Verstaendnisproblem mit der stateful-Eigenschaft: Du musst dich eben nicht mehr um die "Rueckverbindung" kuemmern. Bei den DNS-Regeln machst du das (allerdings waeren dann die
OUTPUT-Regeln mit
--sport anstatt
--dport. Oder du hast tatsaechlich einen DNS-Server laufen). Bei stateful firewalls stellst du auf der
INPUT-Seite ein, was du alles zulassen willst, was dazu fuehrt, dass die Verbindung erkannt und zugelassen wird. Eine dazu passende
OUTPUT-Regel braucht es nicht, weil rein auf die bestehende Verbindung geprueft und zugelassen wird.
Zum Vergleich, bei statischen Firewalls: Du hast eine eingehende Verbindung von
a:x (Host
a, Port
x) auf den lokalen Socket
b:y. Die Antwort darauf ist folglich
b:y -> a:x. Bis auf sehr wenige Ausnahmen ist der Port
x nicht vorhersehbar, man kann also nur auf
y und den Host
a oder
b matchen.
a ist meistens "irgendwer", also bleibt nur
b und
y uebrig. Die entsprechende Regel waere also
Code: Alles auswählen
-A INPUT -d b -p tcp --dport y -j ACCEPT
-A OUTPUT -s b -p tcp --sport y -j ACCEPT
Beachte jeweils
d/
dport und
s/
sport wie destination und source.
Die Regel einer stateful firewall mit derselben Ausgangslage waere
Code: Alles auswählen
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -d b -p tcp --dport y -m state --state NEW -j ACCEPT
Und das willst du auch so verwenden.
Gruss Cae