Forum EUserv
VPS/vServer - virtual private server => vServer - HowTo's => Thema gestartet von: SoftCreatR am 21.Januar 2009, 14:27:01
-
Hallo Leute,
Mir ist aufgefallen, dass der Hostname (/etc/hostname) und die Hosts (/etc/hosts) nach einem Neustart wieder zurückgesetzt wurden.
Ich bin mir nicht sicher ob das auf einem vServer normal ist (hab da keine Erfahrungen mit).
Gruss
Mike
Datei hostname_vps anlegen:
touch /etc/init.d/hostname_vps
Folgendes in die Datei mit einfügen:
#!/bin/bash
IP=IP-Adresse_des_Servers
HOSTNAME=gewünschter_Hostname
DOMAINNAME=gewünschter_Domainname
#
echo $HOSTNAME > /etc/hostname
#
cat /etc/hosts | sed 's/^62.*/'$IP' '$HOSTNAME'\.'$DOMAINNAME' '$HOSTNAME'/g' > /etc/hosts2
mv /etc/hosts2 /etc/hosts
#
/bin/hostname $HOSTNAME
/bin/domainname $DOMAINNAME
Dann noch ausführbar machen:
chmod 755 /etc/init.d/hostname_vps
Zu guter letzt noch in den Bootloader einbringen:
update-rc.d hostname_vps defaults
Und schon ist das Problem gelöst :)
-
/bin/domainname $DOMAINNAME
also domainname =domain.de ....
funzt nicht command not found
-
domainname ist auf meinen system ein symlink auf hostname,
/bin/domainname -> hostname
und hostname sowie domainname befinden sich (unter gentoo) in dem packet:
sys-apps/net-tools
im zweifelsfhalle einfach einen symlink domaniname -> hostname anlegen.
mfg, Roland
-
ahh danke das ist einleuchtend!!
dachte sie nutzen debian .. ohne syslink..
-
Hööö?
Geht das jetzt unter Etch?
Hab jetzt:
#!/bin/bash
IP=85.31.189.121
HOSTNAME=85-31-189-121
DOMAINNAME=85-31-189-121.blue.kundencontroller.de
#
echo $HOSTNAME > /etc/hostname
#
cat /etc/hosts | sed 's/^62.*/'$IP' '$HOSTNAME'\.'$DOMAINNAME' '$HOSTNAME'/g' > /etc/hosts2
mv /etc/hosts2 /etc/hosts
#
/bin/hostname $HOSTNAME
/bin/domainname $DOMAINNAME
Die Datei ist jetzt unter /etc/init.d/hostname_vps und hat bereits die nötigen Rechte... So, dann hab ich jetzt
ln -s /etc/hostname /bin/domainname
gemacht ^^... So, dann wollte ich die ausführen und bekam folgende Meldung...
/bin/domainname: line 1: 85-31-189-121: command not found
Wie geht das unter Debian.. oder war das so richtig? ^^
-
hehe genau das gleiche hier
-
ihr sollt nit /etc/hostname verlinken sondern /bin/hostname - wir wollen ja schließlich ne ausführbare datei, und nich irgend ne config ne? ist aber irgendwie zwecklos, da es das tool "domainname" erstens nur unter gentoo gibt und zweitens wenn ihr "domainname" auf "hostname" linkt euer hostname mit domainname ersetzt wird macht lieber in die letzten zeilen statt /bin/hostname $hostname und /bin/domainname $domainname den befehl /bin/hostname $hostname.$domainname, dann klappts auch mit dem domainname aber insgesamt funktioniert dieses script nicht zufriedenstellend, da bei mir zumindest die /etc/hosts nich geändert wird
-
Ich hab ja etwas gezögert eine so offensichtlich Antwort zu geben, aber gut. Damit es auch mit etch klappt nehmt folgende Änderungen relativ zum Originalskript vor:
1.) löscht die letzte Zeile mit dem Aufruf von /bin/domainname
2.) Ändert die vorletzte Zeile auf /bin/hostname $HOSTNAME.$DOMAINNAME
3.) Ändert die 62 im sed aufruf auf 81 (oder was auch immer das erste Oktett der IP Adresse eures Vservers ist)
und ja man könnte das erste Oktet automatisch aus $IP bestimmen
OKT=$(echo $IP | cut -d "." -f 1)
-
nur so am rande? wieso macht ihr das so unglaublich umständlich?
es reicht vollkommen aus, die entsprechenden dateien in /etc (unter getnoo /etc/conf.d) per 'chattr' schreibzuschützen.
solltet ihr euren server alle 5minuten neustarten, evtl. noch nen cron erstellen, der dann in dem entsprechenden verzeichnis die hostname.* löscht.
gruß
-
Das mit dem Schreibschutz hat bei mir unter Debian 5.0 minimal nicht funktioniert. Aber andere einfache Lösung:
cp /etc/hostname /etc/myhostname
Danach in der /etc/init.d/hostname.sh den Pfad /etc/hostname durch /etc/myhostname ersetzen:do_start () {
[ -f /etc/hostname ] && HOSTNAME="$(cat /etc/myhostname)"
Ab jetzt gilt was in der myhostname steht und nicht mehr die /etc/hostname. Einfach diese editieren, reboot und gut is :)
-
Unter Lenny haben ich den Hostnamen, wie von polskafan beschrieben, auf srv1 geaendert, da Postfix einfach keine Lust auf den Defaulthostname hatte. Mit dem angeblich numberischen Hostnamen (81-89...) war kein Mailempfang moeglich. Jetzt ist Postfix zufrieden und Mails werden zugestellt. Aber der Postmaster bekommt von Zeit zu Zeit eine Mails, dass srv1 nicht aufloesbar waere (srv1 could not be resolved).
Faellt Euch da einen Gegenmassnahme ein oder soll ich die Meldung erstmal einfach ignorieren?
-
Hi,
warum so kompliziert den hostnamen dauerthaft ändern wenn es auch einfacher geht ??? ??? ???
Einfach die datei /etc/hostname entsprechend editieren
und die /etc/hosts anpassen
und beide dateien mittels befehl
chattr +is /etc/hostname
chattr +is /etc/hosts
schreibschützen ;)
um den vorgang wieder zu entsperren anstelle das + ein - setzen.
jedoch sollte sie am besten so scheib geschützt bleiben.
und dann die VE neustarten und fertig is ;)
-
Hallo,
kann man auch den Resolve Host Eintrag ändern?
aktuell sieht er ja so aus : 84-23-*-*.blue.kundencontroller.de
Ich möchte meine eigene Domain angeben z.b server4.test.de
Ist das möglich?
-
Hi,
mir ist nicht bekannt, das dies möglich ist ;)
-
ich habe hierzu noch mal ne frage ich habees so geändert wie basecolor es beschrieben hat und habe aber ne domain endung angegeben nur ist sie nach denn neustart des server nicht erreichbar dauert es ne zeit oder wie soll ich dies verstehen.
-
kannst du mal dene hostname und hosts posten?
-
mein hostname ist vserver
mein host ist
127.0.0.1 localhost
84.23.66.227 speddys.homeserver.de
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
# Auto-generated hostname. Please do not remove this comment.
84.23.66.227 84-23-66-227
-
fehler gefunden ;)
deine hostname ist korrekt
aber die hosts müsste so aussehen.
127.0.0.1 speddys.homeserver.de.local localhost
84.23.66.227 speddys.homeserver.de vserver
::ffff:84.23.66.227 speddys.homeserver.de vserver
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localhost
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
-
habe eben denn server neu installiert und alles richtig zu machen und nachdemm wenn ich die host beartein möchte habe ich aöls rooot keine zugrif rechte mehr was kann ich jetz machen damit ich iscpcp omega installieren kann da er kein zugriff auf die hosts hattt bei dr install.
hat sich erledigt
-
ich habe jetz alles gemacht wie beschrieben ohne erfolg die domain speddys.homeserver.de ist nicht erreichbar mache ich die ip eintragen komme ich im controll pannel von ispcpomeca aber nicht über die domain..
apache2.error.log steht nichts.
-
Was? Kein Wort verstanden...
Willst du nur dem Root-User SSH-Zugriff verwehren?
Hast dann aber das Problem, dass du anschließend nichts mehr installieren kannst?
Da hilft das Kommando "su". Einfach also normaler User ausführen...
-
hi!
ich habe meine hosts datei wie gewünscht bearbeitet und nach basecolors anleitung "gesichert". dies ist jetzt ca. 2-3 wochen her. seit dem sind 3 neue hosts dateien hinzugekommen mit den namen:
hosts.15926
hosts.29820
hosts.3619
Was haben diese dateien zu bedeuten und warum werden diese automatisch erstellt?
In der originalen hostsdatei steht:
81.89.xxx.34 meinedomain.de pinos
in den automatisch erzeugten steht:
81.89.xxx.34 81-89-xxx-34 pinos
pinos ist mein hostname.
Vielen Dank schonmal für eure Antworten!
Gruß pino
-
mein hostname ist vserver
mein host ist
127.0.0.1 localhost
84.23.66.227 speddys.homeserver.de
(...)
84.23.66.227 84-23-66-227
Das passt ja vorne und hinten nicht...:
1. Deinem Hostnamen fehlt die Domain: Als Hostname bitte immer den FQDN eintragen
2. In deiner Hosts muss die 127.0.0.1 auf "deinhostname.deinedomain deinhostname" eingetragen werden:
127.0.0.1 speddys.homeserver.de speddys
3. Du hast eine Route auf den FQDN sowie auf den numerischen Hostnamen gebaut, das wird nicht funktionieren.
Die dickgedruckte Linie bitte entfernen.
4. Deine Domain muss natürlich entsprechend auf die IP verweisen...
€dit:
In der originalen hostsdatei steht:
81.89.xxx.34 meinedomain.de pinos
in den automatisch erzeugten steht:
81.89.xxx.34 81-89-xxx-34 pinos
pinos ist mein hostname.
Die Hosts-Datei wird sich wahrscheinlich selbst neu erstellen, weil auf die alte nicht mehr zugegriffen werden kann, weil man die natürlich sinnigerweise unter Schreibschutz gelegt hat... ::)
Wie dem auch sei:
In deiner Hosts müsste es folgendermaßen aussehen:
127.0.0.1 pinos.deinedomain.de pinox
# Auto-generated hostname. Please do not remove this comment.
81.89.***.34 pinos.deinedomain.de
€dit2:
Einfach die datei /etc/hostname entsprechend editieren
und die /etc/hosts anpassen
und beide dateien mittels befehl
chattr +is /etc/hostname
chattr +is /etc/hosts
schreibschützen
Je nach Distribution wird das nicht funktionieren (unter Debian beispielsweise nicht), generell ist das Vorgehen aber auch fragwürdig.
Dieses Vorgehen kann ich nicht empfehlen! Die Lösung mittels Skriptänderung ist da um einiges sauberer.
-
funktioniert dieses script nicht zufriedenstellend, da bei mir zumindest die /etc/hosts nich geändert wird
Erstelle folgende Datei /etc/myhosts mit dem Inhalt des aktullen Hosts (die Bearbeitete Version):
cat /etc/hosts >> /etc/myhosts
Und füge folgende Zeilen in der /etc/init.d/hostname.sh hinzu:
> /etc/hosts
cat /etc/myhosts >> /etc/hosts
-
In deiner Hosts müsste es folgendermaßen aussehen:
127.0.0.1 pinos.deinedomain.de pinos
# Auto-generated hostname. Please do not remove this comment.
81.89.***.34 pinos.deinedomain.de
hey! dankeschön! warum muss das pinos denn mit einem punkt vor meine domain geschrieben werden und nicht als alias einfach dahinter? bzw. was für auswirkungen hat denn das? UND: jetzt fehlt doch der localhost alias und der rechner erkennt sich nicht mehr als localhost, wenn ich es möchte...oder?
also ich hab jetzt einfach mal die obenstehende konfiguration übernommen und alles funktioniert...zumindest soweit ich das sehe...aber ich verstehe nicht warum? warum kann man den localhosteintrag einfach weglassen?
danke!
gruß pino
-
hey! dankeschön! warum muss das pinos denn mit einem punkt vor meine domain geschrieben werden und nicht als alias einfach dahinter?
Weil die Einträge in der Hosts immer als FQDN angegeben werden. Das bedeutet, dass an dieser Stelle eine eindeutige Zuweisung deines Hosts zu deiner Domain erfolgt.
UND: jetzt fehlt doch der localhost alias und der rechner erkennt sich nicht mehr als localhost, wenn ich es möchte...oder?
da hast du natürlich recht... siehe weiter unten...
Edit
Ich hab mich noch einmal ein bisschen mit dem Thema beschäftigt...:
Es ist empfehlenswert in der Hosts an erster Stelle den localhost (als Alias) einzutragen, weil einige Programme darauf vertrauen, dass dieser aufgelöst werden kann...
Also:
127.0.0.1 pinos.deinedomain.de localhost
-
mache ich das so wie gesagt habe Toronto passiert garnichts.
undzwar habe ich folgendes geändert denn hostname habe ich wie gesagt vserver eingetargen und bei host folgendes.
127.0.0.1 gameserver-home.org localhost
84.23.66.227 gameserver-home.org vserver
die domain ist bei euserv.de reg und habe ne umleitung laufen dort hin.
und habe dies auch in der myhost eingetragen wenn ich jetz dnn server neu starte kommt dieses zum vorschein.
84-23-66-227:~# hostname
84-23-66-227
84-23-66-227:~# hostname -f
84-23-66-227.blue.kundencontroller.de
84-23-66-227:~#
der eintrag von host sieht denn so aus.
127.0.0.1 gameserver-home.org.local localhost
84.23.66.227 gameserver-home.org vserver
::ffff:84.23.66.227 gameserver-home.org vserver
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localhost
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
also was mache ich falsch weil ich das so gemacht habe wie du es beschrieben hast.
-
undzwar habe ich folgendes geändert denn hostname habe ich wie gesagt vserver eingetargen und bei host folgendes.
Hast du dann auch /etc/init.d/hostname.sh ausgeführt?
127.0.0.1 gameserver-home.org localhost
84.23.66.227 gameserver-home.org vserver
Du hast immer noch den eigentlichen Hostnamen vergessen...:
127.0.0.1 VSERVER.gameserver-home.org localhost
84.23.66.227 VSERVER.gameserver-home.org
und habe dies auch in der myhost eingetragen wenn ich jetz dnn server neu starte kommt dieses zum vorschein.
Um zu verhindern das der Hostname immer wieder zurückgesetzt wird, steht auf der ersten Seite ein Tipp wie du die "hostname.sh" so ändern kannst, dass deine eigene hostname-Datei verwendet wird.
127.0.0.1 gameserver-home.org.local localhost
84.23.66.227 gameserver-home.org vserver
::ffff:84.23.66.227 gameserver-home.org vserver
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localhost
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Das wird automatisch generiert - um IPv6-Support zu gewährleisten.
-
Wenn ich den hostname ändere via hostname und in den hosts ändert sich aber nicht der name der per reverse dns aufgelöst wird oder? :)
Grüße
-
So ich habe jetz alles gemacht wie beschrieben und es geht trotzdem nicht kann es sein das sei hier beim beta server was eingestellt haben damit dies nicht geht???
-
Hab meinen Fehler gefunden! ....
-
Also i.wie blick ich jetzt garnet mehr Durch -,-
Also zur info ich hab Debian 5.0 Lenny
ich versuche hier gerade verzweifelt mitzukommen... o.O
allerdings gibts bei mir weder fehlermeldungen .... aber ändern tut sich auch nix -,-
was mache ich denn bitte falsch, kann mir da mal jemand helfen, auch gerne per ICQ
279068413
Danke im Vorraus :)
-
Für Debianer noch die LSB-Tags:
### BEGIN INIT INFO
# Provides: hostname-fix
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: hostname-fix
# Description: Sets your Hostname to the choosen value
### END INIT INFO