interne IP Adressen per iframe extern aufrufen

uid

New Member
Hallo,

ich habe gerade ein Verständnis Problem, was die Weiterleitung interner Adressen per IFrame angeht.

Ziel: Portalseite soll nach Login interne Seiten (die auf verschiedenen IPs liegen) per iFrame zur Verfügung stellen.
Alle Seiten liegen auf einem Server.

Problem: die interne Adresse/Seit läßt sich nicht aufrufen.
Was soweit nachvollziehbar ist, da die interne IP ja außen nicht bekannt ist.
Was ich nicht verstehe ist: das iFrame kennt die interne Adresse ja, extern rufe ich doch nur die Login Seite auf.

Wo ist mein Denkfehler ?

zum besseren Verständnis:

https://extern.org -> zeigt über Router forwarding auf 10.2.2.1 (die Loginseite)

10.2.2.1 bindet per iFrame zb 10.1.1.1 ein
10.1.1.1 steht per apache-vhost zur Verfügung

intern läßt sich 10.1.1.1 ohne Probleme aufrufen, extern über extern.org nicht.
 
Last edited by a moderator:
Mache mal von einem fremden Netzwerk aus einen Traceroute auf Deine interne IP, vielleicht geht Dir dann ein Lichtlein auf. Falls nicht, dann informiere Dich mal über private Netze und deren Routing in öffentlichen Netzen...
 
Hallo Joe,

mir ist klar, das private IPs nicht direkt ins Netz geroutet werden.
Aber vlt. kannst du mir erklären, warum eine adresse, die intern per iframe eingebunden wird und sichtbar ist, nicht nach außen sichtbar ist.

In meiner Vorstellung baue ich die externe Verbindung auf, der entsprechenden Seite ist die interne IP ja bekannt und kann somit includiert und aufgerufen werden.

extern.org -> 10.2.2.1 (Login)

Seite: 10.2.2.1
<iframe src="10.1.1.1"></iframe>
 
An welcher Stelle wird denn das iFrame in die Seite eingebaut? Wer muss sich also den Inhalt des iFrames besorgen? Doch wohl der Browser, oder?
 
Der iframe-Inhalt wird vom Browser abgerufen und der kann die interne Adresse natürlich nicht aufrufen. Das ist völlig egal, ob der Server die interne Adresse kennt, da der Request direkt vom Client aus kommt.
Da hilft dir nur ein Proxy, der dir die Seiten nach dem Login direkt unter einer extern aufrufbaren Adresse erreichbar macht.
 
> Da hilft dir nur ein Proxy, der dir die Seiten nach dem Login direkt unter
> einer extern aufrufbaren Adresse erreichbar macht.

Genau das will ich ja vermeiden. Ich möchte nur einen Zugang zu meinem Webserver, alle anderen Seiten sollen nur über diese eine Seite erreichbar sein.

Wenn das per iframe so nicht funktioniert, wie kann ich soetwas bewerkstelligen ? Bringt mich ein apache redirect weiter ? Bisher bin ich dieses thema immer umgangen, deswegen auch virt. eth:X mit verschieden IPs. Sicher nicht die eleganteste Lösung.
 
Ich habe damit noch nicht gearbeitet, weil ich eine OpenVPN-Verbindung verwende, aber sofern du Apache auf deinem Webserver einsetzt, könnte mod-proxy was für dich sein...
 
OpenVPN kann ich nicht verwenden, da einige Unterseiten auch anderen zur Verfügung stehen soll.

mod-proxy .. das meinte ich mit redirect ... unglücklich ausgedrückt.
Damit läßt sich mein gewolltes Szenario umsetzen ja? Ich meine, ohne die Seiten von außen erreichbar zu machen.

mod-proxy hört sich nicht ganz unkomplizert an, zumal die reverse Geschichte zu bedenken ist. Gibt es nichts simpleres ?
 
Last edited by a moderator:
Alles was vom Client (Browser) angezeigt/abgerufen werden soll, muss auch einzeln direkt vom Client abgerufen werden können, verstecken gibt es dabei nunmal nicht.

Was verstehst Du überhaupt genau unter "Ich möchte nur einen Zugang zu meinem Webserver, alle anderen Seiten sollen nur über diese eine Seite erreichbar sein."?
Der Zugang zum Webserver wird (vereinfacht ausgedrückt) über die VHosts geregelt. Alles was dort im DocRoot liegt, ist per Default auch von aussen abrufbar. Alles was nicht von aussen abrufbar sein soll, hat nichts im DocRoot zu suchen oder muss explizit per Deny-Regel gesperrt werden.

