Sur ma machine Ubuntu, dans le /etc/sysctl.conf
fichier, j'ai des options de filtrage de chemin inverse commentées par défaut comme ceci:
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
mais /etc/sysctl.d/10-network-security.conf
ils ne sont (encore une fois par défaut) pas commentés:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
Le filtrage du chemin inverse est-il donc activé ou non? Lequel des emplacements de configuration est prioritaire? Comment puis-je vérifier les valeurs actuelles de ces options et d'autres options du noyau?
la source
sysctl -e
pour éditer etsysctl -f
pour exécuter la config?Ce genre de choses se trouve généralement dans les interfaces
/proc
et / ou du/sys
noyau (tout d'abord, gardez à l'esprit que rien dans ces répertoires n'est un fichier disque normal, ce sont toutes des lignes directes vers le noyau).Ainsi, par exemple:
On dirait que j'ai rp_filter défini pour em1, wlan0 et "default". Vous pouvez les définir ou les annuler en écrivant simplement dans le descripteur de fichier:
Comme mentionné, il s'agit d'une communication directe avec le noyau, ce qui prend effet immédiatement. Ce ne sont pas des fichiers de configuration. Si vous essayez de faire quelque chose de mal:
Ce qui ne veut pas dire que vous ne pouvez pas gâcher les choses de cette façon, bien sûr. Et assurez-vous de lire les commentaires ci-dessous.
la source
sysctl -a
...sysctl
(voirman 2 sysctl
), cependant, il n'est pas porté sur la plupart des autres langages (il l'est dans certains), et dans ces cas, la meilleure option est de lire ou d'écrire dans proc. Il est possible que bashecho
échoue, car je peux dire que les fonctions d'E / S de flux de haut niveau disponibles en C et dans d'autres langages le peuvent. Cependant, la lecture / écriture de bas niveau ne le sera pas. Dans tous les cas, connaître l'interface proc est important, c'est pourquoi je l'aiPour terminer la réponse acceptée , bien qu'il soit vrai que les
/etc/sysctl.conf
paramètres ont priorité sur ceux de/etc/sysctl.d/
, l'exemple présenté dans la question d'origine montre deux variables commentées dans/etc/sysctl.conf
:et les mêmes variables non commentées dans
/etc/sysctl.d/10-network-security.conf
:Cela peut être trompeur car un commentaire n'est pas un paramètre, mais seulement une remarque sur ce qui pourrait être un paramètre.
Dans cette situation, les variables sont en fait toutes les deux définies sur 1, malgré le fait que dans le fichier de configuration plus fort, elles soient mises en commentaire.
Si
/etc/sysctl.conf
nous avions:alors les variables seraient éventuellement mises à 0.
la source