\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{ven. juil. 24 10:55:05 CEST 2015}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={draft-bannister-dbis-devices-04},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={dbis: devices},
CreationDate={D:20150724105505},
ModDate={D:20150724105505},
Keywords={LDAP;Lightweight Directory Access Protocol}
}}
\begin{document}
 
\begin{center}
{\Huge draft-bannister-dbis-devices-04 }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large dbis: devices}
 
\vspace{10mm}
 
\hspace{1mm}  Ce document étends DBIS pour supporter les bases ethers et bootparams. Les schémas de base de données devraient être compatible avec NIS, mais stockés dans les entrées X.500 pour pouvoir être résolus avec LDAP.
\vspace{5mm} \\
 
 
\hspace{1mm}  Une base ethers map les adresses Ethernet 48bits à des adresses IP ou des noms d'hôte, et bootparams map les hôte aux paramètres de boot du kernel.
\vspace{5mm} \\
 
 
\hspace{1mm}  Ce document décris les classes et attributs LDAP requis pour étendre les entrée hosts pour supporter les paramètres pour les map ethers et bootparams.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Maps de configuration }
 
\
 
\hspace{1mm}  Les bases ethers et bootparams utilisent les maps de configuration standard définies dans draft-bannister-dbis-mapping. Additionnellement, les entrées dbisMapConfig pour les bases ethers devraient avoir la classe dbisEtherConfig, et les entrées pour les bases bootparams devraient avoir la classe dbisBootConfig.
\vspace{5mm} \\
 
 
\hspace{1mm} Il est recommandé que l'entrée dbisMapConfig pour une base ethers ou bootparams ait l'attribut dbisMapFilter définis en accord avec la tables suivante:
 
{\ttfamily
- - - - - - - - - - - - - - - - - - - - - - -\\ Database- - - dbisMapFilter\\ - - - - - - - - - - - - - - - - - - - - - - -\\ ethers- - - - objectClass=ieee802Device\\ bootparams- - objectClass=bootableDevice\\ - - - - - - - - - - - - - - - - - - - - - - -\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemple d'entrée de map de configuration }
 
\
 
\hspace{1mm} L'exemple suivant montre une entrée de map de configuration pour une base ethers
 
{\ttfamily
dn: cn=ethers,en=sales.corp,ou=domain-mappings,o=infra\\ objectClass: top\\ objectClass: dbisMapConfig\\ objectClass: dbisEtherConfig\\ cn: ethers\\ dbisMapDN: ou=hosts,o=infra\\ dbisMapDN: ou=lab,ou=hosts,o=infra\\ dbisMapFilter: objectClass=ieee802Device\\ profileTTL: 900\\ description: Primary ethers database\\
}
\vspace{8mm}
 
\hspace{1mm} L'exemple suivant montre en entrée de map de configuration pour une base bootparams
 
{\ttfamily
dn: cn=bootparams,en=sales.corp,ou=domain-mappings,o=infra\\ objectClass: top\\ objectClass: dbisMapConfig\\ objectClass: dbisBootConfig\\ cn: bootparams\\ dbisMapDN: ou=hosts,o=infra\\ dbisMapDN: ou=lab,ou=hosts,o=infra\\ dbisMapFilter: objectClass=bootableDevice\\ profileTTL: 900\\ description: Primary bootparams database\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Base ethers }
 
\
 
\hspace{1mm}  Une base ethers contiens les champs suivants:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Adresse ethernet 48-bits}
\item[\hspace{1mm} -]{Un nom d'hôte}
\end{description}
 
\vspace{1cm}{\huge ObjectClass }
 
\
 
\hspace{1mm}  Une entrée dbisMapConfig pour une base ethers devrait avoir la class dbisEtherConfig. Une entrée host, définie par la classe ipv4HostObject ou ipv6HostObject, peut être augmentée par la classe ieee802Device pour ajouter des informations pour la map ethers.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisEtherConfig }
 
\
 
\hspace{1mm} La classe dbisEtherConfig est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.37 NAME 'dbisEtherConfig' DESC 'DBIS ethers configuration map' SUP dbisMapConfig STRUCTURAL )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ieee802Device }
 
\
 
\hspace{1mm} La classe ieee802Device est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.1.1.2.11 NAME 'ieee802Device' DESC 'A device with a 48-bit Ethernet address' SUP top AUXILIARY MAY macAddress )\\
}
\vspace{8mm}
 
\hspace{1mm}  C'est une class auxiliaire et il est recommandé qu'elle soit associé avec des entrées ipv4HostObject ou ipv6HostObject. Cependant, il est préférable de conserver les adresses Ethernet dans des entrées séparée qui peuvent être associés avec des classe device à la place.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Attributs }
 
\
 
 
 
\vspace{1cm}{\huge macAddress }
 
\
 
\hspace{1mm} L'adresse 48-bits est stockée dans l'attribut macAddress qui peut être associé avec une entrée ieee802Device
 
