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...)

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>.