PF supporte la répartition de charge IP

Posté par  (site web personnel) . Modéré par Fabien Penso.
Étiquettes :
0
26
nov.
2002
OpenBSD
Après ma dépêche de la semaine dernière sur l'intégration d'ALTQ, PF (le système de filtrage de paquets d'OpenBSD) intègre maintenant la répartition de charge ("load balancing" en anglais) au sein de ses règles de redirection et de NAT.

Cela permet de répartir la charge entre n serveurs identiques situés sur un sous-réseau, par exemple dans le cas d'un portail Web fortement chargé. On retrouve "grosso modo" les mêmes fonctionnalités que dans le projet Linux Virtual Server (le High Availability en moins).

Aller plus loin

  • # Re: PF supporte la répartition de charge IP

    Posté par  . Évalué à 0.

    sous linux ca existe ? et sinon c pour qd ?
  • # Re: PF supporte la répartition de charge IP

    Posté par  . Évalué à 2.

    Je suis pas un grand spécialiste réseau, mais celà n'a rien d'extraordinaire. La répartition de charge je l'ai utilisé avec Linux 2.0 et 2.2 (ipchain) il y a bien des années.

    Comprend pas pourquoi çà passe en première page. C'est plutôt négatif pour OpenBSD d'avoir çà si tard....
    • [^] # Re: PF supporte la répartition de charge IP

      Posté par  . Évalué à 7.

      Je crois que l'intérêt principal de cette nouvelle tient dans le fait que le système de répartition de charge est maintenant directement intégré dans PF. Ainsi, comme avec ALTQ, il n'y a plus qu'un seul fichier de configuration pour gérer tout cela. Donc administration simplifiée.

      Zeiram
    • [^] # Re: PF supporte la répartition de charge IP

      Posté par  . Évalué à 4.

      Oui mais là c'est comme si tu faisait ca directement avec l'option -d de iptables, et pas en bidouillant avec tc, cbq et le reste.

      La syntax est beaucoup plus simple et le fait que ca soit centralisé dans un seul fichier simplifie grandement l'écriture et la lecture des règles
    • [^] # Re: PF supporte la répartition de charge IP

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

      Sauf que sous Linux, pour faire ce que sait faire PF aujourd'hui (FW statefull, load balancing et QoS), tu dois utiliser plusieurs outils :
      - iptable pour le filtrage IP
      - iproute pour la gestion de QoS
      - LVS pour le load balancing.

      PF permet de tout synthétiser dans un seul fichier de conf, ce qui me parait plus simple. Même si s'il est moins abouti que la somme des outils Linux.
      • [^] # Re: PF supporte la répartition de charge IP

        Posté par  . Évalué à 2.

        A quand la possibilité de filtrer avant de nater avec PF ?
        le probleme se pose quand on fait du DNAT et que l'on veut filtrer sur la
        destination, le packet est modifié avant d'etre filtré.
        netfilter est plus flexible sur ce point.
        l'utilisation d'outils diversifiés n'est elle pas plus complexe mais souvent plus
        maleable et donc plus puissante ?
  • # Re: PF supporte la répartition de charge IP

    Posté par  . Évalué à 2.

    Pour le peu que j'ai vu, c'est quand meme _tres_ loin de LVS !

    Est-ce que ca sait gérer :

    * les connexions persistantes
    * le fait qu'un serveur soit tombé
    * différentes façons de load-balancer (avec un poids par hote par exemple)

    c'est déjà un bon début et le fait que ca soit intégré à pf, c'est génial, mais il y a encore du boulot :-)
    • [^] # Re: PF supporte la répartition de charge IP

      Posté par  . Évalué à 2.

      > le fait qu'un serveur soit tombé

      Bah non, mais c'est marqué dans le texte de la news:

      "On retrouve "grosso modo" les mêmes fonctionnalités que dans le projet Linux Virtual Server (le High Availability en moins)."
      • [^] # Re: PF supporte la répartition de charge IP

        Posté par  . Évalué à 3.

        C'est pas vraiment du high availability que d'enlever un serveur qui marche plus.

        Le high availability avec LVS, c'est plutot que tu peux avoir plusieurs "directors" (la gate en gros), et que dans la premiere tombe, la deuxieme prend la main (avec fake-arp, vrrpd, etc...)
    • [^] # Re: PF supporte la répartition de charge IP

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

      Est-ce que tu sais lire ma dépêche : j'ai dis "grosso modo" les mêmes fonctionnalités que LVS. Pour l'instant, c'est encore en développement mais cela suit la bonne voie IMHO.
  • # Re: PF supporte la répartition de charge IP

    Posté par  . Évalué à 3.

    C est pas pour faire mon raleur, mais bon...
    PF supporte la répartition de charge IP, c est bien mais il ne faut
    pas oublier que ipf le faisait (et le fait tjours) depuis longtemps.
    Donc on pouvait faire du load balancing IP avec OpenBSD2.9
    et ipf mais plus avec OBSD 3.0 et pf. Il aura qd meme fallu deux
    versions pour voir REVENIR cette fonctionnalité.
    Perso je m interroge tjours du bien fondé du fork ipf/OBSD, meme
    si pf semble avoir de meilleur perf...
    • [^] # Re: PF supporte la répartition de charge IP

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

      On est d'accord, revenir au niveau de fonctionnalités d'IPF prend du temps au développeur de PF. Mais il ajoute aussi d'autres choses (ALTQ par ex.) et visiblement les perfs et le code sont meilleurs.

      Virer IPF d'OpenBSD était surtout dû à des raisons "politques" : problème de licence, susceptibilité de Theo de Raadt (project manager d'OpenBSD) et surtout le fait que le développeur d'IPF n'était pas un développeur principal d'OpenBSD (i.e. IPF marchait sur OpenBSD via une adaptation, mais n'était pas développé principalement pour OpenBSD).
      • [^] # Re: PF supporte la répartition de charge IP

        Posté par  . Évalué à 2.

        J'ai pas suivi IPF depuis le fork de 2.9 : il a implémenté l'option scrub ? et les macros ? Parceque mine de rien, c'est ce genre de goodies qui simplifient *largment* la gestion d'un firéoualle ...

        ça mérite aussi d'être souligné : dans le team d'Open, il y a aussi des français très actifs comme Espie, Miod, Matthieur ...

        Et puis theo il est peut-être chiant, mail il en a une plus grande. Dernier exemple :
        http://marc.theaimsgroup.com/?l=openbsd-tech&m=103808412019295&(...)
        • [^] # Re: PF supporte la répartition de charge IP

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

          il a implémenté l'option scrub ? et les macros ? Parceque mine de rien, c'est ce genre de goodies qui simplifient *largment* la gestion d'un firéoualle ...

          Tout à fait, PF supporte l'option "scrub" : normalisation des paquets fragmentés --> adieu les saloperies qui essayent de faire de l'évasion via des paquets stranges (Fragroute par ex.).

          Oui il y a des macros du type :

          ext_if = "kue0"
          pass out on $ext_if from any to any keep state

          Tu peux aussi mettre des labels sur les règles pour t'y retrouver dans tes logs :-) D'autres options sont assez "sympa", du genre "antispoofing" :

          antispoof for lo0

          est interprêté en :

          block in on ! lo0 inet from 127.0.0.1/8 to any
          block in on ! lo0 inet6 from ::1 to any

          ça mérite aussi d'être souligné : dans le team d'Open, il y a aussi des français très actifs comme Espie, Miod, Matthieur ...

          Tout à fait d'accord, certains trainent par ici de temps en temps (Miod).

          Et puis theo il est peut-être chiant, mail il en a une plus grande. Dernier exemple :

          L'exemple cité est assez bon : pour ou contre, génerer des logs syslog en XML ? Et tout de suite, c'est la foire d'empoigne entre les pro et les contre avec Theo qui fait l'arbitre et défend vigoureusement son point de vue ;-)
  • # Load balancing sur plusieurs FAI

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

    Pour compléter l'utilisation de cette nouvelle fonctionnalité de PF, voici un exemple de comment répartir la charge IP si on possède plusieurs liens Internet en sortie vers plusieurs FAI, sans utiliser un protocole de routage dynamique comme BGP :

    http://marc.theaimsgroup.com/?l=openbsd-misc&m=103852811324894&(...)

    Dans ce message, il y a aussi un exemple de répartition de charge pour des serveurs Web en utilisant l'option "source-hash" qui permet pour une connexion entrante d'accéder toujours au même serveur Web (utile dans le cas d'application PHP qui gérent des sessions vis à vis de l'IP du client).

Suivre le flux des commentaires

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