Bien qu'il y ait un certain chevauchement dans la fonctionnalité entre les deux outils, il y a beaucoup de choses que vous ne pouvez faire qu'à partir d'un seul des outils. iproute2
ne peut rien faire avec les règles du pare-feu netfilter. iptables
ne peut pas faire des choses comme attribuer des adresses IP.
Même dans les endroits où les fonctionnalités semblent se chevaucher, elles ne se chevauchent pas vraiment. Par exemple, vous pouvez faire la traduction d'adresses avec les deux iproute2
et iptables
. Mais la traduction d'adresse que vous pouvez faire avec iproute ne prend aucun état en considération et ne réécrit absolument pas le paquet. Il existe plusieurs protocoles réseau comme FTP, SIP, H.323, etc. où les adresses IP sont incluses dans le paquet, et pas seulement dans les en-têtes. Si vous utilisez la méthode iproute pour la traduction d'adresses, ces types de protocoles seront rompus. Netfilter fait un bien meilleur travail de traduction d'adresses.
Dans la plupart des cas, lorsque les fonctionnalités se chevauchent, elles sont gérées de différentes manières. Il est possible avec un module de faire du routage iptables
, mais la dernière fois j'ai vérifié que le module n'était pas sur la plupart des distributions pour ne pas avoir netfilter / iptables
patché avec la cible ROUTE . Si cette cible n'est pas disponible, vous ne pouvez pas utiliser netfilter pour le routage à moins que vous ne soyez d'humeur à compiler vos propres noyaux. Votre décision concernant l'outil à utiliser sera prise simplement parce que la fonctionnalité n'est pas disponible dans la version des outils que vous exécutez. Même si vous avez la cible ROUTE, d'après ce que je comprends, il n'est pas aussi efficace d'utiliser netfilter pour les décisions de routage que de le faire avec les tables de routage standard avec iproute2
manipulations.
Beaucoup utilisent également le bon outil pour le bon travail. iproute2
est principalement conçu pour gérer le routage et les adresses sur votre ordinateur. iptables
/ Netfilter est conçu pour le pare-feu.
Je pense que dans les endroits où une personne pourrait utiliser l'un ou l'autre outil, elle utilisera généralement l'outil qu'elle connaît le mieux. Je sais que j'utilise la cible MARK de iptables
pour marquer certains paquets pour une route ou l'autre même si je pouvais écrire la même règle avec iproute2
.