# ulib/ipcalc ## `get_random_kvm_macaddr` ~~~ Obtenir une adresse mac au hasard commençant par 52:54:00 pour KVM ~~~ ## `ipcalc_splitipmask` ~~~ Découper $1 de la forme ip[/mask] entre l'adresse ip, qui est placé dans la variable $2(=ip) et le masque, qui est placée dans la variable $3(=mask) ~~~ ## `ipcalc_checkip` ~~~ Vérifier l'adresse ip $1 pour voir si elle est valide. Si l'adresse est valide, l'afficher. Sinon, retourner 1 ~~~ ## `ipcalc_checkmask` ~~~ vérifier le masque de sous-réseau $1 pour voir si elle est valide. Si oui, afficher le suffixe (0, 8, 16, 24, 32) associé. Sinon retourner 1 ~~~ ## `ipcalc_netmask` ~~~ à partir d'un suffixe (0, 8, 16, 24, 32) ou d'un masque de sous-réseau, afficher le masque de sous-réseau. si le suffixe ou le masque ne sont pas reconnus, retourner 1 ~~~ ## `ipcalc_network` ~~~ Calculer l'adresse de réseau correspondant à l'adresse ip $1. Le masque de sous-réseau peut-être indiqué dans l'adresse ip avec le suffixe /n ou /x.x.x.x ou donné dans l'argument $2. Seuls les suffixes 0, 8, 16, 24, 32 sont supportés. Retourner 1 si un erreur s'est produite, par exemple si l'adresse ou le suffixe sont invalides ou non supportés. ~~~ ## `ipcalc_broadcast` ~~~ Calculer l'adresse de broadcast correspondant à l'adresse ip $1. Le masque de sous-réseau peut-être indiqué dans l'adresse ip avec le suffixe /n ou /x.x.x.x ou donné dans l'argument $2. Seuls les suffixes 0, 8, 16, 24, 32 sont supportés. Retourner 1 si un erreur s'est produite, par exemple si l'adresse ou le suffixe sont invalides ou non supportés. ~~~ ## `ipcalc_gateway` ~~~ Calculer l'adresse du gateway correspondant à l'adresse ip $1, en considérant que le gateway est la première adresse du réseau. Le masque de sous-réseau peut-être indiqué dans l'adresse ip avec le suffixe /n ou /x.x.x.x ou donné dans l'argument $2. Seuls les suffixes 0, 8, 16, 24, 32 sont supportés. Retourner 1 si un erreur s'est produite, par exemple si l'adresse ou le suffixe sont invalides ou non supportés. ~~~ ## `ipcalc_match` ~~~ Vérifier si l'adresse $1 correspond au modèle $2, e.g.: ipcalc_match 10.75.0.23 10/8 --> TRUE ipcalc_match 10.75.0.23 10.75.0.0/24 --> TRUE ipcalc_match 10.75.0.23 10.75.0.28 --> FALSE ~~~ ## `ipcalc_fqdn` ~~~ Calculer si possible le nom pleinement qualifié correspondant à l'hôte $1. Dans tous les cas, afficher l'hôte, mais retourner 1 si la calcul n'a pas pu être effectué. ~~~ ## `ipcalc_fqdn_maybe` ~~~ Si $1 *semble* déjà être un nom d'hôte pleinement qualifié, l'afficher tel quel. Sinon utiliser ipcalc_fqdn() pour afficher le nom d'hôte pleinement qualifié correspondant. ~~~ ## `network_parse_confbr` ~~~ network_parse_confbr "$confbr" br ifaces ~~~ ## `network_format_confbr` ~~~ network_format_confbr "$br" ifaces --> "br:ifaces" ~~~ ## `network_parse_confip` ~~~ network_parse_confip "$confip" iface gateway ipsuffixes ~~~ ## `network_parse_ipsuffix` ~~~ network_parse_ipsuffix "$ipsuffix" ip suffix ~~~ ## `network_format_confip` ~~~ network_format_confip "$iface" "$gateway" ipsuffixes --> "iface//gateway:ipsuffixes" ~~~ ## `network_format_ipsuffix` ~~~ network_format_ipsuffix "$ip" "$suffix" --> "ip/suffix" ~~~ ## `network_fix_confbrs` ~~~ normaliser le tableau $1(=confbrs): fusionner les doublons ~~~ ## `network_fix_confips` ~~~ normaliser le tableau $1(=confips): fusionner les doublons, spécifier le suffixe /24 par défaut, etc. $2 est le cas échéant l'interface associée aux adresses ip non qualifiées ~~~ ## `network_fix_mainiface` ~~~ A partir des valeurs des tableaux $1(=confbrs) et $2(=confips), et de l'interface principale $3, déterminer l'interface principale. Si $3 est spécifié, c'est la valeur sélectionnée. Sinon, si un bridge existe, c'est le premier bridge qui est sélectionné. Sinon, la première interface est sélectionnée. Sinon, on prend eth0. Ensuite, réorganiser les tableaux de façon que confips[0] devienne la configuration ip de l'interface principale. ~~~ ## `network_fix_confs` ## `network_set_confbrs` ~~~ initialiser $1(=confbrs) avec l'état des bridges sur le système courant ~~~ ## `network_set_confips` ~~~ initialiser le tableau $1(=confips) avec l'état des interfaces sur le système courant ~~~ ## `network_fix_exim4` ## `network_fix_postfix` ## `network_fix_hosts` -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary