Partie I Introduction à l'administration système : services IP
1. Suite de protocoles réseau TCP/IP Oracle Solaris (présentation)
Partie II Administration TCP/IP
2. Planification de votre réseau TCP/IP (tâches)
4. Planification d'un réseau IPv6 (tâches)
5. Configuration des services réseau TCP/IP et de l'adressage IPv4 (tâches)
6. Administration d'interfaces réseau (tâches)
7. Configuration d'un réseau IPv6 (tâches)
8. Gestion d'un réseau TCP/IP (tâches)
9. Dépannage des problèmes de réseau (tâches)
10. Présentation détaillée de TCP/IP et IPv4 (référence)
11. Présentation détaillée de IPv6 (référence)
12. À propos de DHCP (présentation)
13. Planification pour le service DHCP (liste des tâches)
14. Configuration du service DHCP (tâches)
15. Administration de DHCP (tâches)
16. Configuration et administration du client DHCP
17. Résolution des problèmes DHCP (référence)
18. Commandes et fichiers DHCP (référence)
19. Architecture IPsec (présentation)
20. Configuration d'IPsec (tâches)
21. Architecture IPsec (référence)
22. Protocole IKE (présentation)
23. Configuration du protocole IKE (tâches)
25. IP Filter dans Oracle Solaris (présentation)
Nouvelles fonctions d'IP Filter
Filtrage de paquets IPv6 pour IP Filter
Sources d'informations relatives au logiciel Open Source IPFilter
Traitement des paquets avec IP Filter
Recommandations relatives à l'utilisation d'IP Filter
Utilisation des fichiers de configuration IP Filter
Utilisation des ensembles de règles IP Filter
Utilisation de la fonctionnalité de filtrage de paquets d'IP Filter
Configuration des règles de filtrage de paquets
Utilisation de la fonctionnalité NAT d'IP Filter
Utilisation de la fonctionnalité de pools d'adresses d'IP Filter
IP Filter et le module STREAMS pfil
28. Administration de Mobile IP (tâches)
29. Fichiers et commandes de Mobile IP (références)
31. Administration d'IPMP (tâches)
Partie VII Qualité de service IP (IPQoS)
32. Présentation d'IPQoS (généralités)
33. Planification d'un réseau IPQoS (tâches)
34. Création du fichier de configuration IPQoS (tâches)
35. Démarrage et maintenance d'IPQoS (tâches)
36. Utilisation de la comptabilisation des flux et de la collecte statistique (tâches)
Pour gérer le pare-feu, vous devez spécifier des ensembles de règles à l'aide d'IP Filter, puis filtrer le trafic réseau en fonction de ces ensembles de règles. Les types d'ensembles de règles suivants sont disponibles :
ensembles de règles de filtrage de paquets ;
ensembles de règles NAT (Network Address Translation, translation d'adresse réseau).
Par ailleurs, il est possible de créer des pools d'adresses pour référencer des groupes d'adresses IP. Ensuite, ces pools peuvent être utilisés dans un ensemble de règles. Les pools d'adresses permettent d'accélérer le traitement des règles. En outre, ils facilitent la gestion des grands groupes d'adresses.
Vous pouvez configurer le filtrage de paquets à l'aide des ensembles de règles de filtrage de paquets. La commande ipf permet d'utiliser les ensembles de règles de filtrage de paquets. Pour plus d'informations sur la commande ipf, reportez-vous à la page de manuel ipf(1M).
Vous pouvez créer des règles de filtrage de paquets via la ligne de commande, à l'aide de la commande ipf ou dans un fichier de configuration de filtrage de paquets. Si vous souhaitez charger les règles de filtrage de paquets à l'initialisation, créez le fichier de configuration /etc/ipf/ipf.conf pour y insérer les règles de filtrage de paquets. Dans le cas contraire, placez le fichier ipf.conf à un autre endroit, puis activez manuellement le filtrage de paquets à l'aide de la commande ipf.
Avec IP Filter, deux ensembles de règles de filtrage de paquets peuvent coexister : l'ensemble de règles actif et l'ensemble de règles inactif. Dans la plupart des cas, vous utiliserez l'ensemble de règles actif. Toutefois, la commande ipf -I permet d'appliquer une commande à la liste de règles inactives. La liste de règles inactives n'est pas employée par IP Filter, sauf si vous la sélectionnez. La liste de règles inactives constitue l'emplacement auquel vous pouvez enregistrer des règles sans affecter le filtrage de paquets actif.
IP Filter traite les règles de la liste de règles du début à la fin de la liste de règles configurée, puis transmet ou bloque le paquet. Un indicateur permet à IP Filter de déterminer si un paquet doit être transmis ou non. Il parcourt l'intégralité de l'ensemble de règles et détermine si le paquet doit être transmis ou bloqué, en fonction de la dernière règle correspondante.
Il existe deux exceptions à ce processus. D'une part, si le paquet correspondant à une règle contenant le mot-clé quick, Si une règle inclut le mot-clé quick, l'action associée à cette règle est exécutée et les règles suivantes sont ignorées. D'autre part, si le paquet correspond à une règle contenant le mot-clé group, seules les règles portant l'indicateur de ce group sont vérifiées.
Appliquez la syntaxe suivante pour créer des règles de filtrage de paquets :
action [in|out] option mot-clé, mot-clé...
Chaque règle commence par une action. IP Filter applique l'action au paquet si celui-ci correspond à la règle. Les actions habituellement appliquées aux paquets sont répertoriées ci-dessous.
Empêche le paquet de traverser le filtre.
Permet au paquet de traverser le filtre.
Consigne le paquet sans déterminer s'il est bloqué ou transmis. Exécutez la commande ipmon pour afficher le journal.
Inclut le paquet dans les statistiques du filtre. Exécutez la commande ipfstat pour afficher les statistiques.
Le filtre saute nombre règles de filtrage.
Le paquet est authentifié par un programme utilisateur qui valide les informations qu'il contient. Le programme détermine si le paquet est transmis ou bloqué.
Le mot suivant est in ou out. Votre choix détermine si la règle de filtrage de paquets est appliquée à un paquet entrant (in) ou à un paquet sortant (out).
Ensuite, vous pouvez insérer toute une liste d'options. Si vous en utilisez plusieurs, elles doivent être dans l'ordre indiqué ci-dessous.
Consigne le paquet si la règle constitue la dernière règle correspondante. Exécutez la commande ipmon pour afficher le journal.
Exécute la règle contenant l'option quick si un paquet lui correspond. Toute vérification de règle subséquente est interrompue.
Applique la règle uniquement si le paquet entre ou sort via l'interface spécifiée.
Copie le paquet et envoie la copie sur nom-interface vers une adresse IP éventuellement spécifiée.
Déplace le paquet vers une file d'attente sortante sur nom-interface.
Une fois les options spécifiées, vous avez le choix entre plusieurs mots-clés afin de déterminer si le paquet correspond à la règle. Les mots-clés doivent être utilisés dans l'ordre indiqué ci-dessous.
Remarque - Par défaut, le filtre autorise la transmission de tout paquet ne correspondant à aucune règle du fichier de configuration.
Filtre les paquets en fonction de leur type de service, exprimé sous forme d'entier décimal ou hexadécimal.
Filtre les paquets en fonction de leur durée de vie. La durée de vie d'un paquet est une valeur enregistrée dans celui-ci qui indique la durée pendant laquelle le paquet peut se trouver sur le réseau avant d'être abandonné.
Les paquets correspondant à la règle sont déterminés en fonction d'un protocole spécifique. Vous pouvez employer l'un des noms de protocole spécifiés dans le fichier /etc/protocols ou un nombre décimal représentant le protocole. Le mot-clé tcp/udp peut être utilisé pour filtrer les paquets TCP ou UDP.
Filtre les paquets en fonction des éléments suivants : l'adresse IP source, l'adresse IP de destination et le numéro de port. Le mot-clé all permet d'accepter tous les paquets, quelles que soient leur source et leur destination.
Les paquets correspondant à la règle sont ceux qui sont associés à des attributs spécifiques. Insérez le mot not ou no devant le mot-clé pour indiquer qu'un paquet ne correspond à la règle qu'en l'absence de l'option.
Employé pour TCP afin de filtrer les paquets en fonction des indicateurs TCP définis. Pour plus d'informations sur les indicateurs TCP, reportez-vous à la page de manuel ipf(4).
Filtre les paquets en fonction du type d'ICMP. Ce mot-clé n'est employé que si l'option proto est définie sur icmp et que l'option flags n'est pas utilisée.
Détermine les informations conservées pour le paquet. Les options state et frags sont disponibles comme options-keep. L'option state conserve les informations relatives à la session et peuvent être conservées sur les paquets TCP, UDP et ICMP. L'option frags permet de conserver les informations sur les fragments de paquets et d'appliquer les informations aux fragments suivants. Les options-keep permettent la transmission des paquets correspondant à la règle sans passer par la liste de contrôle d'accès.
Crée un groupe pour les règles de filtrage, désigné par le numéro numéro.
Ajoute la règle au groupe de numéro numéro au lieu du groupe par défaut. Toutes les règles de filtrage sont placées dans le groupe 0 si aucun autre groupe n'est spécifié.
L'exemple suivant illustre la constitution d'une syntaxe de règle de filtrage de paquets pour créer une règle. Pour bloquer le trafic entrant à partir de l'adresse IP 192.168.0.0/16, ajoutez la règle suivante à la liste de règles :
block in quick from 192.168.0.0/16 to any
Pour obtenir la syntaxe et la grammaire complètes utilisées pour écrire des règles de filtrage de paquets, reportez-vous à la page de manuel ipf(4) Pour une description des tâches associées au filtrage de paquets, reportez-vous à la section Gérez les ensembles de règles de filtrage de paquets d'IP Filter. Pour une explication du schéma d'adresse IP (192.168.0.0/16) de l'exemple, reportez-vous au Chapitre 2Planification de votre réseau TCP/IP (tâches).
NAT configure des règles de mappage qui réalisent la translation des adresses IP source et de destination vers d'autres adresses Internet ou intranet. Ces règles modifient les adresses source et de destination des paquets IP entrants et sortants et envoient les paquets. Vous pouvez également utiliser NAT pour rediriger le trafic d'un port à un autre. NAT assure l'intégrité du paquet en cas de modification ou de redirection de celui-ci.
Exécutez la commande ipnat pour utiliser les listes de règles NAT. Pour plus d'informations sur la commande ipnat, reportez-vous à la page de manuel ipnat(1M).
Vous pouvez créer des règles NAT à la ligne de commande, à l'aide de la commande ipnat ou dans un fichier de configuration NAT. Les règles de configuration NAT résident dans le fichier ipnat.conf. Si vous souhaitez charger les règles NAT à l'initialisation, créez le fichier /etc/ipf/ipnat.conf afin d'y insérer les règles NAT. Dans le cas contraire, placez le fichier ipnat.conf à un autre endroit, puis activez manuellement le filtrage de paquets à l'aide de la commande ipnat.
Les règles NAT peuvent s'appliquer à la fois aux adresses IPv4 et IPv6. Toutefois, vous ne pouvez pas spécifier les deux types d'adresses dans la même règle. Au contraire, vous devez définir des règles distinctes pour chaque type d'adresse. Dans une règle NAT qui inclut les adresses IPv6, vous ne pouvez pas utiliser les commandes NAT mapproxy et rdrproxy simultanément.
Appliquez la syntaxe ci-dessous pour créer des règles NAT :
commande nom-interface paramètres
Toute règle commence par l'une des commandes ci-dessous :
Mappe une adresse IP ou un réseau IP vers une autre adresse IP ou un autre réseau IP selon un processus circulaire non contrôlé.
Redirige les paquets d'un couple port-adresse IP vers un autre couple port-adresse IP.
Établit une translation d'adresse réseau bidirectionnelle entre une adresse IP externe et une adresse IP interne.
Établit la translation basée sur les adresses IP statiques. Cette commande se base sur un algorithme qui force la translation des adresses vers une plage de destination.
Le mot suivant correspond au nom de l'interface, par exemple hme0.
Ensuite, vous avez le choix entre divers paramètres, afin de définir la configuration NAT. Les paramètres suivants sont disponibles :
Désigne le masque réseau.
Désigne l'adresse cible de la translation de ipmask.
Désigne les protocoles tcp, udp ou tcp/udp, ainsi qu'une plage de numéros de port.
L'exemple suivant illustre la constitution d'une syntaxe de règle NAT pour créer une règle NAT. Pour réécrire un paquet sortant sur le périphérique de0 avec l'adresse source 192.168.1.0/24 et pour afficher son adresse source comme étant 10.1.0.0/16, ajoutez la règle ci-dessous à l'ensemble de règles NAT :
map de0 192.168.1.0/24 -> 10.1.0.0/16
Les règles suivantes s'appliquent aux adresses IPv6 :
map ppp0 fec0:1::/64 -> 2000:1:2::/72 portmap tcp/udp 1025:65000 map-block ppp0 fe80:0:0:209::/64 -> 209:1:2::/72 ports auto rdr ce0 209::ffff:fe13:e43e port 80 -> fec0:1::e,fec0:1::f port 80 tcp round-robin
Pour obtenir la syntaxe et la grammaire complètes utilisées pour écrire des règles NAT, reportez-vous à la page de manuel ipnat(4).
Les pools d'adresses constituent une référence unique pour nommer un groupe de paires adresse/masque de réseau. Les processus fournis pas les pools d'adresses permettent de trouver plus rapidement les adresses IP correspondant aux règles. En outre, ils facilitent la gestion des grands groupes d'adresses.
Les règles de configuration de pool d'adresses sont définies dans le fichier ippool.conf. Si vous souhaitez charger le fichier de règles de pool d'adresses à l'initialisation, créez le fichier /etc/ipf/ippool.conf afin d'y insérer les règles de pool. Dans le cas contraire, placez le fichier ippool.conf à un autre endroit, puis activez manuellement le filtrage de paquets à l'aide de la commande ippool.
Pour créer un pool d'adresses, appliquez la syntaxe suivante :
table role = role-name type = storage-format number = reference-number
Définit la référence des adresses.
Spécifie le rôle du pool dans IP Filter. À ce stade, vous ne pouvez faire référence qu'au rôle ipf.
Spécifie le format de stockage du pool.
Spécifie le numéro de référence utilisé par la règle de filtrage.
Par exemple, pour faire référence aux groupes d'adresses 10.1.1.1 et 10.1.1.2 et au réseau 192.16.1.0 à l'aide du numéro de pool 13, insérez la règle suivante dans le fichier de configuration de pool d'adresses :
table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24 };
Ensuite, pour faire référence au numéro de pool 13 dans une règle de filtrage, élaborez une règle similaire à la suivante :
pass in from pool/13 to any
Vous devez charger le fichier de pool avant de charger les règles contenant une référence au pool. Dans le cas contraire, le pool n'est pas défini, comme indiqué dans la sortie suivante :
# ipfstat -io empty list for ipfilter(out) block in from pool/13(!) to any
Si vous ajoutez le pool par la suite, l'ensemble de règle du noyau n'est pas mis à jour. Vous devez également recharger le fichier de règles faisant référence au pool.
Pour obtenir la syntaxe et la grammaire complètes utilisées pour écrire des règles de filtrage de paquets, reportez-vous à la page de manuel ippool(4).