Port forwarding
Port forwarding
Der erste Server bietet auf Port 80 http an. Nur er ist "von außen" erreichbar.
Ein zweiter Server soll https liefern. Der erste Server muss also POrt 443 an den 2. Server forwarden. Und vielleicht muss der 2. Server auch noch Dinge dazu wissen.
Ich habe das noch nie gemacht. Die Suche an einer Anleitung verwirrt mich eher als das die Suchergebnisse mir helfen.
Beide Server Debian wheezy, statische IP.
Ein zweiter Server soll https liefern. Der erste Server muss also POrt 443 an den 2. Server forwarden. Und vielleicht muss der 2. Server auch noch Dinge dazu wissen.
Ich habe das noch nie gemacht. Die Suche an einer Anleitung verwirrt mich eher als das die Suchergebnisse mir helfen.
Beide Server Debian wheezy, statische IP.
Re: Port forwarding
Du möchtest eine kompetente Antwort, stimmt‘s?marto hat geschrieben:...
Du schaffst es jedoch nicht, eine Frage zu stellen, die Hand und Fuß hat.
In Deinem Posting findet sich weit und breit kein Fragezeichen.
Du schreibst, dass Dich schon die Suche nach einer Antwort verwirrt.
Wieviel Lust habe ich wohl, Dir eine andere als diese Antwort zu geben?
Gruß
Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi und sog. Maker)
Re: Port forwarding
Das war aber jetzt keine nette Antwort.
Das einfachste duerfte ein Forwarding mittels iptables-rules sein, also etwas in der Art von
Und "packet forwarding for IPv4"-einschalten in der /etc/sysctl.conf nicht vergessen ![Wink ;)](./images/smilies/icon_wink.gif)
Das einfachste duerfte ein Forwarding mittels iptables-rules sein, also etwas in der Art von
Code: Alles auswählen
# iptables -t nat -A PREROUTING -i eth0 -p tcp -d ip_erster_server --dport 80 -j DNAT --to ip_zweite_server:443
# iptables -A FORWARD -i eth0 -p tcp -d ip_zweite_server --dport 443 -j ACCEPT
# iptables -t nat -A POSTROUTING -o eth0 -p tcp -d ip_zweite_server --dport 443 -j MASQUERADE
![Wink ;)](./images/smilies/icon_wink.gif)
Zuletzt geändert von dufty2 am 14.02.2015 10:08:43, insgesamt 1-mal geändert.
Re: Port forwarding
Dass Du etwas Anderes erwartet hast, kann ich mir denken.dufty2 hat geschrieben:Das war aber jetzt keine nette Antwort.
... und das Handtuch erst recht nichtUnd "forwarding einschalten" nicht vergessen
Gruß
Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi und sog. Maker)
Re: Port forwarding
Hierzu habe ich eine Nachfrage: Folgende Netzwerkschnittstellen liegen vor:dufty2 hat geschrieben: Das einfachste duerfte ein Forwarding mittels iptables-rules sein, also etwas in der Art von
eth0 ist das interne Netz, hier befindet sich auch "zweiter Server".
eth1 ist der Weg zur bösen Welt, von dort kommen https-Requests.
ppp0 ist an eth1 gebunden (plugin rp-pppoe.so eth1).
Ändern sich insoweit Dir von Dir vorgestellten iptables-Regeln?
Falls ich etwas falsch mache: Wie lösche ich eine falsch übergebene Regel wieder?
Re: Port forwarding
Yo, dann etwa so:
Löschen per
# iptables -F
Code: Alles auswählen
# iptables -t nat -A PREROUTING -i ppp0 -p tcp -d ip_erster_server --dport 80 -j DNAT --to ip_zweite_server:443
# iptables -A FORWARD -i ppp0 -o eth0 -p tcp -d ip_zweite_server --dport 443 -j ACCEPT
# iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -t nat -A POSTROUTING -o eth0 -p tcp -d ip_zweite_server --dport 443 -j MASQUERADE
# iptables -F
Re: Port forwarding
Hi marto,
ist zwar schön, das Dir @dufty2 so bereitwillig mit den Regeln hilft.
Wenn Du schon bei den Iptables-Rules nachfragen musst, hoffentlich bist Du auch in der Lage das Teil ordentlich abzusichern.
Wenn ich so etwas lese, zweifel ich schon etwas....
Die Reaktion von @Gregor.S auf Deinen Thread wundert mich nun wirklich nicht mehr.
Gruß orcape
ist zwar schön, das Dir @dufty2 so bereitwillig mit den Regeln hilft.
Du hast aber nicht wirklich, rein zufällig einen HTTP-Server in vorderster Front direkt am Netz hängen und nutzt den gleichzeitig als Firewall?eth1 ist der Weg zur bösen Welt, von dort kommen https-Requests.
ppp0 ist an eth1 gebunden (plugin rp-pppoe.so eth1).
Wenn Du schon bei den Iptables-Rules nachfragen musst, hoffentlich bist Du auch in der Lage das Teil ordentlich abzusichern.
![traurig :(](./images/smilies/icon_sad.gif)
Wenn ich so etwas lese, zweifel ich schon etwas....
Das ist fachliche Inkompetenz und Leichtfertigkeit am Stück.Ich habe das noch nie gemacht. Die Suche an einer Anleitung verwirrt mich eher als das die Suchergebnisse mir helfen.
Die Reaktion von @Gregor.S auf Deinen Thread wundert mich nun wirklich nicht mehr.
Gruß orcape
Re: Port forwarding
Ich bin ihm sehr dankbar. Die anderen Beiträge waren weniger hilfreich.orcape hat geschrieben:Hi marto,
ist zwar schön, das Dir @dufty2 so bereitwillig mit den Regeln hilft.
Nein, nicht zufällig, gewollt. Das ist gatling(fefe), der wenige statische Dinge tut. Was tut das zur Sache?orcape hat geschrieben:Du hast aber nicht wirklich, rein zufällig einen HTTP-Server in vorderster Front direkt am Netz hängen und nutzt den gleichzeitig als Firewall?
Wir alle sind in sehr vielen Dingen inkompetent. Wir alle haben nicht die Zeit diesen Zustand zu ändern. Manche haben diese Selbsterkenntnis, viele aber nicht. Durch Beschreibung des Problems und der Zielstellung (warum Fragen nicht immer nötig sind, wird GregorS sicher irgendwann auch verstehen) bekommt man möglicherweise sachorientierte Antworten. Auf alle Fälle bekommt man Antworten, die das Leben erklären. Das ist doch auch schön. Oder so. Jedenfalls lernt man Menschen kennen.orcape hat geschrieben:Wenn Du schon bei den Iptables-Rules nachfragen musst, hoffentlich bist Du auch in der Lage das Teil ordentlich abzusichern.![]()
Wenn ich so etwas lese, zweifel ich schon etwas....Das ist fachliche Inkompetenz und Leichtfertigkeit am Stück.Ich habe das noch nie gemacht. Die Suche an einer Anleitung verwirrt mich eher als das die Suchergebnisse mir helfen.
- The Hit-Man
- Beiträge: 2253
- Registriert: 21.11.2004 17:01:56
- Wohnort: Menden ( Sauerland )
-
Kontaktdaten:
Re: Port forwarding
so was ist gemein zu schreiben !Du möchtest eine kompetente Antwort, stimmt‘s?
Du schaffst es jedoch nicht, eine Frage zu stellen, die Hand und Fuß hat.
In Deinem Posting findet sich weit und breit kein Fragezeichen.
Du schreibst, dass Dich schon die Suche nach einer Antwort verwirrt.
Wieviel Lust habe ich wohl, Dir eine andere als diese Antwort zu geben?
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.
damals windows, früher ubuntu, danach debian, heute arch-linux![Wink ;)](./images/smilies/icon_wink.gif)
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.
damals windows, früher ubuntu, danach debian, heute arch-linux
![Wink ;)](./images/smilies/icon_wink.gif)
Re: Port forwarding
Wenn wir uns aber die Zeit schon nicht nehmen, dann sollten wir das wenigstens Leute tun lassen, die eben nicht inkompetent sind und wissen was Sie tun.Wir alle sind in sehr vielen Dingen inkompetent. Wir alle haben nicht die Zeit diesen Zustand zu ändern.
Wenn Du vor hast ein Spamschleuder zu produzieren, dann kannst Du es doch gleich sagen.
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
...nun, Du hast nicht unrecht. Er hätte das etwas sensibler formulieren sollen.The Hit-Man hat geschrieben:so was ist gemein zu schreiben !Du möchtest eine kompetente Antwort, stimmt‘s?
Du schaffst es jedoch nicht, eine Frage zu stellen, die Hand und Fuß hat.
In Deinem Posting findet sich weit und breit kein Fragezeichen.
Du schreibst, dass Dich schon die Suche nach einer Antwort verwirrt.
Wieviel Lust habe ich wohl, Dir eine andere als diese Antwort zu geben?
Ich bin wohl hier aber nicht der einzige, der bei dieser Art Projekt, etwas zweifelt.
Gruß orcape
Re: Port forwarding
@dufty2: Hat -j DNAT --to nicht automatisch die -j MASQUERADE funktionalität inbegriffen, sodass die letzte Zeile überflüssig ist?
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Port forwarding
Nö, denke ich nicht, denn dann müsste mensch im allgemeinen Fall (DNAT aber kein SNAT/MASQ) einige Verrenkungen anstellen.wanne hat geschrieben:@dufty2: Hat -j DNAT --to nicht automatisch die -j MASQUERADE funktionalität inbegriffen, sodass die letzte Zeile überflüssig ist?
Wo ich mir allerdings nicht so sicher bin, ist die Zeile
Code: Alles auswählen
# iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
a) es auch noch mehr ethX als eth0 geben kann
b) FORWARD (und INPUT) die Policy DROP haben.
c) der "erste Server" nicht notwendigerweise das Gateway des 2. Server zum Internet ist
d) die Regeln so spezifisch wie möglich gelten sollen.
Also ein Rückpaket von Server 2 an eth1 bereits verworfen werden soll, so zum Bleistift.
Re: Port forwarding
Was konkret passiert hier? Welchen Sinn und Zweck hat ein Fachforum? Ich habe eine präzise Problembeschreibung (Aufgabenbeschreibung) geliefert. Im nächsten Semester wird sicher gelehrt, warum eine solche ohne Fragezeichen auskommt.orcape hat geschrieben:Wenn wir uns aber die Zeit schon nicht nehmen, dann sollten wir das wenigstens Leute tun lassen, die eben nicht inkompetent sind und wissen was Sie tun.Wir alle sind in sehr vielen Dingen inkompetent. Wir alle haben nicht die Zeit diesen Zustand zu ändern.
Zeige mal etwas Fachkompetenz und erkläre, wie eine Portweiterleitung 443 für eine SPAM-Schleuder missbraucht werden kann - ich bin ganz Ohr.orcape hat geschrieben:Wenn Du vor hast ein Spamschleuder zu produzieren, dann kannst Du es doch gleich sagen.![]()
Vor allem lerne ich etwas über Sozialkompetenz sowie über offtopic-Toleranz verschiedener Fachforen: Meine Fachkompetenz kannst Du und Dein Vorredner mit Sicherheit nicht einschätzen. Die Hälfte aller Beiträge sind entbehrlich, da sie keinerlei Substanz beinhalten, lediglich ein implizites "ich bin schlauer" beinhalten; das trifft auch auf Deinen Beitrag zu. In diesem Forum wird das toleriert. Nur aus diesem Grund leiste auch ich mir ein offtopic als Antwort.orcape hat geschrieben:Ich bin wohl hier aber nicht der einzige, der bei dieser Art Projekt, etwas zweifelt.
Re: Port forwarding
Ich hatte gestern Nacht Deine Hinweise in ferm.conf übernommen. Möglicherweise gibt es im Chain input eine zulässige Dopplung: 443 gebe ich explizit frei. Das Vorgehen funktioniert wunschgemäß.dufty2 hat geschrieben: Ich gehe stillschweigend davon aus, dass
a) es auch noch mehr ethX als eth0 geben kann
b) FORWARD (und INPUT) die Policy DROP haben.
c) der "erste Server" nicht notwendigerweise das Gateway des 2. Server zum Internet ist
d) die Regeln so spezifisch wie möglich gelten sollen.
Also ein Rückpaket von Server 2 an eth1 bereits verworfen werden soll, so zum Bleistift.
Zu Deinen Anstrichen: eth0 adressiert das interne Netz. Es existiert eth1, über dieses Interface wird ppp0 (pppoe) aufgebaut, es gibt in meiner Konstellation keinen DSL-Router (!). Es gibt tatsächlich (noch) ein läßliches Problem, ich beschreibe in Anstrichen:
* Browser-böse-Seite->DNS->Router->Portweiterleitung und Rückweg funktioniert (danke!)
* Browser-internes-Netz->URI:IP->Ziel-WWW-Server funktioniert
* Browser-internes-Netz->DNS->Router->Portweiterleitung und Rückweg funktioniert nicht
Bei letzterem ist grundsätzlich der Punkt, was man überhaupt will. Will man überhaupt, dass ein Brwoser des internen Netzes den externen Weg nimmt? (Basis: Kein DNS für das interne Netz, statische IP dort) - Eigentlich will man das nicht, man will, dass der interne Browser-Request https:ddnsip.meinhaus.de von erster-server INTERN auf zweiter-server umgebogen wird. (Das Problem wird in den Kommentaren hier angedeutet: http://www.karlrupp.net/de/computer/nat_tutorial
Allgemein: Da es offenbar für diese nicht völlig unübliche Problematik kein sinnvolles deutschsprachiges ToDo im Web gibt, können wir gern an Hand meiner ferm.conf diskutieren. Sfern das gewünscht ist, würde ich mit Dir per PN vorab die Vorgehensweise klären wollen.
Re: Port forwarding
Und das ist gut so! Daran sieht man, dass unser Konstrukt "scharf" ist, sprich, die Firewall nur den vorgegebenen Weg zulässt und nicht irgendwelche Hintertürchen/Umwege.marto hat geschrieben: * Browser-internes-Netz->DNS->Router->Portweiterleitung und Rückweg funktioniert nicht
Naja, was heisst hier externen Weg? Wenn wir die 4 obigen Regel ergänzen mit folgenden Zeilenmarto hat geschrieben: Bei letzterem ist grundsätzlich der Punkt, was man überhaupt will. Will man überhaupt, dass ein Brwoser des internen Netzes den externen Weg nimmt?
Code: Alles auswählen
# iptables -t nat -A PREROUTING -i eth0 -p tcp -d ip_erster_server --dport 80 -j DNAT --to ip_zweite_server:443
# iptables -A FORWARD -i eth0 -o eth0 -p tcp -d ip_zweite_server --dport 443 -j ACCEPT
# iptables -A FORWARD -i eth0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Dabei würde dann wohl das böse "ppp0" gar nicht "berührt" werden, weil die Pakte quasi zuvor "umgebogen" wurden.
Das einfachste duerfte aber sein, in der /etc/hosts (der internen Linux-/Windows-Clients) einen Eintrag
Code: Alles auswählen
ip_zweiter_server ddnsip.meinhaus.de
Re: Port forwarding
Bei den Clients wäre das nicht wartbar. Bei "erster-Server" würde das gehen, er gibt den primary für alle Clients, er würde dieses Wissen durchreichen. Aber das wäre ein schwerer Fehler, so oder so: Der kanonische Eintrag ist ja wirklich der Router "erster-Server" und lediglich 443 geht zu "zweiter-Server". Wenn ich das kompette DNS umbiege, passiert genau das, was die Grünschnäbel mir voraussagen.dufty2 hat geschrieben: Das einfachste duerfte aber sein, in der /etc/hosts (der internen Linux-/Windows-Clients) einen Eintraghinzuzufügen und damit braucht es auch keine zusätzlichen iptables-rules mehr, weil die Einträge in /etc/hosts vor der DNS-Auflösung greifen.Code: Alles auswählen
ip_zweiter_server ddnsip.meinhaus.de
Re: Port forwarding
Hi marto,
macht sich übrigens gut, so ein Gruß...
Mittlerweile habe ich auch feststellen können, das Du nicht in die Kategorie ganz unwissend einzuordnen bist....
Du solltest bei neuen Fragestellungen dann doch nicht ganz so "lax" daher kommen.
Gehe davon aus, das nur Du selbst, wirklich in Dein Projekt involviert bist.
Dann sieh Deinen erste Post mal aus fremder Sicht.
Ich kenne da Foren, da hätte man auf Deinen ersten Post noch ganz anders reagiert.
Auch wenn ich hiermit nicht zur Lösung Deines Problems beitrage.
Mein Netzaufbau würde wohl etwas anders aussehen. Das muss aber jeder selbst wissen und dann auch verantworten.
Gruß orcape
macht sich übrigens gut, so ein Gruß...
![Wink ;-)](./images/smilies/icon_wink.gif)
Auch wenn Du da vielleicht etwas in den "falschen Hals" bekommen hast.marto hat geschrieben:....passiert genau das, was die Grünschnäbel mir voraussagen.
Mittlerweile habe ich auch feststellen können, das Du nicht in die Kategorie ganz unwissend einzuordnen bist....
![Wink :wink:](./images/smilies/icon_wink.gif)
Du solltest bei neuen Fragestellungen dann doch nicht ganz so "lax" daher kommen.
Gehe davon aus, das nur Du selbst, wirklich in Dein Projekt involviert bist.
Dann sieh Deinen erste Post mal aus fremder Sicht.
Ich kenne da Foren, da hätte man auf Deinen ersten Post noch ganz anders reagiert.
Auch wenn ich hiermit nicht zur Lösung Deines Problems beitrage.
Mein Netzaufbau würde wohl etwas anders aussehen. Das muss aber jeder selbst wissen und dann auch verantworten.
Gruß orcape
Re: Port forwarding
Huch? Also entweder reden wir aneinander vorbei, oder ich verstehe Deinen kompletten Abschnitt nichtmarto hat geschrieben:Bei den Clients wäre das nicht wartbar. Bei "erster-Server" würde das gehen, er gibt den primary für alle Clients, er würde dieses Wissen durchreichen. Aber das wäre ein schwerer Fehler, so oder so: Der kanonische Eintrag ist ja wirklich der Router "erster-Server" und lediglich 443 geht zu "zweiter-Server". Wenn ich das kompette DNS umbiege, passiert genau das, was die Grünschnäbel mir voraussagen.dufty2 hat geschrieben: Das einfachste duerfte aber sein, in der /etc/hosts (der internen Linux-/Windows-Clients) einen Eintraghinzuzufügen und damit braucht es auch keine zusätzlichen iptables-rules mehr, weil die Einträge in /etc/hosts vor der DNS-Auflösung greifen.Code: Alles auswählen
ip_zweiter_server ddnsip.meinhaus.de
![Wink ;)](./images/smilies/icon_wink.gif)
Zur besseren Verständnis das Ganze mal mit (frei erfundenen) IPs:
Code: Alles auswählen
ppp0@erster_server: 213.x.y.z (statisch oder von mir aus alle 24 h neu).
eth0@erster_server: 192.168.0.1 (statisch)
eth0@zweiter_server: 192.168.0.100 (statisch)
eth0@clients: 192.168.0.x/24 (dynamisch; bei windows-kisten statt eth0 entsprechends Lan-interface)
Der Eintrag in der /etc/hosts (entsprechende Datei bei Windows) der internen clients
Code: Alles auswählen
192.168.0.100 ddnsip.meinhaus.de
Damit greifen die (internen) clients per https://ddnsip.meinhaus.de direkt zu, nämlich
Code: Alles auswählen
192.168.0.x:>1023 <=> 192.168.0.100:443
Code: Alles auswählen
192.168.0.x:>1023 <=> 213.x.y.z:80||192.168.0.1:>1023 <=> 192.168.0.100:443
ftp://ddnsip.meinhaus.de
ansprechen willst.
DHCP/DNS-Auflösung sollte für die (internen) clients eh' über die 192.168.0.1 laufen.
Re: Port forwarding
Dann darf ich Dir eine Lebensweisheit mitgeben: Man muss nicht an jeden Baum pinkeln.orcape hat geschrieben:Auch wenn Du da vielleicht etwas in den "falschen Hals" bekommen hast.marto hat geschrieben:....passiert genau das, was die Grünschnäbel mir voraussagen.
Mittlerweile habe ich auch feststellen können, das Du nicht in die Kategorie ganz unwissend einzuordnen bist....![]()
Wirf einen vorsichtigen Blick auf meinen ersten Beitrag: Er war im Sinne der Fragestellung extrem präzise. Noch präziser geht nicht. - Die Wahrnehmung meines fragenden Beitrags wurde durch den zweiten Beitrag verändert, Deine Wahrnehmung wurde durch den zweiten Beitrag gesteuert, dieses klugscheißerische offtopic-Gelabere eines Helden an der Tastatur.orcape hat geschrieben: Du solltest bei neuen Fragestellungen dann doch nicht ganz so "lax" daher kommen.
Bei ubuntuusers wäre gekommen: "Gib mal iptables -l" und "Nutzt Du ferm? Gib mal ferm.conf".orcape hat geschrieben: Ich kenne da Foren, da hätte man auf Deinen ersten Post noch ganz anders reagiert.
Kinderforen frequentiere ich nicht, ich weiß nicht, welche Foren Du meinen könntest.
Ich habe mir eine Antwort auf Deinen vorletzten Beitrag verkniffen - ok, es soll so sein:orcape hat geschrieben: Auch wenn ich hiermit nicht zur Lösung Deines Problems beitrage.
Mein Netzaufbau würde wohl etwas anders aussehen. Das muss aber jeder selbst wissen und dann auch verantworten.
Du urteilst über etwas was Du nicht kennst und nicht kennen kannst. Ich habe keinerlei Beschreibung des internen Netzes gegeben. Und das aus sehr gutem Grund. Ich war gezwungen, eine Sonderheit meines Routing anzudeuten, selbst das wollte ich nicht - es war aber im Sinne der Fragestellung zwingend. (Nicht überall in Deutschland kann man sich seinen Provider frei aussuchen ...)
@dufty2: Ich halte die Idee mit den lokalen /etc/hosts nicht für wartbar. Kurz hatte ich die Idee, dem DNS-forwarder auf dem Router das beizubiegen - aber dafür wäre mein zeitlicher Einarbeitugnsaufwand wohl zu groß. Der eigentliche Hintergrund liegt in einer anderen Schichtebene: Jeder Zugriff auf "zweiter_Server:443" soll ausnehmend genau protokolliert und ausgewertet werden. Da wäre ganz schön, wenn in access.log der gerufene Domainname stehen würde.
Nein, es ist kein Angebot an die Öffentlichkeit, die Auswertung ist ok.