So generieren Sie automatisch resolv.conf unter Centos 6.5

8

Ich habe gerade CentOS 6.5 installiert und die folgenden Dateien konfiguriert:

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=aa:bb:dd:dd:ee:ff
TYPE=Ethernet
UUID=adfddfaf-9sda-adse-dfs4-asdfsdfdfg97
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.IM
NTPSERVERARGS=iburst

Wenn ich den Computer neu starte, ifconfig eth0wird eine IP-Adresse angezeigt, aber die resolv.confDatei ist leer. Alles, was drinnen steht, ist search IM. nameserversIn der Datei sind keine aufgeführt.

Wenn ich jedoch nach dem Start dhclient -rdie IP-Adresse freigebe und dann tippe, dhclient eth0um eine IP-Adresse abzurufen, werden resolv.confmeine DNS-Nameserver korrekt ausgefüllt .

Warum geschieht dies nicht automatisch aus meinen Konfigurationsdateien? Ich dachte, dhcpaktiviert in meiner ifcfg-eth0Datei sollte sich darum kümmern.

In der CentOS-Dokumentation heißt es, dass die Einstellung beim NETWORKING=yesStart mit dem Netzwerk beginnt: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-client.html .

Jede Hilfe wird geschätzt.

user1527227
quelle
Entfernen .IMSie den Hostnamen und probieren Sie etwas anderes als localhost aus oder lassen Sie ihn ganz weg.
slm
Übrigens wird das Skript, das für das Einrichten der Datei zusammen mit dem gesamten eth0-Gerät verantwortlich ist, von hier aus ausgeführt : /etc/sysconfig/network-scripts/ifup-eth.
slm

Antworten:

3

Legen Sie NM_CONTROLLED=noden Network Manager-Dämon fest, stoppen Sie ihn und verhindern Sie, dass er beim Booten neu gestartet wird:

/sbin/service   NetworkManager stop
/sbin/chkconfig NetworkManager off

Füllen Sie nun Ihre /etc/resolv.confDatei entsprechend Ihren Anforderungen.

Andernfalls legen Sie NM_CONTROLLED=yesden NetworkManager-Dämon fest und lassen ihn laufen. Fügen Sie in diesem Fall bis zu zwei DNS-Einträge in die ifcfg-eth*Datei ein, z. B.:

DNS1=10.11.12.13
DNS2=10.11.12.14
DOMAIN=mydomain.net

Dadurch wird die /etc/resolv.confDatei für Sie ausgefüllt.

JRFerguson
quelle
1
Die resolv.confDatei sollte trotzdem unabhängig davon aktualisiert werden. Ich habe viele kopflose Systeme ohne NetworkManager, deren Inhalte problemlos vom DHCP-Server abgerufen werden. Hier oben ist also noch etwas anderes.
slm
1
Wenn NetworkManager verwendet wird, ist es für die Aktualisierung /etc/resolv.confmithilfe der Daten von DHCP verantwortlich. Wenn es nicht verwendet wird, wird der networkDienst ausgeführt, dhclientder wiederum für das Schreiben des Dienstes verantwortlich ist /etc/resolv.conf.
Pavel Šimerda
1
Unabhängig von Ihrer Verwendung von "unabhängig" muss ich Ihnen nicht zustimmen. > PEERDNS - Initscripts interpretieren PEERDNS = no, um "niemals resolv.conf berühren" zu bedeuten. NetworkManager interpretiert es so, dass "resolv.conf niemals automatische (DHCP, PPP, VPN usw.) Nameserver hinzugefügt werden". Geben Sie die PEERDNS=yesZeile in die jeweilige /etc/sysconfig/network-scripts/ifcfg-Datei ein, um die /etc/resolv.confDatei automatisch zu aktualisieren .
ILMostro_7
0

Von der NM-SETTINGS-IFCFG-RH ()Manpage:

PEERDNS - Initscripts interpretieren PEERDNS = no, um "niemals resolv.conf berühren" zu bedeuten. NetworkManager interpretiert es so, dass "resolv.conf niemals automatische (DHCP, PPP, VPN usw.) Nameserver hinzugefügt werden".

Geben Sie die Zeile PEERDNS = yes in die spezifische Datei / etc / sysconfig / network-scripts / ifcfg ein, um die Datei /etc/resolv.conf automatisch zu aktualisieren.

    PEERDNS=yes

Wenn Sie nicht möchten, dass die Schnittstelle mit NetworkManager gesteuert wird, fügen Sie die folgende Zeile hinzu:

    NM_CONTROLLED=no

Die erste Zeile sollte jedoch ausreichen, unabhängig davon, ob die Schnittstelle von NetworkManager gesteuert wird oder nicht.

ILMostro_7
quelle