Portál AbcLinuxu, 12. května 2025 08:37

Dotaz: Přesměrování domén na vnitřní IP adresy.

24.4.2009 14:28 Míla
Přesměrování domén na vnitřní IP adresy.
Přečteno: 1483×
Odpovědět | Admin

Dobrý den, nevím si rady s takovouto věcí. Mám veřejnou IP adresu a na ní několik domén druhého řádu (,tk). Za routerem je LAN s několika PC, z nichž jeden funguje jako web server. Router (Asus 520g) mám nastaven tak, že požadavky jsou směrovány na lokální IP adresu toho serveru (192.168.1.9). Pomocí ifconfig jsem založil aliasy tří dalších vnitřních IP adres eth0:1,eth0:2,eth0:3  a to 192.168.1.10...12. V souboru http.conf jsem vytvořil tři kontejnery Virtualhost podle těchto IP adres na tři různé adresáře DocumentRoot.. V lokále když zadám do prohlížeče tyto vytvořené vnitřní IP adresy tak to mezi stránkami přepína dobře. Jak nyní udělám aby i domény zadané z internetu směřovaly na odpovídající vnitřní IP adresu? V nastavení routeru jsem nenašel, kde spojit doménu s vnitřní IP adresou, tak nějaký DNS na tom serveru? A dostane se tam až ta doména v http hlavičce host? Nějak se v tom nemohu zorientovat, tak děkuji předem  za každou radu .

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.4.2009 14:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na routeru nemůžete přesměrovávat domény, ale jen IP adresy. Název domény se u protokol HTTP přenáší až uvnitř TCP/IP komunikace (a navíc doména není povinná hlavička, i když se dnes nesetkáte s případem, že by ji někdo neposílal). Pokud byste to chtěl řešit na routeru, jediná možnost je dát tam na port 80 reverzní proxy server, který by podle hlavičky požadavek předal na správný server.
24.4.2009 15:32 Marek B.
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Odpovědět | | Sbalit | Link | Blokovat | Admin

 tohle není věc pro router, ale až pro server, kde k tomu stačí

 

<VirtualHost *:80>                                                              
DocumentRoot "/home/WWW1"                                                        
ServerName domain1.cz                                                           
<Directory "/home/WWW1">                                                         
AllowOverride All                                                               
Allow from all                                                                  
Options +Indexes                                                                
</Directory>                                                                    
</VirtualHost>          

<VirtualHost *:80>                                                              
DocumentRoot "/home/WWW2"                                                        
ServerName domain2.cz                                                           
<Directory "/home/WWW2">                                                         
AllowOverride All                                                               
Allow from all                                                                  
Options +Indexes                                                                
</Directory>                                                                    
</VirtualHost>          

 

 

cynic_asshole avatar 24.4.2009 15:50 cynic_asshole | skóre: 28
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obávám se, že nej tak lehce tento případ nevyřešíš. Ostatně, jaký důvod tě vedl k tomu, mít na každé IP jeden site? V praxi se tohle řeší tak, že server naslouchá pod jednou IP adresou a k rozlišení dojde až na aplikační vrstvě podle požadavku Host z HTTP hlavičky. Takže nejjednodušší bude, když v konfiguraci indiána přepíšeš to co tam máš na virtuální hosty (jak již poznamenal Marek B. výše).
Neznáš nějakou linuxovou distribuci pro Windows?
24.4.2009 19:33 Míla
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Odpovědět | | Sbalit | Link | Blokovat | Admin

No to jak napsal Marek, tj. směrování podle jména, jsem taky zkoušel ,ale vůbec to nefungovalo a všechny domény  skončily vždy v prvním (defaultním) Virtualhost kontejneru.

Měl jsem i doplněné vazby IP adresa - doména v souboru host, ale nic nepomohlo. Jako by server tu doménu z hlavičky vůbec nepřečetl.Neumím si to vysvětlit proč to nefunguje, proto jsem přešel na směrování podle vnitřní IP adresy a tam to funguje jak jsem již psal výše v lokálu bez problému, ale jak zařídit fungování z vnějška opravdu nevím.

