Liebe Linuxer,
erst mal danke für die bereits erfolgte Hilfe. Leider klappt es aber nicht
und mir ist nicht klar, warum. Ich muss einen Windows (leider)
Terminalserver für externe Rechner über Internet zugänglich machen und das
hinter meiner SuSEfirewall2.
ext.PC (217.249.238.51)
|
|
ext. ppp0 (217.89.13.2) IP im WWW bekannt über dyndns
Firewall
int.eth0 (192.168.2.1)
|
|
int. (192.168.2.5)
Terminalserver
Also nach Eurer Hilfe hab ich auf der Firewall den Befehl
iptables -t nat -I PREROUTING -p tcp --dport 3398 -j DNAT --to 192.168.2.5
eingegeben und bekomme mit
iptables -L -t nat folgende Ausgabe
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:mercantile
to:192.168.2.5:3398
Port 3398 (mercantile in /etc/services) ist für den Terminalserver.
Ich dachte sieht doch gut aus, alle tcp Pakete, egal woher, die auf Port
3398 eingehen, werden auf Ziel 192.168.2.5 umgeleitet. Der Ping von meiner
Firewall auf den Terminalserver geht, also das Routing sollte kein Problem
darstellen. Leider klappt es aber nicht. Jetzt hab ich auf der Firewall erst
mit
tcpdump -i ppp0 port 3389 das ext. Device abgehört. Ergebnis:
217.249.238.51.1026 > 217.89.13.2.ms-wbt-server: s 367963:367963(0) win 8192
Hi On Monday 29 November 2004 08:03, Maximilian Steinbauer wrote:
tcpdump -i ppp0 port 3389 das ext. Device abgehört. Ergebnis: 217.249.238.51.1026 > 217.89.13.2.ms-wbt-server: s 367963:367963(0) win 8192
(DF) Also kommt wohl mein Verbindungsversuch auf den Gateway(Firewall). Jetzt hab ich mit tcpdump -i eth0 port 3389 das interne Device abgehört und erhalte keine Ausgaben. Scheinbar geht hier mein Paket nicht ab. Also in das Logfile der Firewall. Hier finde ich: SuSE-FW-ACCEPT IN=ppp0 OUT= MAC= SRC=217.249.238.51 DST=217.89.13.2 .... SPT=1028 DSP=3389 ..... Also die Firewall erkennt mein Paket an, ABER Bin jetzt auch nicht der Fachmann für SuSE-FW-logs, aber ich versuche es mal. Es sieht für mich so aus als würde eine andere Regel dein Paket vernichten. Die DNAT Regel leitet dein Paket um. Anschließend geht es aber noch im filter table durch die chain FORWARD. Da wird bei der SUSE-FW sicher auch was drinstehen. Du kannst zunächst schonmal ein iptables -I FORWARD -p tcp --dport 3398 -j ACCEPT ausprobieren. Ich nehme mal an, dass das stateful filtering den Rest besorgen wird. müsste hier nach PREROUTING als DST nicht meine 192.168.2.5 stehen? Ich nehme an, die Firewall hat kein OUT-Device, da sie ja denkt, das Paket ist für sie (DST ist ext. IP der Firewall). Ich denke nein. Das Paket hat erstmal als Ziel deine 217.89.13.2-Adresse um überhaupt durchs Internet bei dir anzukommen. Das wird zwar umgeleitet, es wäre aber doch irgendwie verwirrend, wenn iptables dieses Paket jetzt mit der Zieladresse die in der firewall-Regel drinsteht loggen würde.
hallo,
probier mal iptables -I FORWARD -p tcp -j LOG aus, dann loggt er alles mit
(FORWARD auch mal mit INPUT bzw. OUTPUT ersetzen)
vielleicht siehst du etwas in den logs
Mit freundlichen Grüßen
A.Gegner
"Maximilian
Steinbauer" To: "suseliste"
Du kannst zunächst schonmal ein iptables -I FORWARD -p tcp --dport 3398 -j ACCEPT ausprobieren.
Funzt aber leider nicht Maximilian Steinbauer -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
On Monday 29 November 2004 10:02, Maximilian Steinbauer wrote:
Hallo Axel
danke für Deine Idee.
Du kannst zunächst schonmal ein iptables -I FORWARD -p tcp --dport 3398 -j ACCEPT ausprobieren.
Funzt aber leider nicht Kommt denn wenigstens ein Paket auf der internen Seite an?
Mit iptables -v[n] -L FORWARD solltest du immerhin schonmal sehen ob wenigstens überhaupt etwas an der entsprechenden Regel ankommt. Es gibt noch eine Reihe von Wechselwirkungen mit anderen Firewallregeln. Das gesamte Regelwerk der SuSE-Firewall ist recht Umfangreich. Anstatt das jetzt genau zu analysieren und sich die passenden Regeln auszudenken, solltest du das eventuell in der config der firewall suchen. Es gibt da eine Möglichkeit Services per forwarding auf dem externen Interface anzubieten. Wenn du masquerading benutzt dann schaue dir die die Variable FW_FORWARD_MASQ (FW_ROUTE sollte ja gesetzt sein) und den zugehörigen Text an. Da müsste dann sowas wie 0.0.0.0/32,192.168.2.5,tcp,3398 hin, wenn ich das richtig überblicke. Dann firewall neu starten und nochmal prüfen. mfg Axel
Axel Heinrici wrote:
Anstatt das jetzt genau zu analysieren und sich die passenden Regeln auszudenken, solltest du das eventuell in der config der firewall suchen. Es gibt da eine Möglichkeit Services per forwarding auf dem externen Interface anzubieten. Wenn du masquerading benutzt dann schaue dir die die Variable FW_FORWARD_MASQ (FW_ROUTE sollte ja gesetzt sein) und den zugehörigen Text an. Da müsste dann sowas wie 0.0.0.0/32,192.168.2.5,tcp,3398 hin, wenn ich das richtig überblicke. Dann firewall neu starten und nochmal prüfen.
Hallo Nur so als Anmerkung - ich musste auch mal ein paar services gegen innen öffnen und habs mit der Firewall auch nie wirklich hingekriegt. Ich kann dir hierzu den rinetd empfehlen, der genau das tut was du wohl möchtest. Du sagst dem einfach auf welchem Port er am externen IF hören soll und wohin er die Pakete weiterNATen soll. dann brauchst du nur noch diesen externen Port (wenn nötig) auf der Firewall zu öffnen und fertig.... Just my 2c Matti
Hi On Monday 29 November 2004 11:56, Matthias Keller wrote:
Nur so als Anmerkung - ich musste auch mal ein paar services gegen innen öffnen und habs mit der Firewall auch nie wirklich hingekriegt. Ich kann dir hierzu den rinetd empfehlen, der genau das tut was du wohl möchtest.
Das ist aber irgendwie "von hinten durch die Brust in Auge". Wenn eh schon iptables läuft (bitte jetzt keine Spitzfindigkeiten netfilter/iptables) ist es eigentlich über noch ein tool für ein simples Port-Forwarding laufen zu lassen. Da würde ich eher die SuSE-Firewall rausschmeißen und durch was Übersichtlicheres ersetzen.
Du sagst dem einfach auf welchem Port er am externen IF hören soll und wohin er die Pakete weiterNATen soll. Ist mit iptables auch nicht schwieriger.
dann brauchst du nur noch diesen externen Port (wenn nötig) auf der Firewall zu öffnen und fertig....
Just my 2c
Matti
Axel Heinrici wrote:
Hi
On Monday 29 November 2004 11:56, Matthias Keller wrote:
Nur so als Anmerkung - ich musste auch mal ein paar services gegen innen öffnen und habs mit der Firewall auch nie wirklich hingekriegt. Ich kann dir hierzu den rinetd empfehlen, der genau das tut was du wohl möchtest.
Das ist aber irgendwie "von hinten durch die Brust in Auge". Wenn eh schon iptables läuft (bitte jetzt keine Spitzfindigkeiten netfilter/iptables) ist es eigentlich über noch ein tool für ein simples Port-Forwarding laufen zu lassen. Da würde ich eher die SuSE-Firewall rausschmeißen und durch was Übersichtlicheres ersetzen.
Du sagst dem einfach auf welchem Port er am externen IF hören soll und wohin er die Pakete weiterNATen soll.
Ist mit iptables auch nicht schwieriger.
...anscheinend schon... ? Sonst häts wohl gar nicht erst diesen thread gegeben? Aus genau dem Grund benutz ich den rinetd, weil dort eine Zeile im config alles macht was ich will... Aber wer weiss, falls ihr rausfindet wie das so einfach per iptables geht, steig ich ja ev auch um :) Matti >:-]
Hi,
dann schmeiß doch die SuseFW raus und bastle dir dein eigenes FW-Script, so
hab ichs gemacht und so weißt du auch einigermaßen was die FW wirklich
macht. Bei der SuseFW war ich mir nicht ganz sicher, deswegen ist sie
rausgeflogen.
Mit freundlichen Grüßen
A.Gegner
Axel Heinrici
Nur so als Anmerkung - ich musste auch mal ein paar services gegen innen öffnen und habs mit der Firewall auch nie wirklich hingekriegt. Ich kann dir hierzu den rinetd empfehlen, der genau das tut was du wohl möchtest.
Das ist aber irgendwie "von hinten durch die Brust in Auge". Wenn eh schon iptables läuft (bitte jetzt keine Spitzfindigkeiten netfilter/iptables) ist es eigentlich über noch ein tool für ein simples Port-Forwarding laufen zu lassen. Da würde ich eher die SuSE-Firewall rausschmeißen und durch was Übersichtlicheres ersetzen.
Du sagst dem einfach auf welchem Port er am externen IF hören soll und wohin er die Pakete weiterNATen soll. Ist mit iptables auch nicht schwieriger.
dann brauchst du nur noch diesen externen Port (wenn nötig) auf der Firewall zu öffnen und fertig....
Just my 2c
Matti
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
* Montag, 29. November 2004 um 08:03 (+0100) schrieb Maximilian Steinbauer:
Also nach Eurer Hilfe hab ich auf der Firewall den Befehl
iptables -t nat -I PREROUTING -p tcp --dport 3398 -j DNAT --to 192.168.2.5
eingegeben und bekomme mit
iptables -L -t nat folgende Ausgabe Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- anywhere anywhere tcp dpt:mercantile to:192.168.2.5:3398
Port 3398 (mercantile in /etc/services) ist für den Terminalserver. [ ... ] tcpdump -i ppp0 port 3389 das ext. Device abgehört. Ergebnis: 217.249.238.51.1026 > 217.89.13.2.ms-wbt-server: s 367963:367963(0) win 8192
(DF) [ ... ] SuSE-FW-ACCEPT IN=ppp0 OUT= MAC= SRC=217.249.238.51 DST=217.89.13.2 .... SPT=1028 DSP=3389 .....
3398 ist nicht gleich 3389 und "mercantile" ist nicht gleich
"ms-wbt-server"...!
Gruß
Andreas
--
Andreas Könecke "Andreas Koenecke
Hallo Andreas, das ist die Betriebsblindheit ;-((( der Zahlendreher war schuld, jetzt funzts super. Danke auch an alle andren. Ich hab jetzt nur den DNAT iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.2.5 und den iptables -I FORWARD -p tcp --dport 3389 -j ACCEPT drin. Maximilian Steinbauer
participants (5)
-
age@ifak-system.com
-
Andreas Koenecke
-
Axel Heinrici
-
Matthias Keller
-
Maximilian Steinbauer