Da Du von Portal und IFrame schreibst, vermute ich mal, das Du den Inhalt des IFrame nicht einzeln abrufbar haben möchtest. Das erreichst Du am Einfachsten mit serverseitigen Scripten, angefangen bei SSI über PHP/Python/Perl bis hin zu Schwergewichten wie Java-Servlets oder anderen Programmiersprachen mit Support für CGI. Für einfache HTML-Dateien reicht SSI, für komplexere Dinge sind Scriptsprachen wie PHP/Python/Perl geeigneter und im Enterprisebereich mit entsprechender Hardware und Man-Power dann Java und Co.

Aber ohne eine genauere Definition Deiner Bedürfnisse stochern wir alle weiter im Nebel...
 
Ich versuch nochmal zu erläutern, was im Moment steht und was ich möchte.

Ziel: verschieden WebAnwendungen ( Kalender/Wiki/Terminplaner etc ) sollen geschützt über eine Loginseite erreichbar sein.

Aktuell steht:
- Apache mit mehreren vhost's
- ssl Hosts sind über virt. eth:X und damit verschiedenen IPs definiert (wg. des ssl-Problems über eine IP)
- Einer der vhost (auch ssl) ist per Router-forwarding von außen erreichbar und dient als Login Seite
- nach dem Login auf dieser Seite werden die benötigten anderen Seiten / vhosts per iFrame eingebunden... der Teil funktioniert von außerhalb nicht.



Was sein soll:
- Router forwarding nur auf diese eine Login Seite, alle anderen Seiten sollen nicht direkt von außen erreichbar sein (aus Schutzgründen)

- nach der authentifizierung sollen die anderen vhost per Menü aufgerufen werden können (muß nicht per iframe sein, ist aber vom handling her sehr gut)



Ok, hoffe das war deutlich. Wenn noch was fehlt, reiche ich es gern nach.

@Joe User
Ein einfaches include reicht nicht, da die anderen seiten zum teil recht komplex sind, und damit über eine eigene schnittstelle laufen müssen (in meinem Verständnis)
 
Komplexe Anforderungen erfordern auch komplexe Lösungen - du kommst nur über eine wie auch immer geartete Proxy-Lösung zum Ziel. Diese Proxy-Lösung überprüft die Zugangsberechtigung, leitet entsprechend die Anfrage an den jeweiligen Server weiter und gibt den Output zurück. Vermutlich wollen Wiki und Kalender auch noch Cookies setzen und da hast du schon die nächste Hürde, die zu überwinden ist.
Nur mal so, was die von dir gewünschte Lösung alles können muß und ich habe bestimmt noch ein paar Sachen vergessen. Was du willst, ist ein Web-VPN, aber das ist halt eine komplexe Sache.
mod_proxy ist vermutlich ein Lösungsansatz (habe wie o.e. damit selber nocht nicht gearbeitet), es gibt auch andere, die aber ähnlich komplex sein werden...
 
> Komplexe Anforderungen erfordern auch komplexe Lösungen

Ja, das ist wohl so.
Ich versuche es nur so einfach wie möglich zu halten. Je komplizierter eine Sache aufgebaut ist, um so schwieriger wird eine irgendwann benötigte Neuinstallation. Copy & Paste ist dann irgendwann nicht mehr ausreichend.

Fertig Lösungen, in denen ich nur noch IPs konfiguriere gibts vermutlich nicht ?
Wäre bei ner Neuinstallation einfacher sowas.

Ich setze mich mal mit squid auseinander. Brauche ich auch noch nen dns-server, oder reicht das mit /etc/hosts ?
 
Also ich würde meinen, dass eine Business Grade VPN Lösung für Dich das richtige wäre. Entweder direkt im Router oder separat. Dann könnte man diesen ganzen Terz vergessen, sich um eine ordentliche (Zweifaktor-) Authentifizierung, die meist deutlich sicherer als Portalseiten ist, kümmern und gut ists. Alle heutigen (und zukünftigen) Anforderungen könnten damit erledigt werden.

Nebenbei: So machens die "Großen", wenn Sie ihren Mitarbeitern Zugriff auf interne Ressourcen geben wollen. Das können Intranet Websites seit, oder auch andere Dienste und Ordnerfreigaben.

