Bridge filtrant avec Netfilter

Posté par  . Modéré par Fabien Penso.
Étiquettes :
0
8
mar.
2002
Sécurité
Pour le moment, pour mettre en place un pont filtrant sous Linux, on n'avait pas beaucoup le choix : en attendant quelque chose de propre et documenté avec le kernel 2.4 et NetFilter, il fallait se résigner à revenir en kernel 2.2 et lire le HOWTO Bridge+Firewall+DSL. Mais ce temps est révolu ! A nous les joies des ponts filtrants avec NetFilter !



Pour ceux qui ne comprennent pas ce que cela représente, imaginez que votre firewall Linux devienne "invisible" et qu'il puisse s'intercaler entre deux équipements (serveurs, routeurs, modems...) sans changer aucune configuration sur le reste de votre réseau (même plan d'adressage, rêgles de routage inchangées sur tous les équipements...). Si Si, c'est possible !
En gros, votre firewall Linux devient un switch mais il ne laisse passer que ce que vous autorisez... Pour ceux qui souhaitent intégrer un firewall dans un réseau déjà en place, c'est la solution idéale.

Aller plus loin

  • # Ce n'est cependant pas une nouveauté

    Posté par  . Évalué à 10.

    Que ça soit documenté, ça c'est très bien, par contre, c'est pas complètement nouveau. Ca fait déjà de nombreuses semaines que je fais ça en usage perso, et je ne dois pas être le seul ;-)
    • [^] # Re: Ce n'est cependant pas une nouveauté

      Posté par  . Évalué à 9.

      As-tu essayé d'ajouter des règles de QoS ? Si oui, comment/pour quel résultat ?

      Merci
      • [^] # Re: Ce n'est cependant pas une nouveauté

        Posté par  . Évalué à 6.

        Ah non, du tout, c du filtrage assez basique: blocage de certains ports comme NFS, rsh ... Je ne suis pas direct sur le net, mais sur un intranet où je ne suis pas tout seul ...

        C'est une question piège ?
        • [^] # Re: Ce n'est cependant pas une nouveauté

          Posté par  . Évalué à 5.

          > C'est une question piège ?

          C'est à dire ? Non pas du tout, je voulais juste profiter d'un retour d'expérience sur la QoS, notamment dans le cas d'un linux en coupure de réseau...
          • [^] # Re: Ce n'est cependant pas une nouveauté

            Posté par  . Évalué à 10.

            moi j'ai essayé de mettre en place un petit mais vraiement petit quelque chose mais ça demande encore des réglages parce que je n'ai pas l'impression que ce soit efficace. Je n'ai pas trop mesurer des stats non plus. Voici mon qos.start :

            #!/bin/sh
            # Mise en place de la qualité de service: priorité ssh, telnet, http

            PATH=/bin:/usr/bin:/sbin:/usr/sbin

            test -x $DAEMON || exit 0

            case "$1" in
            start)
            echo "QOS on..."
            # création de la file d'attente racine
            tc qdisc add dev ppp0 root handle 10: cbq bandwidth 10Mbit avpkt 1000 mpu 64

            # marquage des paquets
            iptables -t mangle -A OUTPUT -m length --length 0:500 -j MARK --set-mark 3
            iptables -t mangle -A OUTPUT -m length --length 500:1500 -j MARK --set-mark 4

            # création de deux classes de files d'attente
            tc class add dev ppp0 parent 10:0 classid 10:1 cbq bandwidth 10Mbit rate 51Kbit allot 1514 prio 1
            maxburst 10 avpkt 100 isolated
            tc class add dev ppp0 parent 10:0 classid 10:2 cbq bandwidth 10Mbit rate 461Kbit allot 1514 prio
            8 maxburst 2 avpkt 1500 bounded

            # filtrage des paquets
            tc filter add dev ppp0 parent 10:0 protocol ip handle 3 fw flowid 10:1
            tc filter add dev ppp0 parent 10:0 protocol ip handle 4 fw flowid 10:2

            echo "done."
      • [^] # Re: Ce n'est cependant pas une nouveauté

        Posté par  . Évalué à 1.

        Moi perso j'utilise Netfilter pour faire du NAT + firewall depuis que j'ai l'ADSL (presqu'un an...), et j'ai récemment mis en place du QoS pour deux choses:
        * limiter le débit sortant de mon serveur Web et de mon serveur FTP à 100kb/s (sur les 128 au total)
        * augmenter la priorité des paquets ACK et des paquets à destination du port 22 (ssh)

        -1 car ma vie n'intéresse pas grand monde...
  • # Pseudo bridge avec proxy-arp

    Posté par  . Évalué à 10.

    il existait deja depuis longtemp une solution propre:

    http://lartc.org/HOWTO//cvs/2.4routing/output/2.4routing-16.html(...)

    le proxy-arp

    en plus ont peut faire du traffic shaping dessus

    C'est a mon avis bien plus propre que brctl pour la vaste majorite des implementations.
    • [^] # Re: Pseudo bridge avec proxy-arp

      Posté par  . Évalué à 8.

      Au contraire, je trouve ça un peu "crado". Je l'ai utilisé y a 2 ans avant de découvrir le patch bridge+filtre pour kernel 2.2 et je préfère nettement le bridge.

      Anecdote: avise-toi d'inverser les ports (dont les cartes), et observe: tes machines vont crier au vol d'adresse MAC à tour de bras. Dans mon cas, j'ai retrouvé ma prise murale (donc le port du switch auquel ma machine avec proxy-arp était reliée) débranchée, puisque ma machine se faisait passée pour tout le monde sauf moi "de mon côté" et pour mes machines vers le reste du réseau (ceux qui maitrisent un minimum doivent déjà être pétés de rire). Et pourquoi cette conf ? Ben le multicast/broadcast ...
    • [^] # Re: Pseudo bridge avec proxy-arp

      Posté par  . Évalué à -5.

      tout ce qui contient le mot proxy n'est pas digne d'avoir le mot propre acollé ..

      Le seul truc que j'accepte encore c'est les proxies HTTP a des fins de désaturations de bande-passante ..

      [-1, mon avis perso qui intéresse pas grand monde sauf moi et mon fanclub]
  • # Héhé ;))

    Posté par  (site web personnel) . Évalué à 5.

    Je pensais qu on pouvait faire ça uniquement avec bsd ;)

    Mais c est vrai qu en y reflechissant la technique du proxie arp doit fonctionner, tandis que le brclt (ça me parait obscur) il y a pas assez d explications pour moi dans la doc sur le fonctionnement interne du programme.

    Enfin de tt manière, c est à tester.

    @+
    Code34
  • # FTP

    Posté par  . Évalué à 6.

    Quelqu'un a déjà réussi à mettre en place une telle chose avec le ftp (actif ou passif) qui marche?
  • # oh oui, dis moi encore RTFM...

    Posté par  . Évalué à 1.

    RTFM accepté, mais avec une [URL] par coup de pelle svp.
    "Oui" n'est pas une réponse.

    Est-il aisé de mettre en place un firewall qui fasse du bridging sur un réseau local, et AUSSI passerelle (et là encore firewall filtrant) vers l'Internet ?

    --
    feth qui a pas vraiment le temps de se documenter, mais qui est pressé de décider !
    • [^] # Re: oh oui, dis moi encore RTFM...

      Posté par  . Évalué à 2.

      j'en ai lu un peu plus, mais je reste débutant, oilà ce que je veux faire : est-ce que l'article correspond à cela ?

      3 Workstations en réseau transparent, passant par un bridge (invisible), et utiliser la même machine, avec une adresse IP visible, comme passerelle pour acceder à l'Internet.
      Si c'est possible, j'y arriverai, mais est-ce possible ?
      • [^] # Re: oh oui, dis moi encore RTFM...

        Posté par  . Évalué à 0.

        Hum ? Tu veux faire du S-NAT quoi ?

        iptables -t nat -A POSTROUTING -i eth0 -o ppp0 -j MASQUERADE devrait faire le boulot normalement, ou alors j'ai mal compris la question...
  • # Le bridge n'est pas réservée exclusivement à Ethernet

    Posté par  . Évalué à 1.

    En effet, on peut aussi utiliser le routage avancé de linux offert avec les commandes de iproute.
    I.e. iproute avec deux tables de plus que la table système et des p'tites règles ip rules qui vont bien font très bien l'affaire.

    Seul inconvénient ;^) il y aura toujours un saut
    ip puisque ce "bridge" n'est pas effectuer au niveau Ethernet. J'ai utilisé ceci sur une machine, il y a plus d'un an et qui tourne encore.
    Bon maintenant, il va falloir que je l'arrête pour faire les choses proprement et sans saut Ip.

    A+

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.