[Solve] "Netzwerk Server" | IPtables Portweiterleitung
[Solve] "Netzwerk Server" | IPtables Portweiterleitung
Hallo Leute,
jetzt kommt sicherlich eine etwas komische/dumme Frage, doch mir fällt wirklich absolut nichts ein wo nach ich n könnte.
Somit hoffe ich ihr verzeiht mir die Frage
Zunächst möchte ich euch kurz das Szenario erläutern bevor ich zu dein Anforderungen komme.
Also es gibt ein Netzwerk, Steinförmig, in der mitte ein Router an dem Router ein paar PC´s und ein Server.
Auf dem Server laufen verschiedene Virtuelle Maschinen. Will ich nun auf diese VM´s per ssh zugreifen so muss ich die Portweiterleitung im Router nutzen. So weit ist es nicht weiter schlimm. Das Schlimme ist aber das ich nur einmal den Port 22 bei der internen Weiterleitung bestimmen kann. Um somit jeden vServer per SSH ansprechen zu können müsste ich auf jedem Server den SSHdaemon auf einen anderen Port setzen und dies dann auch nochmal im Router so einstellen.
Mir ist das zu umständlich und aufwendig. Daher die Idee eine VM auf dem Server aufzusetzen, welche generell erstmal alle SSH anfragen entgegen nimmt und dann verteilt. Somit muss ich zwar immer noch im Router unterschiedlichen Ports einstellen. Aber diese zeigen alle auf die selbe IP und ich habe so auch diese Verwaltung Zentral.
Nun die eigentliche Frage. Wie nennt sich eine solche Funktion?
Ich hoffe ihr könnt mir diese Frage beantworten damit ich endlich mit einer Lösungssuche beginnen kann
LG Cinux
PS: Achso was mir gerade einfällt. Brauche ich dazu eine zweite Netzwerkkarte?
jetzt kommt sicherlich eine etwas komische/dumme Frage, doch mir fällt wirklich absolut nichts ein wo nach ich n könnte.
Somit hoffe ich ihr verzeiht mir die Frage
Zunächst möchte ich euch kurz das Szenario erläutern bevor ich zu dein Anforderungen komme.
Also es gibt ein Netzwerk, Steinförmig, in der mitte ein Router an dem Router ein paar PC´s und ein Server.
Auf dem Server laufen verschiedene Virtuelle Maschinen. Will ich nun auf diese VM´s per ssh zugreifen so muss ich die Portweiterleitung im Router nutzen. So weit ist es nicht weiter schlimm. Das Schlimme ist aber das ich nur einmal den Port 22 bei der internen Weiterleitung bestimmen kann. Um somit jeden vServer per SSH ansprechen zu können müsste ich auf jedem Server den SSHdaemon auf einen anderen Port setzen und dies dann auch nochmal im Router so einstellen.
Mir ist das zu umständlich und aufwendig. Daher die Idee eine VM auf dem Server aufzusetzen, welche generell erstmal alle SSH anfragen entgegen nimmt und dann verteilt. Somit muss ich zwar immer noch im Router unterschiedlichen Ports einstellen. Aber diese zeigen alle auf die selbe IP und ich habe so auch diese Verwaltung Zentral.
Nun die eigentliche Frage. Wie nennt sich eine solche Funktion?
Ich hoffe ihr könnt mir diese Frage beantworten damit ich endlich mit einer Lösungssuche beginnen kann
LG Cinux
PS: Achso was mir gerade einfällt. Brauche ich dazu eine zweite Netzwerkkarte?
Zuletzt geändert von Cinux am 17.04.2013 17:56:49, insgesamt 3-mal geändert.
Re: "Netzwerk Server"
Verstehe ich nicht ganz. Du kannst doch auf dem Host die VMs im Bridge Modus anbinden. Dann bekommt jede VM eine eigene IP Adresse und kann auch jeweils über Port 22 mit SSH angesprochen werden.
Gruß Alex
Gruß Alex
[[ Black Holes are where God devided by 0 ]]
Re: "Netzwerk Server"
Damit hast du recht.
Aber das Funktioniert nicht wenn ich von Ausserhalb auf die VMs zugreifen will. Da ich im Router nur einmal eine Portweiterleitung mit dem Port 22 machen kann.
Um es nochmal deutlich zu machen. Wenn ich eine Portweiterleitung mache die besagt das ich von Außen den Port 1234 anspreche und intern diese Anfrage dann weiter geleitet werden soll an IP 192.168.1.50 mit Port 22. Kann ich nur einmal eine solche Konfiguration. Das heißt nochmal eine Portweiterleitung mit Port 1235(von außen) und einer Internen Weiterleitung auf IP 192.168.1.51 mit Port 22 ist nicht möglich. Somit müsste ich an der VM den Port für SSH ändern. Was ich nicht möchte.
Ich hoffe das war etwas verständlicher.
EDIT: Um es etwas anschaulicher zu gestalten:
Der Blaue Pfad Funktioniert, aber zweiter Pfad(Rot dargestellt) funktioniert nicht.
Aber das Funktioniert nicht wenn ich von Ausserhalb auf die VMs zugreifen will. Da ich im Router nur einmal eine Portweiterleitung mit dem Port 22 machen kann.
Um es nochmal deutlich zu machen. Wenn ich eine Portweiterleitung mache die besagt das ich von Außen den Port 1234 anspreche und intern diese Anfrage dann weiter geleitet werden soll an IP 192.168.1.50 mit Port 22. Kann ich nur einmal eine solche Konfiguration. Das heißt nochmal eine Portweiterleitung mit Port 1235(von außen) und einer Internen Weiterleitung auf IP 192.168.1.51 mit Port 22 ist nicht möglich. Somit müsste ich an der VM den Port für SSH ändern. Was ich nicht möchte.
Ich hoffe das war etwas verständlicher.
EDIT: Um es etwas anschaulicher zu gestalten:
Der Blaue Pfad Funktioniert, aber zweiter Pfad(Rot dargestellt) funktioniert nicht.
Zuletzt geändert von Cinux am 13.11.2012 20:31:21, insgesamt 1-mal geändert.
Re: "Netzwerk Server"
Ok jetzt verstanden.
Ich nehme an die VMs müssen in dem LAN auch im Bridge Mode laufen?
Gruß Alex
Ich nehme an die VMs müssen in dem LAN auch im Bridge Mode laufen?
Gruß Alex
[[ Black Holes are where God devided by 0 ]]
Re: "Netzwerk Server"
Ja, das sollen Sie!
Re: "Netzwerk Server"
Gut,
ich kenne jetzt auch den Hypervisor nicht. Aber dann sehe ich es ähnlich, dass du eine zweite Netzwerkkarte brauchst. Eine die im Bridgemodus und eine die im NAT Modus läuft. Auf der Karte mit NAT Modus setzt du die Portweiterleitung zu den VM's Port 22 auf und die verdampfst du in deiner Routerkonfig. Über die Bridgemodus Karte erreichen deine Clients im LAN die VMs über die normale IP Adresse.
Musst dir halt ein paar Mehr gedanken der Adressstruktur machen damit das funzt. Hab sowas zwar noch nie aufgebaut, ist so aber denkbar.
Alternativ einen Router anschaffen der etwas besser betucht ist.
Gruß Alex
ich kenne jetzt auch den Hypervisor nicht. Aber dann sehe ich es ähnlich, dass du eine zweite Netzwerkkarte brauchst. Eine die im Bridgemodus und eine die im NAT Modus läuft. Auf der Karte mit NAT Modus setzt du die Portweiterleitung zu den VM's Port 22 auf und die verdampfst du in deiner Routerkonfig. Über die Bridgemodus Karte erreichen deine Clients im LAN die VMs über die normale IP Adresse.
Musst dir halt ein paar Mehr gedanken der Adressstruktur machen damit das funzt. Hab sowas zwar noch nie aufgebaut, ist so aber denkbar.
Alternativ einen Router anschaffen der etwas besser betucht ist.
Gruß Alex
[[ Black Holes are where God devided by 0 ]]
- minimike
- Beiträge: 5616
- Registriert: 26.03.2003 02:21:19
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Köln
-
Kontaktdaten:
Re: "Netzwerk Server"
Warum nicht auf einem Gerät anmelden und dann durchhangeln? Einfach SSH mit Key Auth einführen und dann gehts weiter mit ssh -A blablub@yourserver.tld. Einmal drauf geht es von da auf das eigendliche Ziel.
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft
Re: "Netzwerk Server"
Das "Weiterhangeln" kann umstaendlich werden, wenn scp oder Kollegen im Spiel sind, ausserdem ist auf der Zwischenstation (sofern man nicht mit SSH-Tunneln arbeitet) der Verkehr offen (und somit zum Sniffen wertvoll).
Was der TE eigentlich will, ist ein stinknormaler Router mit DNAT (Destination NAT) fuer ein paar Ports. Geht recht simpel mit iptables:(selbstverstaendlich ungetestet.) Das sollte fuer alle TCP-Pakete, die vom Router 192.0.2.1 auf Port 23456 aufschlagen, eine nach aussen transparente Weiterleitung auf 192.0.2.15 Port 22 TCP erreichen. Die Zeile drunter gilt fuer naechsthoeheren Port und IP.
Beachte, dass -A die Regel in eine Kette einhaengt. Mit iptables-save sieht man imho am uebersichtlichsten, was gerade alles an Regeln aktiv ist. Wie man ueberfluessige Regeln los wird, verraet iptables(8).
Ausserdem wird dieser Setup ohne DNAT nicht funktionieren, weil die Antwort nicht an die Router-VM, sondern auf den Standardgateway gehen wird (welcher diese Verbindung nicht kennt und verwirft).
Gruss Cae
--Edit: Recht hat er, es fehlte -t NAT.
Was der TE eigentlich will, ist ein stinknormaler Router mit DNAT (Destination NAT) fuer ein paar Ports. Geht recht simpel mit iptables:
Code: Alles auswählen
# iptables -t NAT -A PREROUTING -s 192.0.2.1 -p tcp --dport 23456 -j DNAT --to-destination 192.0.2.16:22
# iptables -t NAT -A PREROUTING -s 192.0.2.1 -p tcp --dport 23457 -j DNAT --to-destination 192.0.2.17:22
Beachte, dass -A die Regel in eine Kette einhaengt. Mit iptables-save sieht man imho am uebersichtlichsten, was gerade alles an Regeln aktiv ist. Wie man ueberfluessige Regeln los wird, verraet iptables(8).
Ausserdem wird dieser Setup ohne DNAT nicht funktionieren, weil die Antwort nicht an die Router-VM, sondern auf den Standardgateway gehen wird (welcher diese Verbindung nicht kennt und verwirft).
Gruss Cae
--Edit: Recht hat er, es fehlte -t NAT.
Zuletzt geändert von Cae am 28.12.2012 19:32:39, insgesamt 1-mal geändert.
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: "Netzwerk Server"
Danke für eure Antworten.
Durchhangeln wollte ich mich nicht das es, wie ich finde, nicht sehr elegant ist und wie Cae sagt auch noch gesnifft werden kann.
Ich glaube eine zweite Netzwerkkarte wird wohl so oder so nicht schaden
@Cae:
Ich werde es sobald ich etwas Zeit habe testen. Den das sollte genau das sein was ich gesucht habe. Falls sich keine weiteren Fragen ergeben setze ich den Post später auf gelöst
Durchhangeln wollte ich mich nicht das es, wie ich finde, nicht sehr elegant ist und wie Cae sagt auch noch gesnifft werden kann.
Ich glaube eine zweite Netzwerkkarte wird wohl so oder so nicht schaden
@Cae:
Ich werde es sobald ich etwas Zeit habe testen. Den das sollte genau das sein was ich gesucht habe. Falls sich keine weiteren Fragen ergeben setze ich den Post später auf gelöst
Re: "Netzwerk Server"
Also ich muss doch noch einmal auf das Thema zurückkommen. :-/
IPTables ist auf jedenfall schon einmal genau das was ich gesucht habe.
Allerdings funktionieren die Befehle von dir, Cae, nicht.
Diese müssen noch um -t NAT ergänzt werden. Dann werden diese von iptables akzeptiert.
Doch leider funktioniert es nicht so wie ich das gerne hätte, oder besser gesagt garnicht.
Hier der Aktuelle Befehl und die Bestätigung das dieser auch akzeptiert wurde.
Der Einfachheit halber möchte ich zunächst als Source alles akzeptieren.
Der Aufbau des Netzwerkes ist recht einfach. Via DynDNS kreife ich vom Internet aus auf das Heimnetzwerk zu. Je nach Port entscheidete der Router, via Portweiterleitung, was er damit tun soll. In meinem Fall soll er alles was an Port 22113 ankommt an die Maschine 192.168.1.115:22113 senden.
Davon ausgehen das er dies tut kann ich allerdings nicht nachvollziehen ob die SSH anfrage bei der Maschine 192.168.1.115 ankommt und was diese damit macht.
Wie kann ich so etwas am besten überwachen? Oder ist gar mein Befehl zum erstellen der Regel falsch?
LG Cinux
IPTables ist auf jedenfall schon einmal genau das was ich gesucht habe.
Allerdings funktionieren die Befehle von dir, Cae, nicht.
Diese müssen noch um -t NAT ergänzt werden. Dann werden diese von iptables akzeptiert.
Doch leider funktioniert es nicht so wie ich das gerne hätte, oder besser gesagt garnicht.
Hier der Aktuelle Befehl und die Bestätigung das dieser auch akzeptiert wurde.
Der Einfachheit halber möchte ich zunächst als Source alles akzeptieren.
Der Aufbau des Netzwerkes ist recht einfach. Via DynDNS kreife ich vom Internet aus auf das Heimnetzwerk zu. Je nach Port entscheidete der Router, via Portweiterleitung, was er damit tun soll. In meinem Fall soll er alles was an Port 22113 ankommt an die Maschine 192.168.1.115:22113 senden.
Davon ausgehen das er dies tut kann ich allerdings nicht nachvollziehen ob die SSH anfrage bei der Maschine 192.168.1.115 ankommt und was diese damit macht.
Wie kann ich so etwas am besten überwachen? Oder ist gar mein Befehl zum erstellen der Regel falsch?
LG Cinux