Quelle est la différence entre `/ sbin / ip route` et` / sbin / route`?

8

Linux est livré avec deux utilitaires

  • /sbin/route
  • /sbin/ip route

Quelle est la différence entre les deux et quelle est la règle de base à utiliser lorsque vous décidez lequel des deux vous devez utiliser? Je sais qu'ils sont tous les deux documentés dans deux endroits distincts,

  • man 8 route
  • man 8 ip-route
Evan Carroll
la source

Réponses:

9

routeest l'ancien outil traditionnel et disponible sur de nombreux systèmes Unix. ipappartient à la suite iproute2 qui est un outil uniquement Linux et utilise l'API Netlink, qui est une interface de type socket pour accéder aux informations du noyau sur les interfaces, les affectations d'adresses et les routes. Il remplace la plupart des fonctionnalités de ifconfig, route, netstatet quelques autres.

Je suppose que vous êtes sous Linux, alors vous devriez l'utiliser ipdepuis routeet ifconfigsont déconseillés, bien que toujours largement utilisés.

Lectures complémentaires:

Marco
la source
3
+1 pour le mentionner est Linux uniquement . Sur un site nommé Unix et Linux qui mérite d'être mentionné.
Hennes
Je me suis toujours demandé pourquoi s'en tenir uniquement aux utilitaires Linux non portables, spécialement quand ils exigent que vous soyez beaucoup plus verbeux. Je trouve plus confortable d'écrire ifconfig eth0 up 192.168.0.1/24que ip link set dev eth0 up && ip addr change dev eth0 192.168.0.1/24.
Alicia
2
@ntrrgc Vous pouvez raccourcir cela en ip l s eth0 up && ip a c dev eth0 192.168.0.1/24. De plus, la /24syntaxe n'est pas implémentée dans toutes les ifconfigversions, sur certains systèmes, vous devez écrire netmask 255.255.255.0ce qui la rend plutôt verbeuse. Mais je suis d'accord, ifconfigc'est souvent plus court.
Marco
0

Différentes commandes, différentes syntaxes.

route remonte à très très longtemps et existe toujours principalement parce qu'il a toujours existé et que certaines choses s'attendent toujours à ce qu'il soit là.

ipappartient au iproute2package et peut tout faire routeet ifconfigpeut et bien plus encore.

La documentation complète sur la ipcommande peut être trouvée ici, entre autres.

TL; DR: Toujours utiliser ip.

Shadur
la source