Alionet - Communauté openSUSE francophone

openSUSE => Configuration avancée => Discussion initiée par: yoman le 04 Juin, 2023, 11:41:15

Titre: sysctl pour améliorer la performance de votre système.
Publié par: yoman le 04 Juin, 2023, 11:41:15
On peut ajuster les performances de son Noyau Gratuitement.

Les réglages du noyau sont utilisés pour personnaliser le comportement de votre système Linux opensuse au démarrage.  

Avant d'avoir adopter définitivement Opensuse Tumbleweed, j'ai expérimenté ces réglages sur :

- Arch Linux
- Linux Mint & LMDE
- Fedora
& Debian Testing...

Çà vaut le coup d'y regarder et faire des réglages selon votre configuration matériel.

La 1ère chose

- Adapter votre swap, si vous l'avez configurer (swap pas obligatoire selon la quantité de mémoire physique et utilisation de travail , multimédia en générale)


vm.swappiness = 10
vm.vfs_cache_pressure = 50
vm.dirty_background_ratio = 10
vm.dirty_background_bytes = 0
vm.dirty_ratio = 20
vm.dirty_bytes = 0
vm.dirty_writeback_centisecs = 500
vm.dirty_expire_centisecs = 3000

vm.dirty_background_ratio est le pourcentage de mémoire système qui peut être rempli et doivent encore être écrites sur le disque - avant  les processus d'arrière-plan. Ma  config est de 10%, de 8 go , c'est 800 Mo de données qui peuvent être stockées dans la RAM avant écriture.

vm.dirty_ratio est la quantité maximale absolue de mémoire système pouvant être remplie 

vm.dirty_background_bytes et vm.dirty_bytes 

vm.dirty_expire_centisecs est la durée pendant laquelle quelque chose peut rester dans le cache avant de devoir être écrit. Dans ce cas, c'est 30 secondes. 

vm.dirty_writeback_centisecs est la fréquence à laquelle les processus  se réveillent et vérifient si du travail doit être fait.

vm.vfs_cache_pressureCette option contrôle la tendance du noyau à récupérer la mémoire utilisée pour la mise en cache des objets

vm.swappiness :réduire la valeur de swappiness signifie que le noyau sera moins susceptible d'échanger des pages mémoire moins fréquemment utilisées. Ainsi, le noyau sera plus susceptible de conserver ces pages en cache dans la RAM pour un accès plus rapide.

Il est préférable d'éviter de swaper, et que tous les processus se passe en mémoire, car plus rapide que le swap. retenez que le swap, est une alternative au risque de manque de mémoire.

Titre: Re : sysctl pour améliorer la performance de votre système.
Publié par: yoman le 04 Juin, 2023, 12:52:28
Coucou

Juste un petit rappel de cette rubrique :

- Uniquement des propositions techniques avancées
- Pour les résolutions de problèmes, voir les rubriques concernées.

Ceci afin d'éviter les doublons de rubriques.
Titre: Re : sysctl pour améliorer la performance de votre système.
Publié par: denebe le 27 Juin, 2023, 12:53:27
Précisions concernant sysctl

J'ai utilisé le paramètre net.ipv4.icmp_echo_ignore_all comme exemple.
Défini à 1, l'hôte ne renverra aucun paquet "echo_reply"; défini à 0, il enverra un paquet echo_reply (à chaque paquet echo_request reçu).


Tout cela fonctionne notamment avec les paramètres concernant la mémoire d'échange (swap) présentés par @yoman dans le post précédent.
Ils sont présents dans /proc/sys/vm/
Titre: Re : sysctl pour améliorer la performance de votre système.
Publié par: yoman le 13 Septembre, 2023, 13:32:56
Bonjour

Très bon post sur ICMP, pour poursuivre dans la même lancée je te propose un peu plus de sécurité dans la gestion des ICMP & et ICMPv6, pour les personnes qui ont accès à leur réseau LAN depuis l’extérieure.

Dans SYSCTL pour ICMP & ICMPv6, (cf post de @denebe‍ 

# Désactiver l'envoi de réponses ICMP en broadcast (DoS protection)
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Désactiver les réponses ICMP à l'écoute des requêtes broadcast
net.ipv4.icmp_echo_ignore_all = 1

# Désactiver les annonces d'erreur ICMP
net.ipv4.icmp_ignore_bogus_error_responses = 1

# Ne pas accepter les erreurs ICMP causées par le forwarding
net.ipv4.conf.all.log_martians = 1

# Ignorer les réponses ICMP pour les paquets multicast ou anycast
net.ipv4.icmp_echo_ignore_multicast = 1

# Désactiver l'envoi de réponses ICMPv6 en broadcast (DoS protection)
net.ipv6.icmp.echo_ignore_broadcasts = 1

# Désactiver les réponses ICMPv6 à l'écoute des requêtes broadcast
net.ipv6.icmp.echo_ignore_all = 1

# Désactiver les annonces d'erreur ICMPv6
net.ipv6.icmp.ignore_bogus_error_responses = 1

# Ne pas accepter les erreurs ICMPv6 causées par le forwarding
net.ipv6.conf.all.log_martians = 1

# Ignorer les réponses ICMPv6 pour les paquets multicast ou anycast
net.ipv6.icmp.echo_ignore_multicast = 1

Pour Parefeu IPTAPBLES IPV4

# Autoriser le ping (ICMP echo-request)
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

# Bloquer les types d'attaques ICMP
iptables -A INPUT -p icmp --icmp-type redirect -j DROP
iptables -A INPUT -p icmp --icmp-type source-quench -j DROP
iptables -A INPUT -p icmp --icmp-type time-exceeded -j DROP
iptables -A INPUT -p icmp --icmp-type parameter-problem -j DROP
Rendre la règle persistante selon les outils de votre OS.

Pour Parefeu IPTAPBL
ES IPV6

# Autoriser le ping (ICMPv6 echo-request)
ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type echo-reply -j ACCEPT

# Bloquer les types d'attaques ICMPv6
ip6tables -A INPUT -p icmpv6 --icmpv6-type destination-unreachable -j DROP
ip6tables -A INPUT -p icmpv6 --icmpv6-type packet-too-big -j DROP
ip6tables -A INPUT -p icmpv6 --icmpv6-type time-exceeded -j DROP
ip6tables -A INPUT -p icmpv6 --icmpv6-type parameter-problem -j DROP
Rendre la règle persistante selon les outils de votre OS. 
 
Cette configuration devrait permettre de maintenir le trafic réseau normal, d'autoriser les pings pour les tests réseau, et de renforcer la sécurité en minimisant les risques d'attaques ICMP et ICMPv6.

Je n'ai pas testé avec le parefeu d'Opensuse, j'ai toujours utilisé iptables ou ufw

ATTENTION CES CONFIGURATIONS PEUVENT ÊTRE AMELIORÉES OU CORRIGÉES