{\ttfamily
attributetype ( 1.3.6.1.1.1.1.22 NAME ('macAddress') DESC 'MAC address in maximal, colon separated hex notation, eg. 00:00:92:90:ee:e2' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemple d'entrée ieee802Device }
 
\
 
\hspace{1mm} L'exemple suivant est un exemple d'une entrée ipv4HostObject au format ldif avec une class ieee802Device:
 
{\ttfamily
dn: rn=kilcher,ou=hosts,o=infra\\ objectClass: top\\ objectClass: ipHostObject\\ objectClass: ipv4HostObject\\ objectClass: ieee802Device\\ rn: kilcher\\ ipv4Address: 10.11.12.13\\ macAddress: 08:00:27:00:50:f2\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge base bootparams }
 
\
 
\hspace{1mm}  Une base bootparams contient les champs suivants:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Un nom d'hôte}
\item[\hspace{1mm} -]{Des paramètres de boot}
\end{description}
 
\hspace{1mm}  Les paramètres de boot sont interprétés par le kernel et varie d'une plate-forme à l'autre. Ce schéma ne tente pas de définir des attributs unique pour chaque paramètre.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge ObjectClass }
 
\
 
\hspace{1mm}  Une entrée dbisMapConfig pour une base bootparams devrait avec la class dbisBootConfig. Une entrée host, définie par la classe ipv4HostObject ou ipv6HostObject, peut être augmentée par la classe bootableDevice pour ajouter des informations pour la map de bootparams, qui fournis des informations de configuration pour rpc.bootparamd.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisBootConfig }
 
\
 
\hspace{1mm} La classe dbisBootConfig est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.38 NAME 'dbisBootConfig' DESC 'DBIS bootparams configuration map' SUP dbisMapConfig STRUCTURAL )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge bootableDevice }
 
\
 
\hspace{1mm} La classe bootableDevice est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice' DESC 'A device with boot parameters' SUP top AUXILIARY MAY ( bootFile \$ bootParameter ) )\\
}
\vspace{8mm}
 
\hspace{1mm}  C'est une classe auxiliaire et il est recommandé qu'elle soit associée avec des entrée ipv4HostObject ou ipv6HostObject. Cependant, il est préférable de conserver les adresses Ethernet dans des entrées séparée qui peuvent être associés avec des classe device à la place.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Attributs }
 
\
 
 
 
\vspace{1cm}{\huge bootFile }
 
\
 
\hspace{1mm} Nom de l'image de boot est stocké dans l'attribut bootFile qui peut être associé avec une entrée bootableDevice:
 
{\ttfamily
attributetype ( 1.3.6.1.1.1.1.24 NAME 'bootFile' DESC 'Boot image name' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge bootParameter }
 
\
 
\hspace{1mm} Les paramètres de boot sont stockés comme "clé=valeur" dans l'attribut bootParameter qui peut être associé avec une entrée bootableDevice:
 
{\ttfamily
attributetype ( 1.3.6.1.1.1.1.23 NAME 'bootParameter' DESC 'rpc.bootparamd parameter' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemple d'entrée avec bootableDevice }
 
\
 
\hspace{1mm} L'exemple suivant montre une entrée ipv4HostObject au format ldif avec une classe bootableDevice:
 
{\ttfamily
dn: rn=kilcher,ou=hosts,o=infra\\ objectClass: top\\ objectClass: ipHostObject\\ objectClass: ipv4HostObject\\ objectClass: ieee802Device\\ objectClass: bootableDevice\\ rn: kilcher\\ ipv4Address: 10.11.12.13\\ macAddress: 08:00:27:00:50:f2\\ bootParameter: root=alaska:/export/client/root\\ bootParameter: domain=country.music.edu\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Syntaxe d'attribut }
 
\
 
\hspace{1mm} Les syntaxes suivante sont utilisée par les attributs définis dans ce document:
 
{\ttfamily
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\ Syntax OID- - - - - - - - - - -Value- - - - - - -Reference\\ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\ 1.3.6.1.4.1.1466.115.121.1.26 -IA5 String - - - -\texttt{[}RFC4517\texttt{]}\\ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Mappage de champs NIS }
 
\
 
\hspace{1mm}  Tous les champs qui sont requis pour générer des formats de base ether et bootparams NIS existent dans ce schéma et peut être mappés aux types d'attribut en utilisant les production ABNF décrites dans draft-bannister-dbis-netgroup.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge ethers }
 
\
 
\hspace{1mm} Les champs de base ethers NIS sont mappés comme suit:
 
{\ttfamily
ether-addr = macAddress\\ hostname = rn / en ; depending on class, see below\\ \hspace{2mm}\\ ethers-entry = ether-addr SPACE hostname\\
}
\vspace{8mm}
 
\hspace{1mm}  - hostname vient de l'attribut rn si la classe ipv4HostObject ou ipv6HostObject est utilisée. Si la classe ieee802Device est associée avec un objet avec la classe device, le nom d'hôte vient de l'attribut cn.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge bootparams }
 
\
 
\hspace{1mm} Les champs de base bootparams NIS sont mappés comme suit:
 
{\ttfamily
hostname = rn / en ; depending on class, see below\\ params = bootParameter *(SPACE bootParameter)\\ \hspace{2mm}\\ bootparams-entry = hostname SPACE params\\
}
\vspace{8mm}
 
\hspace{1mm}  - hostname vient de l'attribut rn si la classe ipv4HostObject ou ipv6HostObject est utilisée. Si la classe bootableDevice est associée avec un objet avec la classe device, le nom d'hôte vient de l'attribut cn.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Filtres de recherche communs }
 
\
 
\hspace{1mm}  Cette section fournis des exemples de filtre de recherche ldap pour obtenir des entrées de base avec des critères communément utilisés.
\vspace{5mm} \\
 
 
\hspace{1mm} Si une entrée hosts a une adresse ethernet "ether", sa définition est localisée en utilisant le filtre de recherche suivant: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(objectClass=ieee802Device)(macAddress=ether))} \\
\end{flushleft}
\end{document}
