IPTABLES
Table des matières
Retour à l'index
NOM
iptables/ip6tables — Outil d'administration pour le filtrage et le NAT des
paquets IPv4/IPv6
SYNOPSIS
iptables [-t table] {-A|-C|-D|-V} chaine
spécification_de_règle
ip6tables [-t table] {-A|-C|-D|-V} chaine spécification_de_règle
iptables [-t table] -I chaine [numéro_de_règle]
spécification_de_règle
iptables [-t table] -R chaine numéro_de_règle spécification_de_règle
iptables [-t table] -D chaine numéro_de_règle
iptables [-t table] -S [chaine [numéro_de_règle]]
iptables [-t table] {-F|-L|-Z} [chaine
[numéro_de_règle]] [options...]
iptables [-t table] -N chaine
iptables [-t table] -X [chaine]
iptables [-t table] -P action chaine
iptables [-t table] -E ancienne_chaine nouvelle_chaine
spécification_de_règle = [correspondances...] [cible]
correspondance = -m nom_correspondance [options_par_correspondance]
cible = -j nom_cible [options_par_cible]
DESCRIPTION
Iptables et ip6tables permettent de définir, entretenir et inspecter
les tables de règles de filtrage des paquets IPv4 et IPv6 dans le noyau
Linux. Plusieurs tables peuvent être définies. Chaque table contient des
chaines prédéfinies, mais peut aussi contenir des chaines définies par
l'utilisateur.
Chaque chaine est une liste de règles qui peuvent s'appliquer à un ensemble
de paquets. Chaque règle spécifie quoi faire d'un paquet qui
correspond. Cette action que l'on nomme « cible » peut être un saut vers une
chaine définie par l'utilisateur dans la même table.
CIBLES
Une règle de pare-feu spécifie des critères pour un paquet et une cible. Si
un paquet ne correspond pas, la règle suivante dans la chaine est examinée ;
s'il correspond, la règle suivante est spécifiée par la valeur de la cible
qui peut être le nom d'une chaine définie par l'utilisateur, une des cibles
décrites dans iptables-extensions(8) ou une des valeurs spéciales
ACCEPT, DROP ou RETURN.
ACCEPT signifie que le paquet peut passer. DROP signifie que le paquet
doit être rejeté. RETURN signifie que l'on doit arrêter de parcourir
cette chaine et reprendre à la règle suivante de la chaine précédente
(appelante). Si la fin d'une chaine prédéfinie est atteinte ou si une règle
d'une chaine prédéfinie ayant pour cible RETURN s'applique, la cible par
défaut de la chaine déterminera le sort du paquet.
TABLES
Il existe actuellement cinq tables indépendantes (la liste des tables
présentes à tout moment dépend des options de configuration du noyau et de
la liste des modules présents).
- -t, --table table
-
Cette option spécifie la table de correspondance des paquets sur laquelle la
commande doit opérer. Si le noyau est configuré pour charger les modules
automatiquement, il tentera de charger le module approprié à cette table,
s'il ne l'est pas déjà.
Les tables sont les suivantes :
-
- filter :
-
Il s'agit de la table par défaut (dans le cas où aucune option -t n'est
spécifiée). Elle contient les chaines prédéfinies INPUT (pour les paquets
destinés aux sockets locaux), FORWARD (pour les paquets routés par la
machine) et OUTPUT (pour les paquets générés localement).
- nat :
-
Cette table est consultée quand arrive un paquet qui crée une nouvelle
connexion. Elle comporte quatre chaines prédéfinies : PREROUTING (pour
modifier les paquets dès leur entrée), INPUT (pour modifier les paquets
destinés aux sockets locaux), OUTPUT (pour modifier les paquets générés
localement avant leur routage) et POSTROUTING (pour modifier les paquets
lorsqu'ils sont sur le point de sortir). Le NAT IPv6 est pris en charge
depuis la version 3.7 du noyau.
- mangle :
-
Cette table est utilisée pour une modification spécialisée des
paquets. Jusqu'à la version 2.4.17 du noyau, elle comportait deux chaines
prédéfinies : PREROUTING (pour la modification des paquets entrants avant
leur routage) et OUTPUT (pour la modification des paquets générés
localement avant leur routage). Depuis la version 2.4.18, trois autres
chaines prédéfinies sont prises en charge : INPUT (pour les paquets
entrant dans la machine elle-même), FORWARD (pour la modification des
paquets routés à travers la machine) et POSTROUTING (pour modifier les
paquets lorsqu'ils sont sur le point de sortir).
- raw :
-
Cette table est principalement utilisée pour configurer les exemptions de
suivi de connexion en combinaison avec la cible NOTRACK. Elle s'enregistre
aux accroches netfilter avec une priorité supérieure et est ainsi appelée
avant ip_conntrack ou toute autre table IP. Elle comporte les chaines
prédéfinies suivantes : PREROUTING (pour les paquets arrivant par toute
interface réseau) et OUTPUT (pour les paquets générés par des processus
locaux).
- security :
-
Cette table est utilisée pour les règles Mandatory Access Control (MAC),
comme celles qui sont activées par les cibles SECMARK et
CONNSECMARK. Mandatory Access Control est implémenté par les modules de
sécurité Linux comme SELinux. La table security est appelée après la table
filter, ce qui permet à toute règle Discretionary Access Control (DAC) de la
table filter de prendre effet avant les règles MAC. Elle comporte les
chaines prédéfinies suivantes : INPUT (pour les paquets entrant dans la
machine elle-même), OUTPUT (pour la modification des paquets générés
localement avant leur routage) et FORWARD (pour la modification des
paquets routés à travers la machine).
OPTIONS
Les options reconnues par iptables et ip6tables peuvent être réparties
en plusieurs groupes.
COMMANDES
Ces options spécifient l'action à exécuter. Sauf indications contraires
précisées plus loin, la ligne de commande ne peut comporter qu'une seule de
ces options. Pour les versions longues des noms de commande et d'option, il
vous suffit de préciser suffisamment de lettres pour être sûr qu'iptables
puisse les différencier des autres commandes et options.
- -A, --append chaine spécification_de_règle
-
Ajouter une ou plusieurs règles à la fin de la chaine indiquée. Lorsque les
noms de source et/ou destination se résolvent en plusieurs adresses, une
règle sera ajoutée pour chaque combinaison d'adresses possible.
- -C, --check chaine spécification_de_règle
-
Vérifier si une règle correspondant à la spécification existe dans la chaine
indiquée. Cette commande utilise la même logique que -D pour trouver une
entrée qui correspond, mais ne modifie pas la configuration d'iptables
existante et utilise son code de retour pour indiquer un succès ou un échec.
- -D, --delete chaine spécification_de_règle
-
- -D, --delete chaine numéro_de_règle
-
Supprimer une ou plusieurs règles de la chaine indiquée. Il existe deux
versions de cette commande : la règle peut être référencée par son numéro
dans la chaine (en commençant par 1 pour la première règle) ou par une
correspondance avec une certaine règle.
- -I, --insert chaine [numéro_de_règle] spécification_de_règle
-
Insérer une ou plusieurs règles dans la chaine indiquée avec le numéro de
règle donné. Ainsi, si le numéro donné est 1, la(les) règle(s) sont insérées
en tête de chaine. Il s'agit d'ailleurs du comportement par défaut si aucun
numéro de règle n'est donné.
- -R, --replace chaine numéro_de_règle spécification_de_règle
-
Remplacer une règle dans la chaine indiquée. Si les noms de source et/ou de
destination se résolvent en plusieurs adresses, la commande échouera. Les
règles sont numérotées à partir de 1.
- -L, --list [chaine]
-
Lister toutes les règles de la chaine indiquée. Si aucune chaine n'est
indiquée, toutes les chaines sont listées. Cette commande, comme toutes les
autres commandes d'iptables, s'applique à la table indiquée (la table par
défaut est filter) ; ainsi, les règles de NAT peuvent être listées par
iptables -t nat -n -L
Veuillez noter que cette option est souvent utilisée en combinaison avec
l'option -n afin d'éviter de longues recherches DNS inverses. On peut
aussi spécifier l'option -Z (zéro), auquel cas la(les) chaine(s) seront
automatiquement listées puis mises à zéro. La sortie exacte dépend des
autres options spécifiées. Les règles exactes sont supprimées à moins que
vous n'utilisiez
iptables -L -v
ou iptables-save(8).
- -S, --list-rules [chaine]
-
Afficher toutes les règles de la chaine indiquée. Si aucune chaine n'est
indiquée, toutes les chaines sont affichées comme avec iptables-save. Cette
commande, comme toutes les autres commandes d'iptables, s'applique à la
table indiquée (la table par défaut est filter).
- -F, --flush [chaine]
-
Vider la chaine indiquée (ou toutes les chaines de la table si aucune chaine
n'est indiquée). Cette option produit le même effet qu'un effacement de
toutes les règles une par une.
- -Z, --zero [chaine [numéro_de_règle]]
-
Remettre à zéro les compteurs de paquets et d'octets de toutes les chaines,
ou seulement de la chaine indiquée, ou seulement de la règle indiquée dans
une chaine donnée. On peut aussi ajouter l'option -L, --list (list)
pour voir les compteurs juste avant leur réinitialisation (voir plus haut).
- -N, --new-chain chaine
-
Créer une nouvelle chaine définie par l'utilisateur avec le nom donné. Il ne
doit pas exister de cible avec le même nom.
- -X, --delete-chain [chaine]
-
Supprimer la chaine indiquée. Il ne doit pas exister de références à cette
chaine. S'il en existe, vous devez supprimer ou remplacer les règles
contenant ces références pour que la chaine puisse être supprimée. La chaine
doit être vide, autrement dit ne contenir aucune règle. Si aucune chaine
n'est indiquée, cette option va supprimer toutes les chaines vides de la
table. Les chaines prédéfinies vides ne peuvent être supprimées qu'à l'aide
de iptables-nft.
- -P, --policy chaine cible
-
Définir l'action par défaut de la chaine prédéfinie (non définie par
l'utilisateur) avec la cible donnée. La cible de l'action par défaut est
soit ACCEPT, soit DROP.
- -E, --rename-chain ancienne_chaine nouvelle_chaine
-
Renommer la chaine spécifiée avec le nouveau nom donné. Cette action est
cosmétique et n'a aucun effet sur la structure de la table.
- -h
-
Afficher l'aide. Donner une description (actuellement très brève) de la
syntaxe de la commande.
PARAMÈTRES
Les paramètres suivants complètent l'énoncé d'une règle (lorsqu'ils sont
utilisés dans une des commandes add, delete, insert, replace et append).
- -4, --ipv4
-
Ce paramètre n'a aucun effet avec iptables et iptables-restore. Si une règle
utilisant le paramètre -4 est insérée à l'aide de (et seulement de)
ip6tables-restore, elle sera ignorée silencieusement. Toutes les autres
utilisations provoqueront une erreur. Ce paramètre permet d'inscrire des
règles IPv4 et IPv6 dans un seul fichier de règles à utiliser avec
iptables-restore et ip6tables-restore.
- -6, --ipv6
-
Si une règle utilisant le paramètre -6 est insérée à l'aide de (et
seulement de) iptables-restore, elle sera ignorée silencieusement. Toutes
les autres utilisations provoqueront une erreur. Ce paramètre permet
d'inscrire des règles IPv4 et IPv6 dans un seul fichier de règles à utiliser
avec iptables-restore et ip6tables-restore. Ce paramètre n'a aucun effet
avec ip6tables et ip6tables-restore.
- [!] -p, --protocol protocole
-
Le protocole de la règle ou du paquet à vérifier. Le protocole spécifié peut
être tcp, udp, udplite, icmp, icmpv6, esp, ah, sctp,
mh, ou le mot-clé spécial « all », ou une valeur numérique
représentant un des protocoles précités ou un protocole différent. Un nom de
protocole issu de /etc/protocols est aussi autorisé. Un argument « ! »
avant le protocole inverse le test. Le nombre zéro est équivalent à
all. « all » correspond à tous les protocoles et c'est la valeur du
paramètre par défaut si ce dernier est omis. Notez que dans ip6tables, à
l'exception de esp, les en-têtes d'extensions IPv6 ne sont pas
autorisés. esp et ipv6-nonext peuvent être utilisés à partir de la
version 2.6.11 du noyau. Le nombre zéro est équivalent à all, ce qui
implique que vous ne pouvez pas tester le champ protocole pour la valeur 0
directement. Pour rechercher une correspondance avec un en-tête HBH, même
s'il s'agissait du dernier, vous ne pouvez pas utiliser -p 0 ; vous
devrez toujours utiliser -m hbh.
- [!] -s, --source adresse[/masque][,...]
-
Spécifier la source. Address peut être un nom de réseau, un nom d'hôte,
une adresse réseau IP (avec /mask) ou une adresse IP complète. Les
noms d'hôtes ne seront résolus qu'une seule fois avant que la règle ne soit
soumise au noyau. Notez que spécifier un nom devant être résolu à distance,
par exemple par DNS, est vraiment une mauvaise idée. mask peut être soit
un masque réseau ipv4 (pour iptables), soit un nombre indiquant le nombre de
bits à 1 en partant de la gauche du masque réseau. Ainsi, un masque iptables
de 24 est équivalent à 255.255.255.0. Un argument « ! » avant la
spécification de l'adresse inverse les critères de sélection de cette
adresse. --src est un alias pour ce paramètre. On peut spécifier
plusieurs adresses, mais cela entraînera la création de plusieurs règles
(lors d'un ajout avec -A) ou la suppression de plusieurs règles (avec -D).
- [!] -d, --destination adresse[/masque][,...]
-
Spécifier la destination. Voir la description du paramètre -s (source)
pour une description détaillée de la syntaxe. --dst est un alias pour ce
paramètre.
- -m, --match correspondance
-
Spécifier une correspondance à utiliser, c'est-à-dire un module d'extension
qui vérifie une propriété spécifique. L'ensemble de correspondances
constitue la condition à laquelle une cible sera invoquée. Les
correspondances sont évaluées de la première à la dernière selon leurs
spécifications dans la ligne de commande et travaillent en mode
court-circuit ; c'est-à-dire que si l'une d'entre elles a pour résultat
« faux », l'évaluation s'arrête.
- -j, --jump cible
-
Spécifier la cible de la règle ; c'est-à-dire quoi faire si le paquet
correspond aux critères de sélection. La cible peut être une chaine définie
par l'utilisateur (différente de celle dans laquelle se trouve la règle),
une des cibles prédéfinies spéciales qui décident du sort du paquet
immédiatement ou une extension (voir plus loin EXTENSIONS DE CORRESPONDANCE ET DE CIBLE). Si ce paramètre est omis pour une règle (et si
-g n'est pas utilisé), la recherche de correspondance de la règle au
paquet n'aura aucun effet sur le sort de ce dernier, mais les compteurs de
la règle seront incrémentés.
- -g, --goto chaine
-
Spécifier que le traitement doit continuer dans la chaine
donnée. Contrairement à l'utilisation de l'option --jump, RETURN ne
poursuivra pas le traitement dans cette chaine, mais plutôt dans la chaine
qui nous a appelé à l'aide de --jump.
- [!] -i, --in-interface nom
-
Le nom de l'interface sur laquelle le paquet a été reçu (seulement pour les
paquets qui entrent dans les chaines INPUT, FORWARD ou
PREROUTING). Si l'argument « ! » précède le nom de l'interface, le
critère de sélection sera inversé. Si le nom de l'interface se termine par
un « + », toute interface qui commence par ce nom correspondra. Si ce
paramètre est omis, toute interface correspondra.
- [!] -o, --out-interface nom
-
Le nom de l'interface par laquelle le paquet est sur le point d'être envoyé
(seulement pour les paquets entrant dans les chaines FORWARD, OUTPUT
ou POSTROUTING). Si l'argument « ! » précède le nom de l'interface, le
critère de sélection sera inversé. Si le nom de l'interface se termine par
un « + », toute interface qui commence par ce nom correspondra. Si ce
paramètre est omis, toute interface correspondra.
- [!] -f, --fragment
-
Spécifier ce paramètre signifie que la règle ne fait référence qu'au second
fragment IPv4 et les suivants des paquets fragmentés. Comme il n'y a aucun
moyen de déterminer les ports source ou destination d'un tel paquet (ou le
type ICMP), ce paquet ne correspondra à aucune règle qui spécifie des
ports. Si l'argument « ! » précède le symbole « -f », la règle ne
recherchera de correspondance qu'avec les fragments d'en-tête ou les paquets
non fragmentés. Ce paramètre est spécifique à IPv4 et n'est pas disponible
dans ip6tables.
- -c, --set-counters paquets octets
-
Ce paramètre permet à l'administrateur d'initialiser les compteurs de
paquets et d'octets d'une règle (au cours des opérations INSERT,
APPEND et REPLACE).
AUTRES OPTIONS
Les options supplémentaires suivantes peuvent être spécifiées :
- -v, --verbose
-
Affichage détaillé. Avec cette option, la commande list affiche le nom de
l'interface, les options des règles (s'il y en a) et les masques TOS (Type
Of Service). Les compteurs de paquets et d'octets sont aussi affichés avec
le suffixe « K », « M » ou « G » pour les multiplicateurs 1 000, 1 000 000
et 1 000 000 000, respectivement (voir cependant le drapeau -x pour
modifier cela). Dans le cas d'un ajout, d'une insertion, d'une suppression
ou d'un remplacement, cette option provoque l'affichage d'informations
détaillées à propos de la ou les règle(s). -v peut aussi être spécifiée
plusieurs fois pour éventuellement afficher des instructions de débogage
plus détaillées : si elle est spécifiée deux fois, iptables-legacy
affichera les informations et les entrées de la table dans le style libiptc,
et iptables-nft affichera les règles dans le style netlink (code VM) ; si
elle est spécifiée trois fois, iptables-nft affichera aussi tout message
netlink envoyé au noyau.
- -V, --version
-
Afficher la version du programme et l'API du noyau utilisée.
- -w, --wait [secondes]
-
Attendre le verrouillage de xtables. Pour prévenir l'exécution simultanée de
plusieurs instances du programme, ce dernier va tenter d'obtenir un
verrouillage exclusif à son lancement. Par défaut, le programme s'arrêtera
s'il ne peut pas obtenir le verrouillage. Avec cette option, le programme
attendra (indéfiniment ou pendant une durée définie par l'argument
facultatif secondes) jusqu'à ce qu'il obtienne le verrouillage exclusif.
- -n, --numeric
-
Afficher les informations sous forme numérique. Les adresses IP et les
numéros de port seront affichés au format numérique. Par défaut, le
programme tente de les afficher sous la forme de nom d'hôte, de nom de
réseau ou de service (lorsque c'est possible).
- -x, --exact
-
Afficher les nombres sous forme étendue. Afficher la valeur exacte des
compteurs de paquets et d'octets au lieu de leur valeur arrondie au Ko
(multiple de 1000), au Mo (multiple de 1000K) ou au Go (multiple de
1000M). Cette option n'est pertinente que pour la commande -L.
- --line-numbers
-
Lors de l'affichage des règles, ajouter, au début de chacune d'entre elles,
les numéros de ligne qui correspondent à la position de la règle dans la
chaine.
- --modprobe=commande
-
Lors de l'ajout ou de l'insertion de règles dans une chaine, utiliser
commande pour charger tout module nécessaire (cibles, extensions de
correspondance, etc.).
FICHIER VERROU
iptables utilise le fichier /run/xtables.lock pour obtenir un
verrouillage exclusif à son lancement.
On peut utiliser la variable d'environnement XTABLES_LOCKFILE pour
modifier le comportement par défaut.
EXTENSIONS DE CORRESPONDANCE ET DE CIBLE
iptables peut utiliser des versions étendues des recherches de
correspondance de paquets et des modules de cibles. Une liste de ces
extensions est disponible dans la page de manuel iptables-extensions(8).
DIAGNOSTICS
Différents messages d'erreur peuvent s'afficher sur la sortie d'erreur
standard. Le code de retour de 0 indique un fonctionnement correct. Les
erreurs qui semblent être causées par des paramètres de la ligne de commande
non valables ou non pertinents génèrent un code de retour de 2. Les
erreurs qui indiquent une incompatibilité entre le noyau et l'espace
utilisateur génèrent un code de retour de 3. Les erreurs qui indiquent un
problème de ressource, comme un verrou occupé, un échec d'allocation de
mémoire ou des messages d'erreur du noyau génèrent un code de retour de
4. Enfin, les autres erreurs génèrent un code de retour de 1.
BOGUES
Des bogues ? Qu'est-ce que c'est ? ;-) Ok, vous devriez jeter un coup d'œil
à https://bugzilla.netfilter.org/. iptables s'arrêtera avec un code
d'erreur de 111 s'il voit qu'il a été appelé en tant que programme
setuid-to-root. iptables ne peut pas être utilisé en toute sécurité de cette
manière, car il fait confiance aux bibliothèques partagées (correspondances,
cibles) chargées à l'exécution ; le chemin de recherche peut être défini en
utilisant des variables d'environnement.
COMPATIBILITÉ AVEC IPCHAINS
iptables est très similaire à ipchains de Rusty Russell. La principale
différence réside dans le fait que les chaines INPUT et OUTPUT ne sont
parcourues que par les paquets entrant dans l'hôte local et générés par
l'hôte local, respectivement. Ainsi, tout paquet ne parcourt qu'une des
trois chaines (sauf pour le trafic loopback qui implique les deux chaines
INPUT et OUTPUT) ; auparavant, un paquet transféré passait par les trois
chaines.
Une autre différence importante réside dans le fait que -i fait référence
à l'interface d'entrée, que -o fait référence à l'interface de sortie et
que les deux sont valables pour les paquets qui entrent dans la chaine
FORWARD.
Les différentes formes de NAT ont été séparées ; iptables est un pur
filtre de paquets lorsqu'il utilise la table par défaut « filter » avec des
modules d'extension optionnels. Cela devrait éviter l'essentiel de la
confusion sur la combinaison du camouflage d'IP (masquerading) et du
filtrage de paquets vue auparavant. Les options suivantes sont donc
maintenant gérées différemment :
-j MASQ
-M -S
-M -L
Il y a plusieurs autres changements dans iptables.
VOIR AUSSI
iptables-apply(8), iptables-save(8), iptables-restore(8),
iptables-extensions(8),
Le packet-filtering-HOWTO détaille l'utilisation d'iptables pour le filtrage
de paquets, le NAT-HOWTO détaille le NAT, le netfilter-extensions-HOWTO
détaille les extensions qui ne font pas partie de la distribution standard
et le netfilter-hacking-HOWTO détaille le fonctionnement interne de
netfilter.
Voir https://www.netfilter.org/.
AUTEURS
Rusty Russell est à l'origine de l'écriture d'iptables en consultation
préalable avec Michael Neuling.
Marc Boucher a poussé Rusty à abandonner ipnatctl en mettant en avant un
cadriciel de sélection de paquets générique dans iptables ; puis il a écrit
la table mangle, la correspondance basée sur le propriétaire, le dispositif
de marquage et s'est investi çà et là en développant des trucs sympas dans
tous les domaines.
James Morris a écrit la cible TOS et la correspondance basée sur tos.
Jozsef Kadlecsik a écrit la cible REJECT.
Harald Welte a écrit les cibles ULOG et NFQUEUE, la nouvelle bibliothèque
libiptc, ainsi que les correspondances et cibles TTL, DSCP et ECN.
L'Équipe Centrale Netfilter se compose de : Jozsef Kadlecsik, Pablo Neira
Ayuso, Eric Leblond, Florian Westphal et Arturo Borrero Gonzalez. Les
membres émérites de l'Équipe Centrale sont : Marc Boucher, Martin Josefsson,
Yasuyuki Kozakai, James Morris, Harald Welte et Rusty Russell.
Page de manuel initialement écrite par Herve Eychenne
<rv@wallfire.org>.
VERSION
Cette page de manuel s'applique à iptables/ip6tables 1.8.11.
TRADUCTION
La traduction française de cette page de manuel a été créée par
Christophe Donnier,
Guillaume Audirac
et
Lucien Gentis <lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez vous reporter à la
GNU General Public License version 3
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- CIBLES
-
- TABLES
-
- OPTIONS
-
- COMMANDES
-
- PARAMÈTRES
-
- AUTRES OPTIONS
-
- FICHIER VERROU
-
- EXTENSIONS DE CORRESPONDANCE ET DE CIBLE
-
- DIAGNOSTICS
-
- BOGUES
-
- COMPATIBILITÉ AVEC IPCHAINS
-
- VOIR AUSSI
-
- AUTEURS
-
- VERSION
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:40 GMT, September 19, 2025