Wie kann ich resolv.conf-Optionen wie Drehen oder Timeout in CentOS beibehalten?


8

CentOS löscht alle manuellen Änderungen, die /etc/resolv.confregelmäßig vorgenommen werden. Die Standardeinstellungen unter Linux sind schlecht in Bezug auf das Failover in einer angemessenen Zeit (Abfrage-Nameserver jedes Mal in derselben Reihenfolge, 5 Sekunden Zeitüberschreitung, 2 Wiederholungsversuche).

Daher ist der erste DNS in Ihrem resolv.confPfad im Wesentlichen ein kritischer Pfad. Wenn dies fehlschlägt, können Sie 10 Sekunden vor dem Failover nachsehen.

Diese Standardeinstellungen können angepasst werden (siehe Manpage resolv.conf ). Wie können Änderungen in CentOS dauerhaft vorgenommen und durch Neustarts usw. beibehalten werden?

Antworten:


12

Die Antwort finden Sie in /sbin/dhclient-script:

if [ -n "${RES_OPTIONS}" ]; then
    echo "options ${RES_OPTIONS}" >> ${rscf}
fi

Es ist jedoch nicht sonderlich offensichtlich, wo Sie festlegen können RES_OPTIONS, dass das Skript es aufnimmt. Einige Dinge wie die Suchdomäne können in der ifcfg-ethXDatei festgelegt werden, aber die Resolver-Optionen werden an anderer Stelle festgelegt. Die gewünschte Datei ist tatsächlich /etc/sysconfig/network. Fügen Sie dieser Datei etwa diese Zeile hinzu, um die relevanten Optionen festzulegen:

RES_OPTIONS="rotate timeout:1 retries:1"

Dadurch wird das Zeitlimit auf 1 Sekunde festgelegt. Verwenden Sie einen einzelnen Wiederholungsversuch und weisen Sie den Client an, seine Resolver pro Anforderung zu drehen, anstatt die Liste jedes Mal nacheinander durchzugehen.

Wenn Sie möchten, dass die Änderungen sofort wirksam werden, geben Sie einen service network restartBefehl aus und überprüfen Sie Ihr neues /etc/resolv.confin seiner ganzen Pracht. So sah meine beim Testen aus:

# cat /etc/resolv.conf 
; generated by /sbin/dhclient-script
search example.com
options rotate timeout:1 retries:1
nameserver 10.1.1.2
nameserver 10.1.1.1

-1

einfach hinzufügen

resolv_conf_options=rotate\ timeout:1\ retries:1

in deinem resolvconf.conf


Bist du sicher, dass dies eine Option in CentOS ist (hast du einen Link zu Dokumenten / etwas, um es zu zeigen)? Ich sehe es als FreeBSD-Option und Ubuntu,
Adam C

Es ist ein Teil des openresolv- Pakets
Evgeny F

1
Das scheint kein Standardpaket zu sein, also keine Option für CentOS, insbesondere in kontrollierten Umgebungen, aber keine schlechte Option an anderer Stelle
Adam C

-3

Ich hatte letztes Mal das gleiche Problem mit meinem neuen abonnierten Linux-VPS. Wie ich es gelöst habe, war es, den Befehl chattr + i zu verwenden, um die Datei unveränderlich zu machen. Gehen Sie einfach in den Ordner / etc und führen Sie diesen aus, nachdem Sie die erforderlichen Änderungen an der Datei resolv.conf vorgenommen haben:

chattr + i resolv.conf

Wenn Sie die Einstellung zurücksetzen möchten, gehen Sie wie folgt vor:

chattr -i resolv.conf

Vollständige Richtlinie für Ihre Referenz: http://boxtutor.com/fix-etcresolv-conf-is-not-saving-after-server-reboot/


Das wäre hier ein potenzielles Problem, da es dann nicht in der Lage wäre, Änderungen an Nameservern von DHCP zu übernehmen - es würde sich nicht oft ändern, aber ich würde immer noch wollen, dass es funktioniert
Adam C
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.