PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dienst hinter Router verfügbar machen



Temp
07.08.02, 20:15
Hi Leute,

Benutz Kernel 2.2.x sprich ipchains um masqerading zu realisieren. Nun möchte ich gern das von aussen mein Apache Webserver zu erreichen ist.

Wie macht man denn so was?

ipmasqadm autofw blah blupp hat irgentwie net funktioniert :(
/sbin/ipmasqadm autofw -A -r tcp 80 80 -h 192.168.X.X

so hatte ich es drinstehen, aber geht net :(

Bin ich da mit Portforwarding richtig aufgehoben?
Hab das man net geblickt :(
ipmasqadm portfw und dann????

Kann mir vielleicht jemand helfen wie man sowas realisieren kann?

Thx
Gruß Temp

Spike05
07.08.02, 20:20
Hast Du einen Software Router oder Hardware???

Temp
07.08.02, 20:24
Software mit ipchains realisiert (s.o.)

;)
Temp

Spike05
07.08.02, 20:28
Sorry kann ich dir nicht helfen! Hast du dich schon mal im Forum umgesehen? Ich glaube ich habe schon mal was in der Richtung gesehen!

Temp
08.08.02, 11:41
Hmm sorry, hatte im Forum leider nichts gefunden :(

Bestimmt such ich wieder nach dem falschen.


Gruß Temp

B-52
08.08.02, 13:04
Um was für eine Router-Soft handelt es sich denn? Die Befehle sind zwar gleich, aber die Syntax unterscheidet sich doch. Selbst wenn bei Dir die Syntax stimmt, ist Portforwarding aktiviert und der TCP-Port in der Firewall freigeschaltet?

Temp
08.08.02, 20:14
Scenariobeschreibung:

inet
|
|
router (kernel 2.2.20) Ipchains Masquarading IP 192.168.1.1
|
|
Server
apache HTTP Server IP 192.168.1.2


was muss ich denn in mein Masquarading Skript eintragen das der Server vom Internet aus erreichbar ist (Apache)?

Gruß Temp

B-52
08.08.02, 23:11
Das Scenario war mir klar. Anders hab ich es auch nicht. Was nur von Interesse ist, welche Linux-Soft läuft auf Deinem Router? Welcher Kernel ist dabei eher Nebensache. Wie Du vielleicht in meiner Sig siehst, läuft auf meinem Router Fli4L. Eine spezielle Linux-Distri für Router. Die Syntax für Portfw ist ähnlich. Bevor ich jetzt Dir evtl. Tips gebe oder gar aufzeige was Du eintragen musst, ist die Linuxsoft wichtig. muLinux hat eine andere Syntax als Fli4L, nur mal als Beispiel. Und bei einer grossen Distri wie SuSE oder Red Hat siehts wieder anders aus.

Phedaikin
09.08.02, 09:14
hmm
Ich habe das selbe Problem .

Suse 7.1 ist meine OS ... und ich nutze die Suse firewall (net die Peronal)

Temp
09.08.02, 11:48
Naja, wenn du mir sagst was für ein Kernel auf deinem Fli4L Router läuft dann verrat ich dir wie das "Routing" gemacht wird.

Schau her,
eigentlich macht der "Router" strenggenommen überhaupt kein Routing. Denn das, das Netzwerk ins Internet raus kann liegt einfach nur daran das der "Router" Masquerading macht.

Dieses Masquerading ist in Kernel 2.2 über IPchains realisiert und beim Kernel 2.4 über IPtables.
Diese zwei Sachen sind in Beiden Kerneln jeweils auch als FW benutzbar (eigentlich warscheinlich eher primär als FW).

Als Info, benutz aufm "Router" Debian 3.0 mit IPchains aufgesetzt mit dem Roaring Penguin (DSL). Der Roaring Penguin erstellt einem automatisch ein richtiges Masquerading Skript das er ausführt beim connect.

Gruß Temp

B-52
09.08.02, 12:02
Also auf dem Router läuft der Kernel 2.2.19 und das Portfw ist so realisiert (Beispiel):

#------------------------------------------------------------------------------
# http
#------------------------------------------------------------------------------
/usr/sbin/ipmasqadm autofw -A -v -r tcp 80 80 -h $hiddenhost4

Natürlich muss $hiddenhost(x) als Ziel noch definiert werden. Bei FTP muss zudem noch das entsprechende Modul aktiviert werden. Ähnlich sieht es bei allen anderen Diensten aus, die man von aussen zugänglich machen will.

Alle Einträge laufen seit Fli4L 2.x auch zentral über die Basiskonfiguration. Und dort sieht die Syntax wieder anders aus. Die entsprechenden Regeln werden dann automatisch erstellt.

Wie das jetzt bei anderen Distris aussieht, weiss ich nicht. Daher meine Fragen...

dunervst
09.08.02, 16:22
hatte das problem auch mal, leute lesen etwas ohne es zu probieren, und wollen dir dann erklären das es richtig sein muss.

Probiers mal so, so hat es dann bei mir geklappt.

ipmasqadm portfw -a -P tcp -L 192.168.1.1 80 -R 192.168.1.2 80

sollte es so nicht funktionieren, probier mal anstatt der 192.168.1.1 ethx anzugeben (x ist das interface über das du Masquerading machst).

Gruß
Michael

dunervst
09.08.02, 16:28
Wenn du nur Port 80 forwarden willst, habe ich eine super einfache Lösung für dich. Die geht allerdings nicht wenn 2 Ports gleichzeitig redirected werden (z.B. FTP). Nimm dir das Rinetd Paket und installier es per RPM eben. Dann brauchste den Dienst nur starten und in der rinetd.conf im etc Verzeichniss einfach nur noch angeben 192.168.1.1 80 192.168.1.2 80. Den dienst neustarten und es läuft. Habe RINETD selbst mal benutzt, bis ich FTP brauchte.

Ach ja achte darauf was er beim ersten start schreibt. Die rinetd.conf ist noch nicht im verzeichniss etc. Die musste erst noch aus dem angegebenen Verzeichnis reinkopieren. Das Verzeichniss sagt er beim ersten start.

Michael

Temp
09.08.02, 17:40
Danke erstmal für eure mühen.
Werds jetzt dann mal probieren.

Achso, leider muss ich auch FTP forwarden also hat sich das schon erledigt :( Aber danke für den Tipp - merk ich mir für ein anderes Szenario ;)

Gruß Temp

Temp
10.08.02, 10:38
Oh je,

der Hase war im Pfeffer begraben :(
I bin so blöd

/sbin/ipmasqadm autofw -A -r tcp 80 80 -h 192.168.X.X

ja ist schon klar das das nicht geht.
ipmasqadm steht nicht unter /sbin/
sondern unter /usr/sbin/ipmasqadm

/usr//sbin/ipmasqadm autofw -A -r tcp 80 80 -h 192.168.X.X

so gehts jetzt einwandfrei ;)

Thx @ all für Eure Hilfe

Gruß Temp

pixel
10.08.02, 10:59
Hi@all.

ja das Portforwarding ist für die Lösung deines Problemes grundsätzlich richtig. Ich benutze allerdings iptables also kann ich dir nicht die genaue Syntax geben. Bei iptables lautet der Eintrag in den Filterregeln:

iptables -t nat -A PREROUTING -p tcp --dport 80 -i ppp0 -j DNAT --to-destination 192.168.0.1

wobei:
-ppp0 mein Device ist (DSL!) Nein heisst nicht eth1
-192.168.0.1 ist mein Server hinter der Firewall auf welchem der Webserver läuft

Allerdings kannst du den Webserver dann unter der externen IP / dyndns-Adresse nicht aus dem loklen Netz erreichen. Beispiel: Meine Firewall wählt sich ins Internet ein und erhält vom Provider die Adresse 1.2.3.4
Wenn ich nun von exter im Webbrowser die Adresse eingebe lande ich auf meinem Webserver. Gib ich diese Adresse jedoch an einem Rechner im lokalen LAN ein ist er nicht erreichbar. Scheinbar klappt das ummappen über das gleiche Device nicht. Aber daran arbeite ich noch.

Gruss Pixel

Temp
10.08.02, 11:11
@pixel
korrekt ;)
Jo, passiert mir auch - obwohl ich nicht mit deviceangabe gearbeitet habe - wenn das device ppp0 angegeben wird (ist klar warum net eth1) - gehts leider auch net :(

Naja, wird schon noch

Gruß Temp

pixel
10.08.02, 12:35
Hi temp,

Ist der Webserver auch von ausserhalb (IP-Adresse) auch nicht erreichbar?

Gruss Pixel

Temp
10.08.02, 21:27
Nene, man hab ich mich mal wieder blöd ausgedrückt, wenn ich das posting wieder durchlies ;)

Von aussen ist der Webserver erreichbar, aber wenn ich intern meinen Webserver am Router erreichen will (der ja nicht am Router ist, sondern dahinter) gehts net. Find ich jetzt persönlich nicht so schlimm, da ich ja wenn ich intern bin auch an meinen Webserver rankomm.

Sprich bei mir mit Ipchains ist genau das gleiche Szenario wie bei dir mit Iptables ;)

Gruß Temp