Terence Dewaele wrote:

> Hello !
>
> J'utilise depuis un moment un firewall qui faisait office de bridge pour
> rendre le tout transparent, tout fonctionne très bien.
>
> Le problème, c'est que pour faire un nouveau firewall j'ai utilisé un noyau
> 2.4.4 et le problème c'est qu'il met impossible de filtrer les paquets Ip du
> fait que mon noyau n'est pas matché pour faire du filtre sur le bridge
> (Patch que je n'est point trouvé pour le noyau 2.4.4).
>
> Mon bridge fonctionne donc, mais les règles de filtrage sont inactives.
> J'ai essayé de créer une chaîne br0 mais sans succès.
>
> ???
>
> Terence
>
> Linux-Azur :      http://www.linux-azur.org
> Désinscriptions: http://www.linux-azur.org/liste.php3
> **** Pas de message au format HTML, SVP ****

vu la taille du patch :

--- net/bridge/br_input.c.orig  Thu Jun 22 23:26:44 2000
+++ net/bridge/br_input.c       Tue Jun 27 00:53:54 2000
@@ -22,6 +22,9 @@
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
 #include <linux/if_bridge.h>
+#include <linux/ip.h>
+#include <linux/firewall.h>
+#include <linux/ip_fw.h>
 #include "br_private.h"

 unsigned char bridge_ula[6] = { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x00 };
@@ -45,6 +48,7 @@
        unsigned char *dest;
        struct net_bridge_fdb_entry *dst;
        struct net_bridge_port *p;
+       char *ptr;
        int passedup;

        skb->nh.raw = skb->mac.raw;
@@ -60,6 +64,19 @@

        skb_push(skb, skb->data - skb->mac.raw);

+#ifdef CONFIG_FIREWALL
+       ptr = skb->data;
+       if (ptr[12] == 0x08 && ptr[13] == 0x00 /* ETH_P_IP */
+           && skb->len >= ETH_HLEN + sizeof(struct iphdr)) {
+           /* Check against the IP input firewall */
+           struct iphdr *ip = (struct iphdr *)(ptr + ETH_HLEN);
+           int fwres, rport;
+           fwres = call_in_firewall(PF_INET, skb->dev, ip, &rport, &skb);
+           if (fwres < FW_ACCEPT)
+               goto freeandout;
+       }
+#endif
+
        if (br->dev.flags & IFF_PROMISC) {
                struct sk_buff *skb2;

[end of patch]

ca doit pas etre trop difficile d'integrer ca meme dans un nouveau kernel...
pourvu que l'api ipchains call_in_firewall n'ait pas trop changee...




Linux-Azur :      http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****

Répondre à