Coupe-feu pour connexion par modem avec FreeBSD
Précédent |  |

# 6. Questions

6.1. Pourquoi utilisez-vous natd(8) et ipfw(8) alors que vous pourriez utiliser les filtres intégrés à ppp(8)?
6.2. J'obtiens des messages du type “`limit 100 reached on entry 2800`” et après cela je ne vois plus jamais de refus dans mes traces. Mon coupe-feu fonctionne-t-il toujours?
6.3. Si j'utilise des adresses privées en interne, comme dans la plage 192.168.0.0, pourrais-je ajouter une commande comme `$fwcmd add deny all from any to 192.168.0.0:255.255.0.0 via tun0` aux règles du coupe-feu pour prévenir les tentatives externes de connexions vers les machines internes?
6.4. Il doit y avoir quelque chose d'erroné. J'ai suivi vos instructions à la lettre et maintenant tout est bloqué.

6.1. Pourquoi utilisez-vous natd(8) et ipfw(8) alors que vous pourriez utiliser les filtres intégrés à ppp(8)?

Je serais honnête et dirais qu'il n'y a aucune raison définitive pour que j'utilise `ipfw` et `natd` plutôt que les filtres intégrés à `ppp`. D'après les discussions que j'ai eu avec de nombreuses personnes le consensus semble être qu'`ipfw` est certainement plus puissant et configurable que les filtres `ppp`, mais ce qu'il apporte dans la fonctionnalité il le perd en facilité d'utilisation. Une des raisons de mon utilisation est que je préfère que le filtrage de paquets soit fait au niveau du noyau plutôt que par un programme utilisateur.

6.2. J'obtiens des messages du type “`limit 100 reached on entry 2800`” et après cela je ne vois plus jamais de refus dans mes traces. Mon coupe-feu fonctionne-t-il toujours?

Cela signifie simplement que le nombre maximal de traces pour la règle a été atteint. La règle fonctionne toujours, mais elle n'enregistrera plus de trace jusqu'au moment ou vous réinitialiserez les compteurs de traces. Vous pouvez réinitialiser les compteurs de traces avec la commande `ipfw resetlog`. Alternativement, vous pouvez augmenter la limite de trace dans la configuration de votre noyau avec l'option `IPFIREWALL_VERBOSE_LIMIT` comme décrit précédemment. Vous pouvez également changer cette limite (sans recompiler votre noyau ou avoir à redémarrer) en utilisant la valeur sysctl(8) net.inet.ip.fw.verbose_limit.

6.3. Si j'utilise des adresses privées en interne, comme dans la plage 192.168.0.0, pourrais-je ajouter une commande comme `$fwcmd add deny all from any to 192.168.0.0:255.255.0.0 via tun0` aux règles du coupe-feu pour prévenir les tentatives externes de connexions vers les machines internes?

Une réponse simple est non. La raison de cela est que `natd` effectue la traduction d'adresse pour tout ce qui sera détourné à travers le périphérique `tun0`. En ce qui concerne les paquets entrant, ces derniers ne parleront qu'à l'adresse IP dynamiquement assignée et non pas au réseau interne. Notez que cependant vous pouvez ajouter une règle comme `$fwcmd add deny all from 192.168.0.4:255.255.0.0 to any via tun0` qui limiterait un hôte de votre réseau interne de sortir via le coupe-feu.

6.4. Il doit y avoir quelque chose d'erroné. J'ai suivi vos instructions à la lettre et maintenant tout est bloqué.

Ce guide suppose que vous utilisez userland-ppp aussi le jeu de règle donné intervient sur l'interface `tun0`, qui correspond à la première connexion établie avec ppp(8) (a.k.a. user-ppp). Les connexions supplémentaires utiliseront `tun1`, `tun2` et ainsi de suite.

Vous devriez également noter que pppd(8) utilise à la place l'interface `ppp0`, donc si vous établissez une connexion avec pppd(8) vous devez remplacer `tun0` par `ppp0`. Une façon rapide d'éditer les règles du coupe-feu pour refléter ce changement est présentée ci-dessous. Le jeu de règles original est sauvegardé sous `fwrules_tun0`.

           % cd /etc/firewall
            /etc/firewall% su
            Password:
            /etc/firewall# mv fwrules fwrules_tun0
            /etc/firewall# cat fwrules_tun0 | sed s/tun0/ppp0/g > fwrules

Pour savoir si vous utilisez actuellement ppp(8) ou pppd(8) vous pouvez examiner la sortie d'ifconfig(8) une fois que la connexion est établie. E.g., pour une connexion faite par pppd(8) vous verriez quelque chose comme ceci (on ne montre que les lignes importantes):

           % ifconfig
            (skipped...)
            ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1524
                        inet xxx.xxx.xxx.xxx --> xxx.xxx.xxx.xxx netmask 0xff000000
            (skipped...)

D'autre part, pour une connexion faite avec ppp(8) (user-ppp) vous devriez voir quelque chose de similaire à:

           % ifconfig
            (skipped...)
            ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
            (skipped...)
            tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1524
                    (IPv6 stuff skipped...)
                        inet xxx.xxx.xxx.xxx --> xxx.xxx.xxx.xxx netmask 0xffffff00
                        Opened by PID xxxxx
                (skipped...)

Précédent | Sommaire |
Le jeu de règles pour le coupe-feu |  |

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.