IP Vergabe für VMs

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von jogy, 3. Sep. 2012.

  1. jogy

    jogy New Member

    Hallo!
    Ich möchte für die VMs keine "echten" öffentlichen IPs vergeben, sondern nur interne nach dem Muster 192.168.x.x etc.
    Mir genügt, wenn der Kunde seine VM über vmx.domain.tdl erreichen kann.
    Gibt es da eine Anleitung, wie das zu routen und konfigurieren habe?

    Danke im Voraus!
    Gruß,
    Jogy
     
  2. F4RR3LL

    F4RR3LL Member

    Das machste per Nat mit iptables im Hostystem. Dazu ne Frage bekommt der Kunde dann nur einen Port weitergeleitet so das sich mehrere VMs eine externe ip teilen. Oder willst im Host dann jeweils eine externe ip auf eine interne zur VM durchreichen?

    Hier ein Beispiel wie man 1 externe IP komplett an eine interne durchreicht.
    Wenns nur ein Port sein soll muss der jeweils noch in der Regel hinzugefügt werden. (vmbr0 kann natürlich auch ethX o.ä. sein... je nachdem wie deine Netzwerkconfig ausschaut)

    Code:
    #!/bin/sh
     
    IPTABLES="/sbin/iptables"
     
    #loesche alle Regeln
    $IPTABLES -t nat --flush
     
    # Routing fuer die virtuellen Maschinen
    #
    #####################################################################################################################
    #####################################################################################################################
    #
    # 10.0.1.1 <-> 123.456.789.012 
    #
    #  VM1
    #
    # damit der VServer nach aussen kommunizieren kann:
    $IPTABLES -t nat -A POSTROUTING -s 10.0.1.1 -o vmbr0 -j SNAT --to 123.456.789.012
    # 
    # und der Rückweg
    $IPTABLES -t nat -A PREROUTING -d 123.456.789.012 -i vmbr0 -j DNAT --to-destination 10.0.1.1
    
    Das hier muss natürlich auch noch in die sysctl.conf

    Code:
    #net.ipv4.conf.default.forwarding=1
    net.ipv4.conf.all.forwarding=1
    
    Wenn es sich nur um eine IP im Host handelt sind alle VMs über obige Domain erreichbar, wenn wie in meinem vorgenannten Beispiel jede VM ne IP durchgereicht bekommt so ist die Domain nicht zwingend nötig, da dann die VM auch extern per definierter IP erreichbar ist.
    Was nicht geht ist .... port 22 Vm1ssh, port 23 VM2ssh mal als Beispiel... unter selber externe ip mit unterschiedlicher Domain .... bzw Port 22 unter einer IP doppelt nutzen und nur per Domain splitten wollen geht auch nicht.

    Gruß Sven
     
    Zuletzt bearbeitet: 4. Sep. 2012
  3. jogy

    jogy New Member

    Herzlichen Dank Sven, für die ausführliche Antwort. :D
    Ich möchte dem Kunden vorkonfigurierte VMs anbieten, die er dann nur über Web erreichen kann. Also:
    Im Prinzip brauche ich doch dann doch nur 1 öffentliche IP und natte das Ganze dann, so dass ich dann im ISPconfig3 nur noch die internen 10.0.1.x Domains vergebe.
    Kann Du mir da noch einmal einen Tip geben, wie ich das mit Iptables route?

    Danke im Voraus,
    Jogy
     
  4. F4RR3LL

    F4RR3LL Member

    Das ist genau das was ich im zweiten Teil von *was nicht geht* beschrieb ;)
    Hintergrund, iptables arbeitet mit der IP, die Domaininfo steckt im Header, sprich wird erst vom Webserver ausgewertet der dann den entsprechenden vhost aufruft.
    Du könntest noch im Host nen Proxy vorschalten, aber ob der Aufwand den Nutzen rechtfertigt ist natürlich ne andere Sache.

    Gruß Sven
     
    Zuletzt bearbeitet: 4. Sep. 2012
  5. jogy

    jogy New Member

    Na ja, wenn ich rechne, dass 1 IP ca. 1 Euro kostet, sind das bei 100 Kunden = 100 Euro die ich sparen könnte. Hm.... gibt es denn da keine andere Lösung? ..... grübel.... grübel...
     
  6. F4RR3LL

    F4RR3LL Member

    Wozu für jede Webseite ne extra VM? Machs normal via vhost und fertig.
    Für dein Vorhaben 100 VMs mit 100 Webseiten. Sorry ich erkenne da keinen Sinn dahinter.

    Gruß Sven
     
  7. jogy

    jogy New Member

    Auf den ersten Blick ist mein Vorhaben ja auch nicht leicht verständlich. Allerdings gehört zu der Webseite etwas mehr als nur Apache und eben das müssen die VM´s erzeugen ;-)
    Wie könnte denn eine Lösung mittels Proxy aussehen? Gibt es da eine schlanke opensource Lösung? Squid ist wohl dafür zu groß oder wäre der ok?
     
  8. Till

    Till Administrator

    Du kannst squid, apache oder wahrscheinlich auch nginx als reverse proxy nehmen.
     
  9. jogy

    jogy New Member

    Zuletzt bearbeitet: 4. Sep. 2012
  10. F4RR3LL

    F4RR3LL Member

    Die Frage ist halt .... bleibts bei ner reinen Webweiterleitung, da reichen apache und nginx (jo der kann das) völlig. Wenn jedoch noch mehr hinzukommt wirds nen bissl umfangreicher. Jede vm hat ja dann mindestens auch nen SSH mitlaufen, den würde ich dann durch unterschiedliche Ports basteln, weil ja alles 1 ip.
    Sofern das keine geheime Sache ist würde mich der Hintergrund schon interessieren.
    Denn auch auf Ressaurcenseite ists ja nicht grade sparsam jeder Webseite ne eigene VM zu verpassen.

    gruß Sven
     
  11. jogy

    jogy New Member

    Also es werden nur die Ports 80 und 443 als Weiterleitung benötigt. Das Login kann im "Notfall" über ein
    erfolgen. Über den konkreten Fall kann ich hier (noch) nichts sagen aber stell Dir vor, Du möchtest jedem Kunden eine VM mit fertigem ISPconfig per Mausklick verkaufen... ;)
     
  12. F4RR3LL

    F4RR3LL Member

    Wenn ich mir das mal so vorstelle, kommen ja noch mailserver/ftp/Dns/Jails dazu.
    Da wird das in deinem Vorhaben echt schwierig und ich würde mir einen Hoster suchen bei dem ich die VMs mit sauberen IPs versorgen kann.
    ip-projects.de werf ich Dir dazu mal so an die Backe ;) (ips bekommste dort für lau dazu.... reine Verhandlungssache)

    Gruß Sven
     
  13. jogy

    jogy New Member

    Ja, Danke für den Tip. Hatte den hier im Auge ->Hetzner Online AG: Root Server EX 10
    mit 64 GB Ram für 109 € dürften da einige VM's drauf laufen. Allerdings nur 1 IP incl.
    Werde ich mal vergleichen - testen - berichten...
     
  14. F4RR3LL

    F4RR3LL Member

    Schau bei dem Hoster den ich nannte mal ins Forum. Dort landen monatlich Restposten mit zum Teil top Preisen.
    Du hast halt Ansprüche die Dir ein Massenhoster eher nicht erfüllen kann. Wobei es auch bei H die Möglichkeit gibt entsprechend große Subnetze hinzuzumieten.
    Da biste dann weit unter 1 euro/ip.
    Jedoch ist dein 1 IP Vorhaben so wie Du es bisher geschildert hast nicht wirklich zufriedenstellend zu lösen.

    Gruß Sven
     

Diese Seite empfehlen