Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Problem mit Networkmanager systemd?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Thu Mar 16, 2017 12:24 pm    Post subject: Reply with quote

schmidicom wrote:
aber der eigene DHCP-Client sollte es tun wenn er schon meint den Hostname, aus welchem Grund auch immer, verändern zu müssen.
Frage: Da ein Rechner einen Hostnamen hat, den der Admin des Rechners festlegt, warum (zur Hölle) sollte irgendwas diesen Namen ändern? Das ergibt keinen Sinn!
Nichteinmal Microsoft Exchange würde sowas tun, und das will was heißen.
Der Hostname ist lokal, fest, und muss in keinem Netzwerk der Welt eindeutig sein. In einer DNS-Liste muss die FQDN eindeutig sein. Aber theoretisch können 200 Rechner in einem Subnetz den selben Hostnamen haben, und über Subdomains unterschieden werden.

Das Einzige, was sich ändern kann, ist die Domain bei einem Netzwerkwechsel. Das hat mit dem Hostnamen aber nichts zu tun.

Und deshalb schreibt man seine eigenen Daten ja auch in /etc/hosts als (zum Beispiel)
Code:
127.0.0.1 <hostname>.<Standarddomain> <hostname> localhost
Tut nicht weh, schadet nicht, und wenn man sich an einer anderen Domain anmeldet, wird sich der dhcp-client (wenn dafür konfiguriert) schon darum kümmern, und es passiert nichts Schlimmes, wenn das Kabel gezogen wird.

Nochmal zur Verdeutlichung:
Der Rechnername ist heilig. Wer diesen durch ein Programm zu verändern versucht, oder die Veränderung des heiligen Hostname durch ein Programm fordert, wird geteert, gefedert, und aus dem Land gejagt. :evil:
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Thu Mar 16, 2017 9:41 pm    Post subject: Reply with quote

schmidicom wrote:
Natürlich darf ein Server im Netzwerk nicht einfach so an der lokalen /etc/hosts herumbasteln aber der eigene DHCP-Client sollte es tun

Nein, sollte er nicht. In der /etc/hosts schreibt maximal der Admin mit einem Editor rum, auf keinen Fall aber ein DHCP-Client.
Back to top
View user's profile Send private message
flammenflitzer
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 3482
Location: Berlin

PostPosted: Sun Mar 19, 2017 10:43 am    Post subject: Reply with quote

Installiert waren:
Code:
net-misc/dhcp 4.3.4
net-misc/dhcpcd 6.11.3

flammenflitzer olaf #
Code:
emerge -C net-misc/dhcpcd

flammenflitzer olaf #
Code:
cat /etc/hostname
cat: /etc/hostname: Datei oder Verzeichnis nicht gefunden

flammenflitzer olaf #
Code:
hostnamectl
  Static hostname: n/a
Transient hostname: flammenflitzer
        Icon name: computer-desktop
          Chassis: desktop
       Machine ID: 2deee6e266ae5ddb7e142a94501baefa
          Boot ID: a6433cf4c2b34e41a33577586166815e
 Operating System: Gentoo/Linux
           Kernel: Linux 4.9.6-gentoo-r1
     Architecture: x86-64

flammenflitzer olaf #
Code:
hostnamectl set-hostname flammenflitzer

flammenflitzer olaf #
Code:
hostnamectl
  Static hostname: flammenflitzer
        Icon name: computer-desktop
          Chassis: desktop
       Machine ID: 2deee6e266ae5ddb7e142a94501baefa
          Boot ID: a6433cf4c2b34e41a33577586166815e
 Operating System: Gentoo/Linux
           Kernel: Linux 4.9.6-gentoo-r1
     Architecture: x86-64

flammenflitzer olaf #
Code:
cat /etc/conf.d/hostname
# Set to the hostname of this machine
hostname="localhost"

flammenflitzer olaf #
Code:
nano /etc/conf.d/hostname

