Das Problem
sysctl-Parameter wurde nach einem Neustart auf dem RHEL 7-Server nicht wirksam. Der Parameter „net.ipv4.conf.all.forwarding“ wurde vor dem Neustart des Servers deaktiviert.
# cat /proc/sys/net/ipv4/conf/all/forwarding 1
# sysctl net.ipv4.conf.all.forwarding=0 net.ipv4.conf.all.forwarding = 0
# cat /proc/sys/net/ipv4/conf/all/forwarding 0
#cat /etc/sysctl.conf|grep net.ipv4.conf.all.forwarding net.ipv4.conf.all.forwarding = 0
# shutdown -r now
# cat /proc/sys/net/ipv4/conf/all/forwarding ### Gets enabled after reboot. 1
Die Lösung
RHEL 7 hat einen Dienst namens „tuned “, das hilft, benutzerdefinierte Profile zu erstellen, und es überschreibt die in der Datei /etc/sysctl.conf festgelegten „sysctl“-Werte, da der „tuned“-Dienst nach dem „sysctl“-Dienst gestartet wird. Verwenden Sie eine der folgenden Methoden, um die Kernelparameter auf dem RHEL/CentOS 7-Server zu definieren.
1. Überprüfen Sie das aktive Tuning-Profil auf dem betroffenen Server.
# tuned-adm active Current active profile: virtual-guest
2. Navigieren Sie zum entsprechenden optimierten Profilverzeichnis und überprüfen Sie, ob der problematische sysctl-Kernelparameter mit einem alternativen Wert definiert ist.
# cd /usr/lib/tuned/virtual-guest # cat tuned.conf # # tuned configuration # [main] include=throughput-performance [sysctl] net.ipv4.conf.all.forwarding = 1
Wenn ja, gibt es zwei Möglichkeiten, den falschen sysctl-Kernel-Parameter nach dem Neustart zu beheben.
a) Entfernen Sie den Eintrag im getunten Profil, damit der Wert „/etc/sysctl.conf“ wirksam wird.
# cd /usr/lib/tuned/virtual-guest # cat tuned.conf # # tuned configuration # [main] include=throughput-performance [sysctl]
b) Anderenfalls entfernen Sie den Eintrag in „/etc/sysctl.conf“, der den optimierten Wert nach dem Neustart dauerhaft macht.
# cat /etc/sysctl.conf | grep net.ipv4.conf.all.forwarding #
Stellen Sie in diesem Fall sicher, dass der Parameter in der optimierten Profildatei vorhanden ist.
# cd /usr/lib/tuned/virtual-guest # cat tuned.conf # # tuned configuration # [main] include=throughput-performance [sysctl] net.ipv4.conf.all.forwarding = 0