Natban lévő VPS gépekre domain irányítása.
2010-10-08T06:08:04+02:00
2011-06-05T17:49:13+02:00
2022-07-27T22:30:26+02:00
smile_221
Üdv mindenkinek.

Megpróbálok jól és pontosan kérdezni, hogy másnak is hasznos legyen.

(Tudom, hogy xp nem erre a célra van kitalálva. Megvan az oka hogy mért ezen szenvedek . Megértésetek köszönöm.)

Következő a szitu.

Van egy gép, amire egy Windows XP Pro Sp3 van telepítve.
Ez egy webszerver lesz. Jelenleg 2 virtuális gép van telepítve, virtualbox-al.


(később még 2 lesz és a webkiszollgálás mellet egyéb számítási feladatokat fog ellátni a windows. Többek között ezért is winen kell ) (nem kereskedelmi, hanem magán célra lesz)

Ha elindítom a gépeket, az egyiken fut egy komplett szervereszköz, a másikon meg egy lampp.
(mind a kettő ubuntu-val van ellátva)
Egyik mondjuk, megkapja a 192.168.1.2 másik meg a 192.168.1.3-as ip címet.
(Az ip címeket, egy külön telepített DHCP osztja ki macaddress alapján és internet is megy a virtuális gépeken.)


A kérdésem/ kérésem

Tehát valahogy el kéne érni, hogy a nat-ban lévő gépek úgy funkcionáljanak, mintha ki lennének kötve az internetre közvetlen. Valami olyan megoldás kellene, ami nem portolással dönti el hogy A vagy a B vagy a C szerverre fusson, hisz több virtuális gépen is futni fog http szerver, amin apache is fut. Tehát a leg ideálisabb valami olyan segítség lenne ami domain név szinten oldja ezt meg. Ráirányítom a szolgáltatóm DNS szerveréről a gépemre a domain neveket, és a domain nevek a kívánt virtuális gépet érnék el.

Sokat olvastam a témában, de ködös nagyon ködös a dolog, mivel nat-ban lévő gépekre vonatkozólag, használható infót, alig vagy elvétve találtam. Pláne magyarul, hogy teljesen meg is értsem.

Vagy apache virtualhost és mod-proxy-val lehet elvileg megoldani, de ez kilőve mert valamiért nem akar működni. És állítólag nem a legjobb megoldás publikus szervernek, ami kint van a világhálón.

DNS-el, vagy proxy-val lehet még megoldani amitről tudok... De ezen részek nagyon ködösek a számomra.


Bármilyen windows xp rendszeren futó aplikáció jó. Én már kifogytam az ötletekből.
De már meg öl a kíváncsiság is.

Tehát erre akkor most mia megfelelő megoldás?

Előre is köszönöm.
Mutasd a teljes hozzászólást!
Nos már jó ideje megoldottam ezt a problémát is. Vicces, hogy a kérdéseimre magam adom meg a választ. De beírom, hogy mások ha keresik meg tudják oldani.


Aki nem kíváncsi a magyarázatra csak görgessen lentebb és alkalmazza a két kódot.

Tehát hosszas próbálkozások és kudarcok útján, hogy domaint tudjak továbbítani http fejléc alapján és azt egy másik szerver gond nélkül tudja kezelni, megjártam a rögös utat.

Először a Jana serverrel próbáltam domaint irányítani, félsikerrel. Ugyanis, hol megkapta rendesen a http fejlécet a cél szerver, hol nem. Ennek az oka az lehet, hogy régebbi apachot (vagy httpd-t) használ, amivel valószínű elég macera volt ezt tisztesen megoldani.
(Mellesleg a jana servert sok más egyéb célra merem ajánlani, nekem bevált)

Ezek után megpróbálkoztam egy olyan port irányítóval ami képes volt a lekért adatmennyiség alapján eldönteni, hogy a 3 vps közül melyikre küldje tovább a kérést. De ez elég instabil volt és sokszor összeomlott. Ráadásul ez is "webrulettet" csinált és néha csak úgy találomra küldött tovább valahova, valamelyik meglévő domainre.

Többször is neki rugaszkodtam az apache féle proxy irányításnak, amit lentebb láthattok. Itt jön megint egy csavar a történetben, ugyanis az a megoldás amit használok, az apache szerint hivatalosan nem működik. Konkrtétan azt mondják, hogy erre nem lehet használni olyan formában ahogy jelenleg használom. Érdekes... De a lényeg hogy működik.

Nos én Xampp alatt használom. Tehát az a verzió amit én írtam le ott működik!
rendes apache alatt nem tudom :(

Az első kód mindenhol megtalálható a neten. Bár kevés helyen van így leírva.
A második kódot úgy szenvedtem össze. (Akkor nem volt még megtalálható a neten most nem tudom, de remélem segít nektek)

Ez volt a tömör forma :)