24.4.2009 19:41 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
No to jak napsal Marek, tj. směrování podle jména, jsem taky zkoušel ,ale vůbec to nefungovalo a všechny domény skončily vždy v prvním (defaultním) Virtualhost kontejneru.
V tom případě to bylo špatně nastavené. Jediné řešení je opravit to. Zkuste to znova, a pokud vám to nebude fungovat, zeptejte se tady v poradně a přiložte konfigurační soubor – nastavit VirtualHost je poměrně jednoduché, takže vám atdy s tím určitě někdo poradí (pokud se vám to nepodaří nastavit rovnou správně).
Měl jsem i doplněné vazby IP adresa - doména v souboru host, ale nic nepomohlo.
Soubor /etc/hosts s tím vůbec nijak nesouvisí.
jak zařídit fungování z vnějška opravdu nevím
Vrátit se k prvnímu pokusu a nastavit správně ten jmenný VirtualHost. Je to ta nejjednodušší cesta. Jiné řešení je jedině nastavit VirtualHost nebo jeho obdobu na jiném počítači, který by dělal reverzní HTTP proxy server – takže tím si to určitě nezjednodušíte.
24.4.2009 20:12 Míla
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příloha:

Tak jsem to zkusil znova podle jména a stále nic, nefunguje, tak nevím. Přikládám soubor httpd-vhosts.conf, který je includnutej do httpd.conf.Už opravdu nevím co dělám blbě.

24.4.2009 20:44 Míla
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Odpovědět | | Sbalit | Link | Blokovat | Admin

Ještě mě napadlo, jestli to není způsobeno tím, že ta veřejná IP adresa je přes DynDNS a dostávám se tedy na ni přez "mojedomena.neco.org" a ty ostatní domény jsou registrované u dot.tk , když totiž dám "nslookup mojedomena.neco.org" vrátí se správná vnější IP adresa mojeho připojení, ale když dám "nslookup www.domena1.tk"

vrátí se úplně jiná adresa.To znamená, že doména "www.domena1.tk" se jenom někde odkáže na "mojedomena.neco.org" a ta najde správnou vnější IP adresu, ale původní doména (www.domena1.tk) se jaksi z hlavičky host vytratí a tudíž ji už server nenačte, ale načte "moje domena.neco.org" a spadne to do defaultu. Nevím možná je to ale blbost.

24.4.2009 21:21 lieko
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
presne ako pises, problem bude v dot.tk domenach. Ked som ich pouzival tak som si vsimol ze oni v skutocnosti robia nieco take, ze nepresmeruju poziadavku na tvoj web server ale na svoj, zobrazia prazdnu stranku so svojou favicon a do nej includnu asi nejakym iframom tvoju stranku.

Ked ty rozlisujes virtualhostov na svojom webservery na zaklade .tk tak je ti to trt platne lebo k tebe pride iba poziadavka na meno alebo ip ktore si zadal pri registracii tk domeny (v tvojom pripade ak to spravne chapem tak to je DynDNS zaznam)

Jendа avatar 24.4.2009 21:29 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Takže se to bude muset řešit na aplikační úrovni. Ten iframe by měl vracet referrer, takže zjistit třeba v PHP a poslat požadovanou stránku.

Nebo koupit za 200Kč doménu ;-).
25.4.2009 11:34 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Referrer je volitelná hlavička, někteří paranoidní uživatelé nebo správci proxy serverů ji blokují. Můžete ji tedy používat kako pomůcku, ale rozhodně se na ni nelze spoléhat.
Jendа avatar 24.4.2009 21:27 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Možná. Poslechni si komunikaci třeba Firefoxím rozšířením LiveHTTPHeaders, mělo by tam být ve tvém požadavku vidět něco jako Host: www.domena1.tk

Taky to můžeš zkusit telnetem:
jenda@paranoid:~$ telnet tvuj.server 80
Trying 87.236.195.71...
Connected to hrach.eu.
Escape character is '^]'.
GET / HTTP/1.1
Host: www.domena1.tk

HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: text/html
Accept-Ranges: bytes
ETag: "-1601318575"
Last-Modified: Mon, 16 Mar 2009 15:43:17 GMT
Content-Length: 871
Date: Fri, 24 Apr 2009 19:25:23 GMT
Server: lighttpd/1.4.19

HTML kód stránky pro vhost www.domena1.tk
24.4.2009 21:26 Míla
Rozbalit Rozbalit vše Re: Přesměrování domén na vnitřní IP adresy.
Odpovědět | | Sbalit | Link | Blokovat | Admin

Hm, tak to je pěkně na H..... a řešení asi není

ale i tak všem díky za reakci, apsoň jsem si to ujasnil

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.