flammenflitzer olaf #
Code:
cat /etc/conf.d/hostname  
# Set to the hostname of this machine
#hostname="localhost"
hostname="flammenflitzer"

flammenflitzer olaf #
Code:
cat /etc/dhcp/dhclient.conf | grep -v '\#'
          

flammenflitzer olaf #
Code:
cat /etc/hosts | grep -v '\#'
127.0.0.1        localhost
::1              localhost

flammenflitzer olaf #
Code:
cat /etc/NetworkManager/NetworkManager.conf | grep -v '\#'
cat: /etc/NetworkManager/NetworkManager.conf: Datei oder Verzeichnis nicht gefunden

Stecker abgezogen. Desktop funktioniert. Werde ich beobachten und die Daumen drücken.
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Mon Apr 03, 2017 12:37 pm    Post subject: Reply with quote

hostnamectl?

Ah. da haben wir die Antwort.

Ja, der Poettering darf in /etc/hosts und /etc/hostname natürlich nach belieben rummalen, sowas tut Süss-tämm-Dieh nun einmal. Damit musst du leben. ;-)
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Mon Apr 03, 2017 7:00 pm    Post subject: Reply with quote

Yamakuzure wrote:
Ja, der Poettering darf in /etc/hosts und /etc/hostname natürlich nach belieben rummalen, sowas tut Süss-tämm-Dieh nun einmal.

Gib mal bitte ein Beispiel, in dem Systemd/Poettering die /etc/hosts bearbeiten.
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Tue Apr 04, 2017 7:21 am    Post subject: Reply with quote

musv wrote:
Yamakuzure wrote:
Ja, der Poettering darf in /etc/hosts und /etc/hostname natürlich nach belieben rummalen, sowas tut Süss-tämm-Dieh nun einmal.

Gib mal bitte ein Beispiel, in dem Systemd/Poettering die /etc/hosts bearbeiten.
Ah, stimmt! Ich vergaß, dass das Ding ja extra auf localhost reagiert, damit /etc/hosts ... moment, ich zitieren:
src/nss-myhostname/nss-myhostname.c wrote:
72 /* We respond to 'localhost', so that /etc/hosts
73 * is optional */
Ok, Spaß beiseite, mein Fehler. systemd malt natürlich nur in /etc/hostname rum.

Falls es dich interessiert, den entsprechenden Teil findet man in:
Code:
src/network/networkd-link.c:919:int link_set_hostname(Link *link, const char *hostname)
Und das wird von dhcp_lease_lost() aufgerufen, und zwar mit einem NULL hostname.

Oder anders ausgedrückt:

Die systemd-Entwickler sind der einhelligen Meinung, dass dein Rechner, sobald der Link weg ist, keinen Host-Namen mehr verdient.

Siehe src/network/networkd-dhcp4.c:dhcp_lease_lost() :
Code:
    237         if (link->network->dhcp_hostname) {
    238                 const char *hostname = NULL;
    239
    240                 if (link->network->hostname)
    241                         hostname = link->network->hostname;
    242                 else
    243                         (void) sd_dhcp_lease_get_hostname(link->dhcp_lease, &hostname);
    244
    245                 if (hostname) {
!!! 246                         /* If a hostname was set due to the lease, then unset it now. */
    247                         r = link_set_hostname(link, NULL);
    248                         if (r < 0)
    249                                 log_link_warning_errno(link, r, "Failed to reset transient hostname: %m");
    250                 }
    251         }
Damit der Spaß ein Ende hat, könntest du also versuchen "DHCP.UseHostname" bzw. "DHCPv4.UseHostname" in der Config auf 'false' zu setzen. Dann sollte der Hostname nicht mehr angerührt werden, egal wie oft das Kabel gezogen/gesteckt wird.

...dass der Wert Standardmäßig auf 'true' steht, empfinde ich aber als bedenklich...
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1924
Location: Schweiz

PostPosted: Tue Apr 04, 2017 8:09 am    Post subject: Reply with quote

