Il est possible sous FreeBSD, NetBSD et OpenBSD de modifier des caractéristiques système “à chaud”.
Cette fonction est similaire aux modifications de fichiers virtuels de /proc sous GNU/Linux.
Prenons l'ultra classique example de l'activation de la fonction de passerelle ( ip forwarding ).

Identifions avant tout le nom du paramètre :

( nous prendrons comme exemple FreeBSD 4.x )

# sysctl -a|grep forward
net.inet.ip.forwarding: 0
net.inet.ip.fastforwarding: 0
net.inet6.ip6.forwarding: 0

1ere remarque, les “variables” sont identifiées de manière similaire aux MIB snmp. On constate que la valeur net.inet.ip.forwarding ( qui selon toute vraisemblence, est celle que nous désirons modifier ) est placée à 0. Changeons cette valeur :

# sysctl -w net.inet.ip.forwarding=1

Et verifions que le changement est pris en compte :

#sysctl net.inet.ip.forwarding
net.inet.ip.forwarding: 1

Parfait, la valeur a bien été modifiée. Pour garder les valeurs au prochain démarrage, il faut créer un fichier /etc/sysctl.conf au format suivant :

parametre=valeur

par exemple :

kern.securelevel=2
net.inet.ip.forwarding=1
...

La commande sysctl -a vous donnera l'ensemble des variables ainsi que leurs valeurs, le plus souvent,
leurs noms sont relativement explicites, le cas échéant, reportez vous aux fichiers /usr/include :

sys/sysctl.h
sys/socket.h
sys/gmon.h
vm/vm_param.h
netinet/in.h
netinet/icmp_var.h
et netinet/udp_var.h
bsd/kernel_tuning.txt · Last modified: 2010/01/12 13:29 (external edit)