utilisation pratique du fichier / etc / networks

18

Quelle est l'utilisation pratique du /etc/networksfichier? Si je comprends bien, on peut donner des noms aux réseaux dans ce fichier. Par exemple:

root@fw-test:~# cat /etc/networks
default         0.0.0.0
loopback        127.0.0.0
link-local      169.254.0.0
google-dns      8.8.4.4
root@fw-test:~# 

Cependant, si j'essaie d'utiliser ce nom de réseau par exemple dans l' iputilitaire, cela ne fonctionne pas:

root@fw-test:~# ip route add google-dns via 104.236.63.1 dev eth0
Error: an inet prefix is expected rather than "google-dns".
root@fw-test:~# ip route add 8.8.4.4 via 104.236.64.1 dev eth0
root@fw-test:~#

Quelle est l'utilisation pratique du /etc/networksfichier?

Martin
la source

Réponses:

15

Comme indiqué dans la page de manuel , le /etc/networksfichier doit décrire les noms symboliques des réseaux. Avec réseau, il s'agit de l'adresse réseau avec .0fin à la fin. Seuls les réseaux simples de classe A, B ou C sont pris en charge.

Dans votre exemple, l' google-dnsentrée est incorrecte. Ce n'est pas un réseau A, B ou C. C'est une relation adresse IP-nom d'hôte donc elle appartient /etc/hosts. En fait, l' defaultentrée n'est pas non plus conforme.

Imaginons que vous ayez une adresse IP 192.168.1.5de votre réseau d'entreprise. Une entrée dans /etc/networkpourrait alors être:

corpname 192.168.1.0

Lorsque vous utilisez des utilitaires comme routeou netstat, ces réseaux sont traduits (si vous ne supprimez pas la résolution avec l' -nindicateur). Une table de routage pourrait alors ressembler à:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
corpname        *               255.255.255.0   U     0      0        0 eth0
le chaos
la source
4

La ipcommande n'utilise jamais non plus de nom d'hôte pour la saisie, votre exemple n'est donc pas pertinent. Vous avez également mis un nom d'hôte /etc/networks, pas un nom de réseau!

Les entrées de /etc/networkssont utilisées par des outils qui tentent de convertir des nombres en noms, par exemple la routecommande (obsolète) . Sans entrée appropriée, il indique:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     *               255.255.254.0   U     0      0        0 eth0

Si j'ajoute maintenant une ligne mylocalnet 192.168.0.0à /etc/networks:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
mylocalnet      *               255.255.254.0   U     0      0        0 eth0

En pratique, il n'est jamais vraiment utilisé.

gémir
la source