Herzliches Moin in die Runde!
Ich habe eine netzwerktechnische Problemstellung, für die es wahrscheinlich mehrere Lösungen gibt, bei der ich aber nicht recht weiß, wie ich es angehen soll. Daher versuche ich zunächst die Ausgangssituation zu beschreiben:
Für unsere ganzen Hosts (interne Server, Drucker, Desktops, ...) haben wir offizielle IP-Adressen, tausend Stück im Block. Sagen wir 200.0.10.0/22. Ein größerer Bereich, etwa 200.0.10.0-200.0.11.253 bildet ein LAN (LAN1) und wird für allerlei Hosts verwendet. Diese beziehen IP-Adresse, Gateway und DNS vom DHCP. Wo eine feste IP-Adresse benötigt wird, wird diese anhand der MAC-Adresse immer gleich zugeteilt. Alle Hosts befinden sich hinter der Firewall und die meisten können Verbindungen nach "draussen" aufbauen. In umgekehrter Richtung blockt die Firewall erstmal alles. Nur für einzelne Hosts mit festen IP-Adressen sind eingehende Verbindungen auf dezidierten Ports zugelassen. Soweit erstmal alles gut.
Jetzt habe ich noch zehn ganz spezielle Hosts (eine Art Messgeräte) in einem eigenen LAN (LAN2). Dieses hat bisher gar keine Verbindung zu irgendeinem anderen Netzwerk (IP-Adressen sind hier statisch 200.0.12.1-200.0.12.10, also auch welche aus dem Block offizieller IP-Adressen, ist halt so und kann ich nicht ändern). Nun möchte ich regelmäßig bestimmte Daten von diesen Geräten abrufen, verarbeiten und in dem Netz 200.0.10.0-200.0.11.253 bestimmten Hosts zugänglich machen. Allerdings möchte ich diese beiden Netze weiterhin strickt getrennt halten, auf keinen Fall irgendein Routing zwischen diesen Netzen haben!
Daher hatte ich mir überlegt, dass ich einen Linux-Server mit zwei Interfaces nehme. Das eine Interface hängt in dem kleinen LAN mit den Geräten, bekommt die IP 200.0.12.11 und das andere bezieht eine quasi feste IP (200.0.11.252) vom DHCP-Server. Ein Dämon auf diesem Server ruft dann regelmäßig die Daten von den Geräten ab, verarbeitet sie und stellt sie dann mit Hilfe von Apache auf dem Server bereit, schickt ab bestimmten Messwerten Warnungen per Email oder SMS-Gateway raus, muss also selbst Verbindungen zum Internet herstellen können. Allerdings soll auch nicht jeder Host in unserem großen Netz einfach auf den Webserver zugreifen können, tatsächlich kommen da nur einzelne in Frage. Am liebsten wäre mir, wenn es überhaupt nur einen Zugang über ssh auf den Server gäbe.
Eigentlich habe ich mehrere Baustellen:
- Wie bekomme ich es hin, dass Verbindungen von meinem Server zu den Geräten nicht falsch über eth0 in das LAN1 geschickt werden?
- Wie stelle ich sicher, dass mein Server gar nicht zwischen den beiden LANs routet.
- Mein Server nur auf dem SSH-Port lauscht und das auch nur auf eth0?
Der Apache sollte dann natürlich nicht auf 200.0.11.252 (eth0) horchen sondern nur auf dem 127.0.0.1. Ich meine, dass ich durch den ssh-Tunnel dann darauf zugreifen können müsste, oder?
Wenn ich mich unklar ausgedrückt habe, fragt einfach nach. Würde mich über Hilfe echt freuen!
Walli
Ich habe eine netzwerktechnische Problemstellung, für die es wahrscheinlich mehrere Lösungen gibt, bei der ich aber nicht recht weiß, wie ich es angehen soll. Daher versuche ich zunächst die Ausgangssituation zu beschreiben:
Für unsere ganzen Hosts (interne Server, Drucker, Desktops, ...) haben wir offizielle IP-Adressen, tausend Stück im Block. Sagen wir 200.0.10.0/22. Ein größerer Bereich, etwa 200.0.10.0-200.0.11.253 bildet ein LAN (LAN1) und wird für allerlei Hosts verwendet. Diese beziehen IP-Adresse, Gateway und DNS vom DHCP. Wo eine feste IP-Adresse benötigt wird, wird diese anhand der MAC-Adresse immer gleich zugeteilt. Alle Hosts befinden sich hinter der Firewall und die meisten können Verbindungen nach "draussen" aufbauen. In umgekehrter Richtung blockt die Firewall erstmal alles. Nur für einzelne Hosts mit festen IP-Adressen sind eingehende Verbindungen auf dezidierten Ports zugelassen. Soweit erstmal alles gut.
Jetzt habe ich noch zehn ganz spezielle Hosts (eine Art Messgeräte) in einem eigenen LAN (LAN2). Dieses hat bisher gar keine Verbindung zu irgendeinem anderen Netzwerk (IP-Adressen sind hier statisch 200.0.12.1-200.0.12.10, also auch welche aus dem Block offizieller IP-Adressen, ist halt so und kann ich nicht ändern). Nun möchte ich regelmäßig bestimmte Daten von diesen Geräten abrufen, verarbeiten und in dem Netz 200.0.10.0-200.0.11.253 bestimmten Hosts zugänglich machen. Allerdings möchte ich diese beiden Netze weiterhin strickt getrennt halten, auf keinen Fall irgendein Routing zwischen diesen Netzen haben!
Daher hatte ich mir überlegt, dass ich einen Linux-Server mit zwei Interfaces nehme. Das eine Interface hängt in dem kleinen LAN mit den Geräten, bekommt die IP 200.0.12.11 und das andere bezieht eine quasi feste IP (200.0.11.252) vom DHCP-Server. Ein Dämon auf diesem Server ruft dann regelmäßig die Daten von den Geräten ab, verarbeitet sie und stellt sie dann mit Hilfe von Apache auf dem Server bereit, schickt ab bestimmten Messwerten Warnungen per Email oder SMS-Gateway raus, muss also selbst Verbindungen zum Internet herstellen können. Allerdings soll auch nicht jeder Host in unserem großen Netz einfach auf den Webserver zugreifen können, tatsächlich kommen da nur einzelne in Frage. Am liebsten wäre mir, wenn es überhaupt nur einen Zugang über ssh auf den Server gäbe.
Code:
Gerät01 (200.0.12.1)--+
Gerät02 (200.0.12.2)--+
. |
. |
. | (LAN2)
Gerät10 (200.0.12.10)-+
|
| Verbindungen nur vom Server ausgehend
| ggf. auch noch einzuschränken auf bestimmte Ports/Protokolle
|
(200.0.12.11) eth1
### MEIN SERVER ###
(200.0.11.252) eth0
|
| ausgehende Verbindungen vom Server okay,
| ggf. auch noch einzuschränken auf bestimmte Ports/Protokolle/ Ziel-Hosts
| eingehend nur ssh, ggf. zus. einzuschränken auf bestimmte Quell-Hosts
|
Host00--+ |
Host01--+ |
. | (LAN1) | (200.0.10.1-200.0.10.253)
. +-------------+
. | |
HostFF--+ |
## Firewall ##
|
|
Internet
Eigentlich habe ich mehrere Baustellen:
- Wie bekomme ich es hin, dass Verbindungen von meinem Server zu den Geräten nicht falsch über eth0 in das LAN1 geschickt werden?
- Wie stelle ich sicher, dass mein Server gar nicht zwischen den beiden LANs routet.
- Mein Server nur auf dem SSH-Port lauscht und das auch nur auf eth0?
Der Apache sollte dann natürlich nicht auf 200.0.11.252 (eth0) horchen sondern nur auf dem 127.0.0.1. Ich meine, dass ich durch den ssh-Tunnel dann darauf zugreifen können müsste, oder?
Wenn ich mich unklar ausgedrückt habe, fragt einfach nach. Würde mich über Hilfe echt freuen!
Walli