Introducció
Ordres
Assegurar i endurir el nucli
Conclusió
Introducció
Sysctlpermet a l'usuari ajustar el nucli sense haver de reconstruir el nucli. També aplicarà els canvis immediatament, de manera que el servidor no s'haurà de reiniciar perquè els canvis tinguin efecte. Aquest tutorial ofereix una breu introducció sysctli demostra com utilitzar-lo per modificar parts específiques del nucli Linux.
Ordres
Per començar a utilitzar sysctl, reviseu els paràmetres i els exemples que es mostren a continuació.
Paràmetres
-a : mostrarà tots els valors disponibles actualment a la configuració sysctl.
-A : Això mostrarà tots els valors disponibles actualment a la configuració sysctl en forma de taula.
-e : aquesta opció ignorarà els errors sobre claus desconegudes.
-p : S'utilitza per carregar una configuració específica de sysctl, per defecte utilitzarà/etc/sysctl.conf
-n : aquesta opció desactivarà mostrar els noms de les claus en imprimir els valors.
-w : aquesta opció és per canviar (o afegir) valors al sysctl sota demanda.
Exemples
$ sysctl -a
$ sysctl -n fs.file-max
$ sysctl -w fs.file-max=2097152
$ sysctl -p
Per tant, primer estem comprovant els valors per defecte. Si /etc/sysctl.confestà buit, mostrarà totes les claus i valors predeterminats. En segon lloc, estem comprovant quin és el valor de fs.file-maxi després establim el nou valor a 2097152. Finalment, estem carregant el nou /etc/sysctl.conffitxer de configuració.
Si busqueu ajuda addicional, podeu utilitzar man sysctl.
Assegurar i endurir el nucli
Perquè els canvis siguin permanents, haurem d'afegir aquests valors a un fitxer de configuració. Utilitzeu el fitxer de configuració que CentOS proporciona per defecte, /etc/sysctl.conf.
Obriu el fitxer amb el vostre editor preferit.
Per defecte, hauríeu de veure alguna cosa semblant a això.
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
Primer millorem la gestió de la memòria del sistema.
Minimitzarem la quantitat d'intercanvi que hem de fer, augmentarem la mida dels identificadors de fitxers i la memòria cau d'inode i restringirem els abocaments de nucli.
# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5
# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0
A continuació, sintonitzem el rendiment optimitzat de la xarxa.
Canviarem la quantitat de connexions entrants i les connexions endarrerides, augmentarem la quantitat màxima de buffers de memòria i augmentarem els buffers d'enviament/recepció per defecte i màxim.
# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144
# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824
# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864
Finalment, millorarem la seguretat general de la xarxa.
Habilitarem la protecció de galetes TCP SYN, la protecció contra la falsificació d'IP, ignorant les sol·licituds ICMP, ignorant les sol·licituds de difusió i registrar paquets falsificats, paquets encaminats d'origen i paquets de redirecció. Juntament amb això, desactivarem l'encaminament de la font IP i l'acceptació de la redirecció ICMP.
# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1
# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1
# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1
# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0
# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0
Deseu i tanqueu el fitxer i, a continuació, carregueu-lo amb l' sysctl -pordre.
Conclusió
Al final, el vostre fitxer hauria de semblar a aquest.
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5
# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0
# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144
# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824
# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864
# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1
# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1
# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1
# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0
# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0