Page suivante Page précédente Table des matières

8. Annexe : différences entre ipchains et ipfwadm

Quelques-uns de ces changements sont le résultat de changements du noyau, et quelques autres sont un résultat des différences entre ipchains et ipfwadm.

  1. De nombreux arguments ont été modifiés : les majuscules indiquent dorénavant une commande, et les minuscules indiquent une option.
  2. Les chaînes arbitraires sont supportées, ainsi même les chaînes intégrées ont des noms complets plutôt que des options (càd, "input" à la place de "-I").
  3. L'option "-k" a sauté : utilisez "! -y".
  4. L'option "-b" insère/ajoute/supprime actuellement deux règles, plutôt qu'une règle "bidirectionnelle" simple.
  5. L'option "-b" peut être passée à "-C" pour effectuer deux vérifications (une dans chaque direction).
  6. L'option "-x" de "-l" a été remplacée par "-v".
  7. Les ports sources et destinations multiples ne sont plus supportés. Heureusement, la possibilité d'employer un intervalle de port aura le même effet.
  8. Les interfaces peuvent seulement être spécifiées par leur nom (pas par leurs adresses). L'ancienne sémantique a été silencieusement changée dans la série des noyaux 2.1, de toute manière.
  9. Les fragments sont examinés, mais pas automatiquement autorisés.
  10. On s'est débarrassé des chaînes de comptage explicites.
  11. On peut écrire des règles qui porteront uniquement sur certains protocoles IP.
  12. L'ancien comportement de vérification de SYN et ACK (qui était auparavant ignoré pour les paquets non TCP) a changé ; l'option SYN n'est plus valide pour les règles non spécifiques au TCP.
  13. Les compteurs sont maintenant de 64 bits sur les machines 32 bits, et non plus 32 bits.
  14. L'inversion des options est dorénavant supportée.
  15. Les codes ICMP sont maintenant supportés.
  16. Les interfaces joker sont maintenant supportées.
  17. Les manipulations de TOS sont maintenant vérifiées : l'ancien code du noyau les stoppait silencieusement pour vous en manipulant (illégalement) le bit TOS "Must Be Zero" ; ipchains retourne maintenant une erreur si vous essayez, de même que pour d'autres cas illégaux.

8.1 Guide de référence rapide

[ Dans l'ensemble, les arguments des commandes sont en MAJUSCULES, et les options des arguments sont en minuscules ]

Une chose à noter, le camouflage est spécifié par "-j MASQ" ; ceci est complètement différent de "-j ACCEPT", et n'est pas traité comme un effet de bord, au contraire d'ipfwadm.

===========================================================================
| ipfwadm      | ipchains              | Notes
---------------------------------------------------------------------------
| -A [both]    | -N acct               | Crée une chaîne "acct"
|              |& -I 1 input -j acct   | ayant des paquets entrants et
|              |& -I 1 output -j acct  | sortants qui la traversent. 
|              |& acct                 |
---------------------------------------------------------------------------
| -A in        | input                 | Une règle sans destination
---------------------------------------------------------------------------
| -A out       | output                | Une règle sans destination
---------------------------------------------------------------------------
| -F           | forward               | Utilise ça comme [chaîne].
---------------------------------------------------------------------------
| -I           | input                 | Utilise ça comme [chaîne].
---------------------------------------------------------------------------
| -O           | output                | Utilise ça comme [chaîne].
---------------------------------------------------------------------------
| -M -l        | -M -L                 |
---------------------------------------------------------------------------
| -M -s        | -M -S                 |
---------------------------------------------------------------------------
| -a policy    | -A [chain] -j POLICY  | (voir -r et -m).
---------------------------------------------------------------------------
| -d policy    | -D [chain] -j POLICY  | (voir -r et -m).
---------------------------------------------------------------------------
| -i policy    | -I 1 [chain] -j POLICY| (voir -r et -m).
---------------------------------------------------------------------------
| -l           | -L                    |
---------------------------------------------------------------------------
| -z           | -Z                    |
---------------------------------------------------------------------------
| -f           | -F                    |
---------------------------------------------------------------------------
| -p           | -P                    |
---------------------------------------------------------------------------
| -c           | -C                    |
---------------------------------------------------------------------------
| -P           | -p                    |
---------------------------------------------------------------------------
| -S           | -s                    | Prend seulement un port ou un
|              |                       | intervalle, pas de multiples.
---------------------------------------------------------------------------
| -D           | -d                    | Prend seulement un port ou un
|              |                       | intervalle, pas de multiples.
---------------------------------------------------------------------------
| -V           | <none>                | Utilise -i [nom].
---------------------------------------------------------------------------
| -W           | -i                    |
---------------------------------------------------------------------------
| -b           | -b                    | Dorénavant crée deux règles.
---------------------------------------------------------------------------
| -e           | -v                    |
---------------------------------------------------------------------------
| -k           | ! -y                  | Ne fonctionne pas à moins que
|              |                       | -p tcp ne soit également spécifié.
---------------------------------------------------------------------------
| -m           | -j MASQ               |
---------------------------------------------------------------------------
| -n           | -n                    |
---------------------------------------------------------------------------
| -o           | -l                    |
---------------------------------------------------------------------------
| -r [redirpt] | -j REDIRECT [redirpt] |
---------------------------------------------------------------------------
| -t           | -t                    |
---------------------------------------------------------------------------
| -v           | -v                    |
---------------------------------------------------------------------------
| -x           | -x                    |
---------------------------------------------------------------------------
| -y           | -y                    | Ne fonctionne pas à moins que
|              |                       | -p tcp ne soit également spécifié.
---------------------------------------------------------------------------

8.2 Exemples de commandes ipfwadm traduites

Ancienne commande : ipfwadm -F -p deny

Nouvelle commande : ipchains -P forward DENY

Ancienne commande : ipfwadm -F -a m -S 192.168.0.0/24 -D 0.0.0.0/0

Nouvelle commande : ipchains -A forward -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0

Ancienne commande : ipfwadm -I -a accept -V 10.1.2.1 -S 10.0.0.0/8 -D 0.0.0.0/0

Nouvelle commande : ipchains -A input -j ACCEPT -i eth0 -s 10.0.0.0/8 -d 0.0.0.0/0

(Notez qu'il n'y a pas d'équivalent pour la spécification des interfaces par leur adresse : utilisez le nom de l'interface. Sur cette machine, 10.1.2.1 correspond à eth0).


Page suivante Page précédente Table des matières