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