Ezúton azért köszönöm mindenki segítségét.

Az alábbi kódot a xampp\apache\conf\extrahttpd-proxy.conf fájlba kell bemásolni

# # Implements a proxy/gateway for Apache. # # Required modules: mod_proxy, mod_proxy_http # <IfModule proxy_module> <IfModule proxy_http_module> # # Reverse Proxy # ProxyRequests Off ProxyPreserveHost On <Proxy *80> Order deny,allow Deny from all </Proxy> <Proxy *443> Order deny,allow Deny from all </Proxy> </IfModule> </IfModule>


Az alábbi kódot a xampp\apache\conf\httpd-vhosts.conf fájlba kell bemásolni


NameVirtualHost www.domain1.hu:80 <VirtualHost domain1.hu:80> ServerName www.domain1.hu ServerAdmin webmaster@valami.hu ProxyMaxForwards 100 ProxyRequests Off ProxyVia Block HostnameLookups On UseCanonicalName On ProxyPreserveHost On ProxyPass / http://192.168.2.3/ ProxyPassReverse / http://192.168.2.3/ </VirtualHost> NameVirtualHost www.valami.domain1.hu:80 <VirtualHost valami.domain1.hu:80> ServerName www.valami.domain1.hu ServerAdmin webmaster@valami.hu ProxyMaxForwards 100 ProxyRequests Off ProxyVia Block HostnameLookups On UseCanonicalName On ProxyPreserveHost On ProxyPass / http://192.168.2.1/ ProxyPassReverse / http://192.168.2.1/ </VirtualHost>
Mutasd a teljes hozzászólást!

  • Szia!

    - A host XP router mögött csücsül?

    - A webszerverek mindegyikének a szabványos 80-as portot kellene használnia?

    - A virtuális gépek mindegyike a host XP azonos fizikai LAN kártyáját használja?
    Mutasd a teljes hozzászólást!
  • Jóreggelt :)

    Nincs és nem is lesz router.

    Igen mindegyik 80-on megy, megváltoztatható, egy feltétellel ha a bejövő port marad 80 és a virtuális szerver mondjuk 81 és a mások 82 majd így tovább, de visszafele akkor megint 80 kell. Nem akarok portot változtatni, mert az nem seo barát és elég gány megoldás lenne ha böngészőben 81-en menne valami.
    Természetesen az ftp és egyéb szolgáltatások is futhatnak más más portszámon virtuális szerverenként. Gondolom így port frowardolni kellene valamivel.

    Igen egy lankártyán vannak, ez egy Microsoft visszacsatoló adapter és felvan telepítve egy dhcp szerver ami ezenkeresztül osztja ki az ip címeket amik erre a kártyára csatlakoznak és ez a kártya a (visszacsatoló) fizikai valódi kártyáról kapja a netet. Így jut e la dhcp-be a net és a többi gépre
    Mutasd a teljes hozzászólást!
  • Akkor a host XP közvetlen az Interneten lóg?

    Az összes webszerveren kiszolgált tartalmat nem hosztolhatja egy Apache azon létrehozott több webhellyel (host header miatt)?

    Fel tudnád vázolni, hogy néz ki a hálózati hierarchia?
    Mutasd a teljes hozzászólást!
  • Míg írtál gondoltam rá :) egy húron ketyeg az agyunk :)

    Itt egy kép

    A host headeres dolgot nem értem :)
    Mutasd a teljes hozzászólást!
  • Ugye azonos IP címen és porton több webhelyet szolgálunk ki, a kiszolgálandó tartalomnak megfelelő webszerverhez való irányítást a host header (állomásfejlécnek is hívják) érték alapján döntjük el.
    Mutasd a teljes hozzászólást!
  • ugye a lényeg az lenne, hogy mindegyik szerveren tudok majd ezután apache virtualhost-ot használni? Mert utána mindegyik szerverre több domain is menne. Közben ráguglizok a host header témára.

    Közben felmerült egy kérdésem imét. Vajon, jó ha a domain szollgáltatomtól A recor típussal irányítják át a domaint? Gondolom jó lehet buta kérdés.
    Mutasd a teljes hozzászólást!
  • Mást nem nagyon tudsz. A NAT-olás még kérdéses. Mondjuk van 6 domainnév, mindegyik a host XP külső lábára mutat, innen NAT-olva eljutunk az Apache-hez, ami a host header érték alapján eldönti, hogy melyik webhelyet kell kiszolgálnia.

    Elvileg nincs akadálya a dolognak.

    Apache-éknál igazából nem host header-ként szokták emlegetni a fícsőrt, ez inkább IIS vonalon fut.
    Mutasd a teljes hozzászólást!
  • Hello, hálózatban egyáltalán nem vagyok otthon, de mintha ilyesmire találták volna ki a vmware nevű platformot, aminek van ingyenes licensze is.

    Link: VMware Virtualization for Desktop & Server, Application, Public & Hybrid Clouds
    Mutasd a teljes hozzászólást!
  • Microsoft

    A fenti microsoft segédlet is említi az IIS-t de emelett a WINS-t is A DNS-t is. A legjobb hogy mind3 igaz a hálózatra ahogy kiveszem leginkább az IIS lenne a megfelelő. De most adtál egy új indulást a header tippel. Ha ezen a vonalon eljutok a véghez visszajövök és adom a pontot. Meg közben vissza vissza nézek hátha mondasz valami okosat :) Köszi eddigieket is. Sokat segítettél.
    Mutasd a teljes hozzászólást!
  • Én virtualbox-ot használok virtualizációra és az is tudja amit a vmware. Itt most az a feladat, hogy ne azoknak a beépített szollgáltatásaival oldjuk mega dolgot illetve jobban legyen megoldva. Bugos mindegyikben valami. Láthatod... Külön dhcp-t raktam fel, holott alapból van dhcp a virtualboxban is sőt a windows-ban is. Nézz utána mennyit szenvednek vele...

    Jó a virtualizációra mind a kettő, de hogy azonkívül használjam a beépített sziriszarjait körülményesen, hát inkább keresek mást :)
    Mutasd a teljes hozzászólást!
  • irtualbox-ot használok virtualizációra és az is tudja amit a vmware

    Desktop virtualizáció mellett egészen pontosan, de ha megnézzük a platform virtualizációt, azért már nincs ez egészen így. Persze ez már kőkemény licensz köteles.

    De tényleg csak segíteni akartam, nem kioktatni, vagy erőszakoskodni.
    Mutasd a teljes hozzászólást!
  • Szia!

    Mivel a gépek egy belső hálózaton helyezkednek el, ezért kénytelen vagy port forwardding-gal eljuttatni a kívülről érkező adatokat.

    Csak abban az esetben teheted meg, hogy mindegyik szerveredet a szabványos 80-as porton elérjék, hogy a szolgáltatódtól egy IP tartományt kérsz (mindegyik "gépnek" külön-külön + hálózati cím + broadcast cím) - ez viszont nem kicsit borsos összeg...
    Mutasd a teljes hozzászólást!
  • nyílván a vm képes oprendszer szintű virtualizzációra:9 és igen köszönöm a segítséget :) De én a hálózati szolgáltatásokat taglaltam :) Mellesleg majd fogom kóstolgatni, de wm nél is szintén ki akarom iktatni azokat a dolgokat amiket VB nél is ki íiktattam
    Mutasd a teljes hozzászólást!
  • nem vészes az ár, mert havi 750 forintért kapok + ip-t de ki akarom kerülni mert ezt vettem a fejembe. Ha megszakadok is megoldom valahogy. Mivel a későbbiekben tervbe van véve több szerver bekötése sorba és így egy láncon keresztül szeretném elérni az összeset. Többeközöt lesz olyan gép amit bárki használhat oktatási célokra. Nyilván az az évi 9000 forint nem oszt nem szoroz de mondjuk 5-6 gépnél már igen.

    Nemlétezik, hogy apache megoldja és nincsen más megoldás a problémámra. egyenlőre amúgy amit adtak tipnek "host header" jónak tűnik.
    Mutasd a teljes hozzászólást!
  • Nem kell Neked ezért IP címtartományt kérned, virtuális szervereim egyikén IIS 7.5 fut, egy IP címmel és egyetlen porttal hosztol 4 különböző domain nevet, a dolog abszolút működőképes.

    Annyi igaz az elhangzottakból, hogy valahogy oda kell majd irányítani a kintről érkező kéréseket a virtuális szerverhez, ehhez persze portátirányítás kell.
    Mutasd a teljes hozzászólást!
  • De ugye itt az a lényeg hogy mondjuk 4 virtuális gépből mondjuk 3 gépen lenne apache. Mind a 3 webszerver máshogy és másmire lenne konfigurálva és mindegyikre több tucat domain lenne irányítva.

    Elég csak a fő szerverre felrakni az IIS-t? A virtuális gépekre már nem kellene?

    Amúgy a virtuális gépeken pedig linux disztribuciók futnak.
    (már ha számít valamit)
    Mutasd a teljes hozzászólást!
  • Elvileg jónak kell lennie.

    Úgy próbálnám meg, hogy az IIS-t feltenném a fő gépre.

    Azon létrehoznám azokat a webhelyeket, amelyek az Apache-eken fognak futni. (ha 3 Apache van, akkor 3 webhelyet)

    Ezekhez a webhelyekhez beállítanám az állomásfejléceket (pl. valami1.hu, valami2.hu, valami3.hu).

    Minden webhely nyitófájlja a megfelelő Apache-hez irányítaná a klienseket.

    Ez elviekben működőképes, de így még nem próbáltam.
    Mutasd a teljes hozzászólást!
  • sehogy nemtom összehozni, hogy működjön.

    Próbáltam az állomás fejléces dolgot még a host fájl-ba is felvettem az ip címet de sehogy nemtom átirányítani az érkező domaineket a virtuális gépre :S

    Van ötleted miért?
    Mutasd a teljes hozzászólást!
  • Nos már jó ideje megoldottam ezt a problémát is. Vicces, hogy a kérdéseimre magam adom meg a választ. De beírom, hogy mások ha keresik meg tudják oldani.


    Aki nem kíváncsi a magyarázatra csak görgessen lentebb és alkalmazza a két kódot.

    Tehát hosszas próbálkozások és kudarcok útján, hogy domaint tudjak továbbítani http fejléc alapján és azt egy másik szerver gond nélkül tudja kezelni, megjártam a rögös utat.

    Először a Jana serverrel próbáltam domaint irányítani, félsikerrel. Ugyanis, hol megkapta rendesen a http fejlécet a cél szerver, hol nem. Ennek az oka az lehet, hogy régebbi apachot (vagy httpd-t) használ, amivel valószínű elég macera volt ezt tisztesen megoldani.
    (Mellesleg a jana servert sok más egyéb célra merem ajánlani, nekem bevált)

    Ezek után megpróbálkoztam egy olyan port irányítóval ami képes volt a lekért adatmennyiség alapján eldönteni, hogy a 3 vps közül melyikre küldje tovább a kérést. De ez elég instabil volt és sokszor összeomlott. Ráadásul ez is "webrulettet" csinált és néha csak úgy találomra küldött tovább valahova, valamelyik meglévő domainre.

    Többször is neki rugaszkodtam az apache féle proxy irányításnak, amit lentebb láthattok. Itt jön megint egy csavar a történetben, ugyanis az a megoldás amit használok, az apache szerint hivatalosan nem működik. Konkrtétan azt mondják, hogy erre nem lehet használni olyan formában ahogy jelenleg használom. Érdekes... De a lényeg hogy működik.

    Nos én Xampp alatt használom. Tehát az a verzió amit én írtam le ott működik!
    rendes apache alatt nem tudom :(

    Az első kód mindenhol megtalálható a neten. Bár kevés helyen van így leírva.
    A második kódot úgy szenvedtem össze. (Akkor nem volt még megtalálható a neten most nem tudom, de remélem segít nektek)

    Ez volt a tömör forma :)

    Ezúton azért köszönöm mindenki segítségét.

    Az alábbi kódot a xampp\apache\conf\extrahttpd-proxy.conf fájlba kell bemásolni

    # # Implements a proxy/gateway for Apache. # # Required modules: mod_proxy, mod_proxy_http # <IfModule proxy_module> <IfModule proxy_http_module> # # Reverse Proxy # ProxyRequests Off ProxyPreserveHost On <Proxy *80> Order deny,allow Deny from all </Proxy> <Proxy *443> Order deny,allow Deny from all </Proxy> </IfModule> </IfModule>


    Az alábbi kódot a xampp\apache\conf\httpd-vhosts.conf fájlba kell bemásolni


    NameVirtualHost www.domain1.hu:80 <VirtualHost domain1.hu:80> ServerName www.domain1.hu ServerAdmin webmaster@valami.hu ProxyMaxForwards 100 ProxyRequests Off ProxyVia Block HostnameLookups On UseCanonicalName On ProxyPreserveHost On ProxyPass / http://192.168.2.3/ ProxyPassReverse / http://192.168.2.3/ </VirtualHost> NameVirtualHost www.valami.domain1.hu:80 <VirtualHost valami.domain1.hu:80> ServerName www.valami.domain1.hu ServerAdmin webmaster@valami.hu ProxyMaxForwards 100 ProxyRequests Off ProxyVia Block HostnameLookups On UseCanonicalName On ProxyPreserveHost On ProxyPass / http://192.168.2.1/ ProxyPassReverse / http://192.168.2.1/ </VirtualHost>
    Mutasd a teljes hozzászólást!
  • Sokkal egyszerűbb lett volna egy Apache szerver és named virtual hostokat létrehozni. Nem egész 10perc

    Végül is ezt tetted Te is, de ezt nagy terhelés esetén külön vason futó szerverekkel tudnám elképzelni, az xp-n futó virtualizáció nem ez az eset...
    Mutasd a teljes hozzászólást!
  • Na igen. De pont csak a tovább irányítás volt a kérdés. És í virtual host kicsit másra van kitalálva :)

    De így jól megy a téma. Szal gond nélkül irányítok mostmár több száz domaint és aldomain-t bárhova.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd