Geteilte IP-Adresse

F

Fenris

Guest
Hiho,
ich habe auf meinem Zweitrechner Ubuntu 8.10 Server Edition installiert, nach genau diesem Tutorial: perfect-server-ubuntu-8.10

Als Adminoberfläche habe ich dann ISPConfig nachinstalliert.

Nun erscheint bei der Eingabe der IP auf meinem Erstrechner die Fehlermeldung:
Geteilte IP-Adresse



Diese IP-Adresse wird mehrfach genutzt. Um die gewünschte Website zu erreichen, geben Sie ihre Domain anstelle der IP-Adresse in der Adresszeile des Browsers ein.

Bei Fragen oder Problemen wenden Sie sich bitte an den Server-Administrator.

Aber wenn ich den Domain Namen eingebe, kommt ein Seiten Ladefehler, da der Name nicht aufgelöst wird. Habe schon die Dateien "hosts" und "hostname" gecheckt und überall steht der korrekte Domain Name drinnen:
127.0.0.1 localhost
192.168.2.77 odin.heimserver.privat odin
hosts

odin.heimserver.privat
hostname

In der ISPConfig Oberfläche habe ich die Angaben:
-ISP Server-
host: odin
domain: 192.168.2.77
IP Adresse: 192.168.2.77
Netzmaske: 255.255.255.0

-Web-
host: odin
domain: heimserver.privat
ip adresse: 192.168.2.77
DNS / MX: Ja

hostname ändern habe ich auch schon probiert.

Der Server hängt per LAN Kabel an einer Ethernet Bridge, welches per WLAN mit dem Router kommuniziert. Ich weiß jetzt nicht, ob hier das Problem liegt, da ja die Bridge eine unterschiedliche IP als der Server hat.
Bridge: 192.168.2.4
Server: 192.168.2.77
Router: 192.168.2.1
Vielleicht hat dies ja mit der Fehlermeldung etwas zu tun?
 
Das hat nichts mit DNS (oder den IP-Adressen) zu tun, sondern Du siehst die Seite, die als Standard-Seite im Webserver definiert wurde, d.h. die verwendet wird, wenn nicht eine andere Domain (mit der gleichen IP-Adresse) als URL angegeben wird. Da wahrscheinlich noch keine weiteren Domains definiert wurden, siehst Du diese Seite in jedem Fall.

Stichwort zum Suchen für die weitere Konfiguration des Webservers: "vhost" (bzw. verwende ISPConfig für die weitere Konfiguration)


MOD: von DNS ins ispCP-Forum verschoben
, da es wohl eher dahin gehört.
 
Last edited by a moderator:
Okay bin nun in /etc/apache2/ unterwegs und dort unter /vhosts gibt es bei mir zwei Konfigurationsdateien. Bin in Linux noch nicht so ganz fit, aber die eine Datei hat die Endung ".conf~" ist das ein Systemlink oder so etwas?

Dort stehen zwei Einträge für 192.168.2.77:80. Der Erste hat die "DocumentRoot = .../sharedip" stehen und der Zweite verweist korrekt auf den Benutzerpfad, da wo die "Willkommen blabla" index.html liegt.

Wenn ich den ersten Eintrag lösche, wird aber nach Apache Neustart sofort wieder dieser Eintrag hinzugefügt!

Die Datei sieht so aus:
###################################
#
# ISPConfig vHost Configuration File
# Version 1.0
#
###################################
#
NameVirtualHost 192.168.2.77:80
<VirtualHost 192.168.2.77:80>
ServerName localhost
ServerAdmin root@localhost
DocumentRoot /var/www/sharedip
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</IfModule>
</VirtualHost>
#
#
######################################
# Vhost: odin.heimserver.privat:80
######################################
#
#
<VirtualHost 192.168.2.77:80>
ServerName odin.heimserver.privat:80
ServerAdmin webmaster@heimserver.privat
DocumentRoot /var/www/web4/web
ServerAlias heimserver.privat
DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
Alias /cgi-bin/ /var/www/web4/cgi-bin/
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
ErrorLog /var/www/web4/log/error.log
AddType application/x-httpd-php .php .php3 .php4 .php5
php_admin_flag safe_mode Off
<IfModule mod_ruby.c>
<Directory /var/www/web4/web>
Options +ExecCGI
</Directory>
RubyRequire apache/ruby-run
#RubySafeLevel 0
<Files *.rb>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>
<Files *.rbx>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>
</IfModule>
<IfModule mod_python.c>
<Directory /var/www/web4/web>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride Indexes AuthConfig Limit FileInfo
Order allow,deny
allow from all
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>
</IfModule>
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType application/vnd.wap.wmlscriptc .wmlsc .wsc
AddType text/vnd.wap.wml .wml
AddType text/vnd.wap.wmlscript .ws .wmlscript
AddType image/vnd.wap.wbmp .wbmp
Alias /error/ "/var/www/web4/web/error/"
ErrorDocument 400 /error/invalidSyntax.html
ErrorDocument 401 /error/authorizationRequired.html
ErrorDocument 403 /error/forbidden.html
ErrorDocument 404 /error/fileNotFound.html
ErrorDocument 405 /error/methodNotAllowed.html
ErrorDocument 500 /error/internalServerError.html
ErrorDocument 503 /error/overloaded.html
AliasMatch ^/~([^/]+)(/(.*))? /var/www/web4/user/$1/web/$3
AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web4/user/$1/web/$3
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</IfModule>
</VirtualHost>
#
#
#

Was stimmt noch nicht?
 
ispCP hat nichts mit ispConfig zu tun. Passt eher ins sonstige Adminsoftware-Forum, habs mal verschoben. ;)

//EDIT: Die Datei mit der Endung .conf~ weist darauf hin, dass es sich dabei im eine Backup-Datei handelt, die von der Datei mit gleichen Namen und der Endung .conf erstellt wurde. Das macht z.B. der Editor namens joe. ;)

//EDIT2:
Damit der Host, den du eingibst, aufgelöst (sprich dem host eine IP zugewiesen werden kann) werden kann von deinem Erstrechner aus, musst du ihm sagen, dass der Host die entsprechende IP hat. Je nachdem, was auf deinem Erstrechner fürn System drauf ist, folgendes ausführen:
Unter Windows kannst du das in der Datei C:\Windows\system32\drivers\etc\hosts machen, indem du einfach folgende Zeile hinzufügst (entsprechend mit dienen Angaben ergänzen):
Code:
xxx.xxx.xxx.xxx host.zu.deinem.zweitrechner

Unter Linux musst du dasselbe einfach in der Datei /etc/hosts eintragen.
 
Last edited by a moderator:
Wie kann ich nun unterbinden, dass Apache immer diesen falschen Eintrag schreibt?

//EDIT: Die Datei mit der Endung .conf~ weist darauf hin, dass es sich dabei im eine Backup-Datei handelt, die von der Datei mit gleichen Namen und der Endung .conf erstellt wurde. Das macht z.B. der Editor namens joe. ;)
Ah alles klar. Ich nutze den Midnight Commander, damit komme ich besser zurecht als mit vi (die alten Norton Commander Tage lassen Grüßen^^).

ps: dem Thread ist ja ganz schwindelig vom vielen verschieben:rolleyes:

EDIT:
//EDIT2:
Damit der Host, den du eingibst, aufgelöst (sprich dem host eine IP zugewiesen werden kann) werden kann von deinem Erstrechner aus, musst du ihm sagen, dass der Host die entsprechende IP hat. Je nachdem, was auf deinem Erstrechner fürn System drauf ist, folgendes ausführen:
Unter Windows kannst du das in der Datei C:\Windows\system32\drivers\etc\hosts machen, indem du einfach folgende Zeile hinzufügst (entsprechend mit dienen Angaben ergänzen):
Code:
xxx.xxx.xxx.xxx host.zu.deinem.zweitrechner

Unter Linux musst du dasselbe einfach in der Datei /etc/hosts eintragen. ;)
Na das war ein Volltreffer! Herzlichen Dank dafür:)

Jetzt kann ich mit dem Domainnamen den korrekten DocumentRoot ansteuern. Und mir ist nun auch klar, warum der Eintrag von Apache vorgenommen wird um einem dies auch zu erleutern.

Nur bleibt noch ein Problem: Über DynDNS kommt noch diese Fehlermeldung mit der geteilten IP, da mein Router ja auf die IP weiterleitet...
 
Last edited by a moderator:
Nur bleibt noch ein Problem: Über DynDNS kommt noch diese Fehlermeldung mit der geteilten IP, da mein Router ja auf die IP weiterleitet...

Wie greifst Du denn auf die DynDNS-Adresse zu? Hast Du bei Deinen Domains einen CNAME-Record angelegt, der auf den DynDNS-A-Record zeigt? Greifst Du direkt auf den DynDNS-Namen zu?
Je nachdem wird im HTTP-Protokoll nämlich der "falsche" URL übertragen, so dass der Apache dann die Default-Seite ausliefert, die Du ja inzwischen zu genüge kennst ;) Die einfachste Lösung wird wohl sein, für den entsprechenden Domain-Namen einen Eintrag in ispCP vorzunehmen, der das gleiche DoumentRoot -Verzeichnis (/var/www/web4/web) hat, wie die Seite, die angezeigt werden soll.

@Armadillo: Sorry für die Verwirrung -- ich kenne mich mit den ganzen Verwaltungstools nicht so aus. Da ich nur eine überschaubare Anzahl von Domains habe, mache ich die Arbeit lieber von Hand ;)
 
Last edited by a moderator:
@Armadillo: Sorry für die Verwirrung -- ich kenne mich mit den ganzen Verwaltungstools nicht so aus. Da ich nur eine überschaubare Anzahl von Domains habe, mache ich die Arbeit lieber von Hand ;)
Kein Ding, wollts nur richtig gestellt haben, damits keine Verwirrung gibt. :D
 
Wie greifst Du denn auf die DynDNS-Adresse zu? Hast Du bei Deinen Domains einen CNAME-Record angelegt, der auf den DynDNS-A-Record zeigt? Greifst Du direkt auf den DynDNS-Namen zu?
Momentan greife ich auf den direkten DynDNS Namen zu. Leider bin ich noch nicht ganz fit mit "CNAME, A Record etc.". Die Konfiguration sieht momentan so aus, dass ich einfach den DynDNS Namen eingebe und dieser dann auf meine IP verweißt. Im Router habe ich dann eine Portweiterleitung auf meinen Server eingestellt.

Die einfachste Lösung wird wohl sein, für den entsprechenden Domain-Namen einen Eintrag in ispCP vorzunehmen, der das gleiche DoumentRoot -Verzeichnis (/var/www/web4/web) hat, wie die Seite, die angezeigt werden soll.
Ist mit Domain-Namen der Name der DynDNS Domain gemeint? Geht dies mit o.g. Einstellungen oder muss ich noch irgendwo was am Router einstellen?
 
Schau Dir mal bei Gelegenheit die DNS-Seite bei Wikipedia an, da wird das alles genauer erklärt. Kurzfassung: Ein A-Record zeigt auf eine IP-Adresse; so ein Record ist beim DynDNS-Provider eingetragen
Code:
DeinName.DynDNS.org.     IN A  123.123.123.123
somit kann über den symbolischen Namen auf die IP-Adresse zugegriffen werden. Beim CNAME-Record geht man noch einen Schritt weiter. Angenommen Du hast bei einem DNS-Provider eine Domain registriert und trägst da folgendes ein:
Code:
www.DeineDomain.de.    IN CNAME DeinName.DynDNS.org.
. Der Resolver des Betriebssystems eines Rechners bekommt die Antwort, dass er die IP-Adresse von DeinName.DynDNS.org nehmen soll, wenn er nach [noparse]www.DeineDomain.de[/noparse] fragt. Dadurch kann man auch über diesen Namen auf Deinen Heim-Server zugreifen. Das hat jetzt alles aber nur mit dem DNS zu tun und nicht damit, welche Seite der Apache ausliefert. Letzteres hängt dann davon ab, was in dem HTTP-GET-Request drinsteht:
Code:
GET www.deinedomain.de/ HTTP/1.0
GET deinname.dyndns.org/ HTTP/1.0
GET / HTTP/1.0
sind drei ganz unterschiedliche Anfragen an den Apache, für die er entsprechend konfiguriert werden muss, die aber letztlich alle bei der gleichen IP-Adresse gestellt werden (Das kannst Du übrigens ganz einfach testen, indem Du ein "telnet zweitrechner 80" auf der Konsole eingibst, und anschließend eine GET-Anfrage, gefolgt von zweimal der Eingabetaste. Du siehst dann selber, wann die "Default"-Seite, die bei Dir die "geteilte IP-Adresse"-Meldung bringt, ausgeliefert wird.)
Ist mit Domain-Namen der Name der DynDNS Domain gemeint?
Ja. Weitere Einstellungen sollten normalerweise nicht notwendig sein. Allerdings kann man i.d.R. nicht von "innen" auf die "äußere" IP-Adresse des Routers zugreifen; dazu muss man dann den Umweg über einen öffentlichen Proxy oder eines der Privacy-Netzwerke (MIX) nehmen. Oder man begnügt sich mit der internen Variante, indem man die entsprechenden Hostnamen und Domains in die Hosts-Datei einträgt, wie es Armadillo schon beschrieben hat -- das Testen von "außen" muss dann eben jemand anders machen ;)
 
Last edited by a moderator:
Okay, vielen Danke für diese ausführliche Antwort :)
Werde mir das alles noch einmal genauer anschauen. Es ist mir eigentlich auch nicht sonderlich wichtig, dass der Server von außerhalb des LANs erreichbar ist. Ist vielleicht sogar besser, da ich später auch private Dokumente zentral verwalten möchte.
 
Back
Top