Le noyau utilise de nombreux paramètres qui peuvent être ajustés en différentes circonstances. Bien que, comme d'habitude, les paramètres par défaut conviennent à 99% des installations, nous ne pourrions pas appeler ce document « HOWTO avancé » sans en dire un mot.
Les éléments intéressants sont dans /proc/sys/net
, jetez-y un oeil. Tout ne sera pas
documenté ici au départ, mais nous y travaillons.
En attendant, vous pouvez jeter un oeil dans les sources du
noyau Linux et lire le fichier Documentation/filesystems/proc.txt
. La plupart
des fonctionnalités y sont expliquées.
Par défaut, les routeurs routent tout, même les paquets qui
visiblement n'appartiennent pas à votre réseau. Un exemple courant
est l'espace des adresses IP privées s'échappant sur Internet. Si
vous avez une interface avec une route pour 195.96.96.0/24
dessus, vous ne vous attendrez pas
à voir arriver des paquets venant de 212.64.94.1
.
Beaucoup d'utilisateurs veulent désactiver cette fonctionnalité.
Les développeurs du noyau ont permis de le faire facilement. Il y a
des fichiers dans /proc
où vous
pouvez ordonner au noyau de le faire pour vous. La méthode est
appelée « Filtrage par
Chemin Inverse » (Reverse
Path Filtering). Pour faire simple, si la réponse à ce paquet
ne sort pas par l'interface par laquelle il est entré, alors c'est
un paquet « bogué » et il sera ignoré.
Les instructions suivantes vont activer cela pour toutes les interfaces courantes et futures.
# for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do > echo 2 > $i > done
En reprenant l'exemple du début, si un paquet arrivant sur le
routeur Linux par eth1
prétend venir
du réseau Bureau+FAI, il sera éliminé. De même, si un paquet
arrivant du réseau Bureau prétend être de quelque part à
l'extérieur du pare-feu, il sera également éliminé.
Ce qui est présenté ci-dessus est le filtrage de chemin inverse complet. Le paramétrage par défaut filtre seulement sur les adresses IP des réseaux directement connectés. Ce paramétrage par défaut est utilisé parce que le filtrage complet échoue dans le cas d'un routage asymétrique (où il y a des paquets arrivant par un chemin et ressortant par un autre, comme dans le cas du trafic satellite ou si vous avez des routes dynamiques (bgp, ospf, rip) dans votre réseau. Les données descendent vers la parabole satellite et les réponses repartent par des lignes terrestres normales).
Si cette exception s'applique dans votre cas (vous devriez être
au courant), vous pouvez simplement désactiver le rp_filter
sur l'interface d'arrivée des données
satellite. Si vous voulez voir si des paquets sont éliminés, le
fichier log_martians
du même
répertoire indiquera au noyau de les enregistrer dans votre
syslog.
# echo 1 >/proc/sys/net/ipv4/conf/<interfacename>/log_martians
FIXME: Est-ce que la configuration des fichiers dans .../conf/{default,all} suffit ? - martijn