Im Bezug auf den iFrame hast Du einen Denkfehler und der lässt sich nicht auflösen. iFrames sind fein, um anderen ÖFFENTLICH ZUGÄNGLICHEN Content in eine Seite einzubinden. Als Proxy- oder VPN-Ersatz taugen sie jedoch nicht!
 
Denkst du da an ein bestimmte Lösung Thunderbyte ?
OpenSource oder zumindest gpl sollte es schon sein. Windows ist mir zu anstrengend, womit dann auch nur linux in frage kommt.

Schau grad selbst, was es so gibt... aber wenn du einen Tipp hast ...
 
Wenn es um eine VPN-Lösung geht, bin ich mit OpenVPN sehr zufrieden. Von PPTP halte ich nicht viel, IPsec ist recht aufwendig zu konfigurieren und OpenVPN gibt es für verschiedene Platformen. Andere VPN-Lösungen sind meist kostenpflichtig.
 
Damit wäre ich ja wieder bei reinem vpn.
Soweit ich das verstehe, hat das für meine Zwecke 2 Nachteile.

1. Wenn ich mit CA Zugriff zulasse, braucht jeder ein Zertifikat, um raufzukommen. Das ist käse, weil den meisten leuten zuviel.
Ist auch ein wenig überdosiert für die paar Seiten, die ich includieren wollte.

2. ohne CA heißt System-User anlegen für jeden Login, auch nicht das gelbe vom Ei.

Irgendwie auch alles zu umständlich, ich werde das wohl mit squid vorantreiben.

Vielen Dank an alle für eure Hilfe.

Wenn es noch schlaue einfälle gibt, immer her damit :D
 
Last edited by a moderator:
Hallo Lothar,

ist ja sehr nett, das du antwortest. Aber wenn du mal richtig liest, habe ich sicher keine Winkiste zu laufen.
Dein Text ist eher Werbung als Hilfe.

Dyndns usw sind klar. Aber die machen keine wildcards mehr leider.
Ist auch nicht das Ziel der Übung, da ich ja Seiten von internen IP Adressen durchleiten will.
Das ganze über https, was dann vhosts direkt über den Router ausschließt.

Ich bin das mit Squid / Pound und Apache angegangen, aber irgendwas blockt die innere Auflösung trotz dnsmasq und korrekten FW Regeln. Zum Ziel bin ich also noch nicht gekommen, aber dank der Antworten hier bin ich in meinem Verständnis weiter.

Allerdings raff ich immer noch nicht so richtig, warum das mit dem iframe nicht funktioniert, da das ja so ne Art Proxy ist... er kennt ja über dnsmasq die internen Adressen.

öffentl. IP
:
IFrame
:
Server 1
:
Server 2




----- Später ----
Jetzt check ich es ....
Der IFrame kennt zwar die Adressen, aber der hmtl-Text kann nicht zur öffentl. IP, da der IFrame den Text nicht als Stellvertreter weitergibt.... Das nötige Routing und Masquerading fehlt ihm. Er kann nur weiterleiten, was aus SICHT des Clients auch sichtbar ist.
Richtig ?
 
Last edited by a moderator:
Allerdings raff ich immer noch nicht so richtig, warum das mit dem iframe nicht funktioniert, da das ja so ne Art Proxy ist

Es wurde dir doch schon 3 Mal erklärt. ein IFrame ist kein Proxy. Das wird clientseitig (Browser) ausgeführt!
D.h. der Client selbst ruft den Content von der privaten IP ab, was nun mal nicht funktioniert.
 
Ja Firewire (siehe oben)
.. Ich denke, über den Denkumweg von ebend hab ich es dann auch mal endlich gecheckt.


der Client selbst ruft den Content von der privaten IP ab, was nun mal nicht funktioniert.
Genau! Danke! Der IFrame ist ja schon abgerufen und nur durch Interpretation des html Codes als solches im Browser des Clients dargestellt.
Und von dort aus ist der Link auf meine interne Adresse natürlich nicht route-bar, die Adresse kann in jedem x-beliebigen Subnetz liegen.
Hatte ich es vorhin doch noch nicht ganz...
 
Last edited by a moderator:
@Firewire
hast du Ahnung von Proxys etc.? Ich kriegs einfach nicht hin, auf meine Seiten per https zuzugreifen. Mit Pound hatte ich es wenigesten hinbekommen, das ein VHost abgerufen werden konnte.

.. Ist garantiert wieder irgendwo ein Denkfehler, auf den ich nicht komme.
 
Back
Top