Der nach wie vor rein optionale Netzwerkstack von systemd ist nicht die einzige Software welche standardmäßig versucht den lokalen Hostname auf den Wert zu setzen welcher vom DHCP-Server gegebenenfalls vorgeschlagen wird, "net-misc/dhcpcd" hat oder hatte dieses Verhalten auch schon an den Tag gelegt. Davon abgesehen wird das Verhalten von systemd-networkd in der offizellen Doku ziemlich deutlich erklärt:
https://www.freedesktop.org/software/systemd/man/systemd.network.html wrote:
[DHCP] Section Options

The "[DHCP]" section configures the DHCPv4 and DHCP6 client, if it is enabled with the DHCP= setting described above:

...

SendHostname=
When true (the default), the machine's hostname will be sent to the DHCP server.

UseHostname=
When true (the default), the hostname received from the DHCP server will be set as the transient hostname of the system

Hostname=
Use this value for the hostname which is sent to the DHCP server, instead of machine's hostname.

...

Auf privaten Geräten ist sowas zwar eher unüblich aber in Firmenumgebungen (und genau darauf legt systemd nun mal seinen Hauptfokus) kann das durchaus erwünscht sein.

PS: Man kann an systemd ja kritisieren was man will aber irgendwann wirkt es auch ziemlich zwanghaft.
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Apr 04, 2017 4:14 pm    Post subject: Reply with quote

Yamakuzure wrote:
systemd malt natürlich nur in /etc/hostname rum.

M.W. nur, wenn das root explizit mit hostnamectl will: Ein "service" für Administratoren, die nicht in der Lage sind, eine 1-zeilige Datei zu editieren.

Alles andere passiert rein im RAM, also durch Aufruf der kernel-Funktion zum Setzen des Hostnamens.
Ganz im Gegenteil wird m.W. bei explizit gesetztem /etc/hostname dieser in jedem Fall statt "localhost" als Fallback benutzt.

Davon abgesehen ist /etc/hostname keine offizielle Datei, sondern eine reine systemd-spezifische Konfigurationsdatei. Weder kernel noch openrc noch irgendwelche dhcp* clients sollten sie kennen/benutzen; Ausnahme natürlich systemd-eigener dhcp und möglicherweise andere Software, die systemd-kompatibel sein will.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5182

PostPosted: Tue Apr 04, 2017 4:36 pm    Post subject: Reply with quote

mv wrote:

Davon abgesehen ist /etc/hostname keine offizielle Datei, sondern eine reine systemd-spezifische Konfigurationsdatei.

Nope /etc/hostname gibt es schon viel länger als systemd
z.b. das hostname programm, welches unter gentoo in sys-apps/net-tools paket enthalten ist, kennt /etc/hostname schon
siehe manpage: http://man7.org/linux/man-pages/man1/hostname.1.html
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Apr 04, 2017 5:41 pm    Post subject: Reply with quote

firefly wrote:
mv wrote:

Davon abgesehen ist /etc/hostname keine offizielle Datei, sondern eine reine systemd-spezifische Konfigurationsdatei.

Nope /etc/hostname gibt es schon viel länger als systemd

Um präziser zu sein hätte ich sagen sollen: Es ist eine rein init-system-spezifische Datei. openrc nutzt sie nicht; systemd ist diesbezüglich ausnahmsweise etwas kompatibler zu anderen init-Systemen. Solange Du allerdings nicht mehrere Init-Systeme parallel fährst, ist systemd der einzige Konsument dieser Datei. Insofern ist meine Aussage schon richtig, nur nicht historisch vollständig.
Quote:
z.b. das hostname programm, welches unter gentoo in sys-apps/net-tools paket enthalten ist, kennt /etc/hostname schon

Nope. Ein "grep" der Sourcen zeigt, das /etc/hostname nur in der manpage auftaucht. Dort steht auch i.W. nur, dass in der Regel das Init-System den Hostnamen beim Booten einmalig aufgrund von /etc/hostname setzt: Also nur ein allgemeiner Hinweis.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum