La commande subnetFileCheck
permet de vérifier la syntaxe d'un fichier de spécification de sous-réseaux.
subnetFileCheck [--print_definitions] [--check_inclusion] fichier
vérifie le contenu du fichier nommé en argument. L'option --print_definitions
(-p
en version courte) affiche la liste des définitions validées, éventuellement corrigées. L'option --check_inclusion
(-i
en version courte) signale les cas éventuels d'inclusion entre sous-réseaux.
Considérons le fichier organismes.def ci-dessous :
190.0.224.0/18 "ReseauA.SSreseauA.1"
190.0.240.0/20 "ReseauA.SSreseauA.2"
190.0.252.0/22 "ReseauA.SSreseauB.3"
190.0.255.0/24 "ReseauB.SSreseauB.3"
191.0.10.0/24 "ReseauC.SSreseauA.1.1"
191.0.11.0/24 "ReseauC.SSreseauA.1.2"
La commande
subnetFileCheck organismes.def
affiche le diagnostic
Parsing organismes.def...
organismes.def:1.0-13: warning, Invalid subnet IP/18 address 190.0.224.0 replaced by 190.0.192.0 !
[W] - ReseauC.SSreseauA.1.1 : incorrect subnet's name (dot notation).
[W] - ReseauC.SSreseauA.1.2 : incorrect subnet's name (dot notation).
[W] - 2 incorrect dot notations in organismes.def definition file
Parsing terminated (6 subnet definitions).
rappelant le nom du fichier analysé et signalant un masque invalide à la ligne 1, colonnes 0 à 13. En effet 190.0.224.0
n'est pas la plus petite adresse du sous-réseau correspondant.
La suite du message indique que cette adresse est remplacée par 190.0.192.0
. Deux autres avertissements concernent les noms des deux sous-réseaux ReseauC.SSreseauA.1.1
et ReseauC.SSreseauA.1.2
. Il s'agit d'un problème de notation pointée, ces deux noms comportant chacun trois points alors que les précédents n'en comportaient que deux. Cette anomalie est signalée car l'utilisation de ce fichier de configuration avec l'exploitation standard de netMAT produirait des résultats erronés mais n'invalide cependant pas les définitions.
Avec l'option --print_definitions
pour le même fichier le diagnostic serait :
Parsing organismes.def...
organismes.def:1.0-13: warning, Invalid subnet IP/18 address 190.0.224.0 replaced by 190.0.192.0 !
[W] - ReseauC.SSreseauA.1.1 : incorrect subnet's name (dot notation).
[W] - ReseauC.SSreseauA.1.2 : incorrect subnet's name (dot notation).
[W] - 2 incorrect dot notations in organismes.def definition file
190.0.192.0/18 : 190.0.192.0 "ReseauA.SSreseauA.1"
190.0.240.0/20 : 190.0.240.0 "ReseauA.SSreseauA.2"
190.0.252.0/22 : 190.0.252.0 "ReseauA.SSreseauB.3"
190.0.255.0/24 : 190.0.255.0 "ReseauB.SSreseauB.3"
191.0.10.0/24 : 191.0.10.0 "ReseauC.SSreseauA.1.1"
191.0.11.0/24 : 191.0.11.0 "ReseauC.SSreseauA.1.2"
Parsing terminated (6 subnet definitions).
L'affichage est complété par la liste des définitions sur trois colonnes. La colonne de gauche contient les masques de sous réseaux après correction, la colonne de droite les noms correspondants, et la colonne centrale l'adresse unique attribuée à chacun de ces noms.
Cette adresse unique est utilisée par netMETexp
lorsqu'on associe un même identifiant à plusieurs masques de sous réseaux afin de faire des cumuls par «organismes» par exemple.
Avec l'option --check_inclusion
(et sans l'option --print_definitions
) toujours pour le même fichier le diagnostic serait :
Parsing organismes.def...
organismes.def:1.0-13: warning, Invalid subnet IP/18 address 190.0.224.0 replaced by 190.0.192.0 !
[W] - ReseauC.SSreseauA.1.1 : incorrect subnet's name (dot notation).
[W] - ReseauC.SSreseauA.1.2 : incorrect subnet's name (dot notation).
[W] - 2 incorrect dot notations in organismes.def definition file
Parsing terminated (6 subnet definitions).
warning : 190.0.252.0/22 ReseauA.SSreseauB.3 contains 190.0.255.0/24 ReseauB.SSreseauB.3
warning : 190.0.240.0/20 ReseauA.SSreseauA.2 contains 190.0.255.0/24 ReseauB.SSreseauB.3
warning : 190.0.192.0/18 ReseauA.SSreseauA.1 contains 190.0.255.0/24 ReseauB.SSreseauB.3
WARNING : 3 naming problems ?
L'affichage comporte trois avertissements supplémentaires signalant que l'ensemble des adresses du sous réseau de masque 190.0.255.0/24
est inclus dans les ensembles d'adresses définis par les masques 190.0.252.0/22
, 190.0.240.0/20
et 190.0.192.0/18
et que les noms associés sont totalement distincts, l'un commençant par ReseauB
les trois autres par ReseauA
. Il faut noter que le fait que le sous réseau ReseauA.SSreseauB.3
est inclus dans ReseauA.SSreseauA.2
n'est pas signalé dans la mesure où les «racines» des noms sont identiques (ReseauA
).
Le code de retour de la commande est 0 si le fichier de configuration est correct, différent de 0 en cas d'erreur.
La commande subnetFileCheck
peut aussi être utilisée pour rechercher les sous réseaux auxquels appartiennent une liste d'adresses données en arguments (ce que fait aussi la commande netMETexp --TESThosts
) :
subnetFileCheck [options] fichier adresse ...
Ces adresses à résoudre peuvent enfin être placées dans un fichier séparé :
subnetFileCheck [options] fichier --check_address fichier_d_adresses
Cette dernière option existe aussi en version courte : -a
.
<< La commande configurationFileCheck | Documentation | La commande netMETscn >>