[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: brctrl: nf_hook: hook 0 already set



On Sunday 15 April 2007 20:13, Gerhard Brauer wrote:
> Gruesse!

Moin,

und erstmal herzlichen Dank für deine Hilfe! Mit diesen Settings funktioniert 
es, allerdings bin ich noch immer verwirrt warum die br0 eine IP hat, und die 
anderern Interfaces nicht. In den Dokus die ich las war es immer ungekerht. 
Aber egal, wichtig ist, dass es funktioniert!

Bei der Gelegenheit noch ein Problem: die Debugmeldungen müllen leider meine 
Logdateien in /var/log zu. Wie kann ich das Debugging wieder abschalten? Mehr 
als einen Tag hält meine Platte nicht durch, dann wäre sie voll!

Danke!


> * Michael Renner <michael.renner@gmx.de> schrieb am [15.04.07 12:56]:
> > On Friday 13 April 2007 18:33, Gerhard Brauer wrote:
> > > Gruesse!
> > >
> > > * Michael Renner <michael.renner@gmx.de> schrieb am [13.04.07 15:10]:
> > > > Ich hab' auf einem anderen Rechner etwas vergleichbares mit usb0
> > > > laufen, ohne Probleme. Die 30 Sekunden waren schon lange vorbei. Es
> > > > geht so los: cassiopeia:~# ifconfig eth0 up
> > > > br0: port 1(eth0) entering learning state
> > > > cassiopeia:~# br0: port 1(eth0) entering forwarding state
> > > > br0: topology change detected, propagating
> > > > nf_hook: hook 0 already set.
> > > > skb: pf=2 (unowned) dev=br0 len=56
> > > > PROTO=17 192.168.5.95:1126 192.168.5.53:53 L=56 S=0x00 I=56468
> > > > F=0x0000 T=64 nf_hook: hook 0 already set.
> > > > skb: pf=2 (unowned) dev=br0 len=84
> > > > PROTO=1 192.168.5.92:0 192.168.5.53:0 L=84 S=0x00 I=591 F=0x4000 T=64
> > > > nf_hook: hook 0 already set.
> > > > skb: pf=0 (unowned) dev=br0 len=46
> > > > nf_hook: hook 0 already set.
> > > > skb: pf=0 (unowned) dev=br0 len=46
> > > > nf_hook: hook 0 already set.
> > > > skb: pf=2 (unowned) dev=br0 len=66
> > > > PROTO=6 72.51.38.140:8118 192.168.5.53:34867 L=66 S=0x00 I=21080
> > > > F=0x4000 T=109
> > > > nf_hook: hook 0 already set.
> > > >
> > > > Der .53 ist der Rechner auf dem die Bridge laufen soll (cassiopeia),
> > > > die anderen sind andere Rechner im Netz.
> > >
> > > Eigentlich ist dein Vorgehen AFAIK richtig. Zu diesen Meldungen:
> > > ist das ein selbstgebauter Kernel?
> >
> > Ja, ein guter Hinweis, Danke! Daher also der Müll auf der Console. Jetzt
> > sieht es schon ruhiger aus. Es funktioniert einfach nicht, die Console
> > ist aber lesbar.
> >
> > > Laut http://tldp.org/HOWTO/Ethernet-Bridge-netfilter-HOWTO-2.html
> > > kommen diese Meldungen nur, wenn CONFIG_NETFILTER_DEBUG gesetzt ist,
> > > was in den Debian-Standard-Kerneln nicht der Fall ist.
> > > Wenn da netfilter-seitig auf dem Rechner gefiltert wird, evtl. das
> > > Modul für gebridgtes Netfilter vergessen/nicht geladen? Kannst du
> > > netfilter (wenn es denn überhaupt) läuft zum Test abschlaten?
> >
> > Ne, das läuft nicht.
> >
> > > Hast du ip_forward eingeschaltet?
> >
> > cassiopeia:~# cat /proc/sys/net/ipv4/ip_forward
> > 0
> >
> > > Hast du die Route(n) auf das Device br0 gesetzt?
> >
> > Hhm, guter Punkt. Da es schon im internen Netz nicht funktionierte hab
> > ich die Route nach draussen gar nicht gesetzt. Nach einigem Spielen bin
> > ich nun soweit:
> > br0 bekommt eine IP im selben Subnet 192.168.5.210 (eigentlich nicht
> > geplant)
>
> Warum/woher kommt dann die IP? Für das Bridge-Interface soll das doch
> sicher ne feste IP sein (die von cassiopeia).
>
> > eth0 bekommt eine Adresse in einem anderen Class-C-Netz (192.168.8.53).
> > Damit ergibt sich folgendes Bild:
> > cassiopeia:~# route -n
> > Kernel IP routing table
> > Destination     Gateway         Genmask         Flags Metric Ref    Use
> > Iface 192.168.5.0     0.0.0.0         255.255.255.0   U     0      0     
> >   0 br0 192.168.8.0     0.0.0.0         255.255.255.0   U     0      0   
> >     0 eth0 0.0.0.0         192.168.5.1     0.0.0.0         UG    0      0
> >        0 br0
> >
> > Damit lässt sich nach draussen pingen. Und von anderen Rechnern im Netz
> > 192.168.5.0/24 komme ich auf cassiopeia (jetzt mit der IP 192.168.8.53)
> > eine Verbindunge, vorausgesetzt, das Routing wird verbogen:
> > lyra:~# route  add -net 192.168.8.0 netmask 255.255.255.0 gw 192.168.5.92
> >
> > Sobald der Server aber seine ursprüngliche IP bekommt (192.168.5.53)
> > ist's wieder aus. Gleiches, wenn br0 in das Netz 192.168.8.0/24 kommt.
>
> Da läuft einiges schief ;-) Zum einen: die bridge barucht eine IP aus
> deinem lokalen Subnet. Zweitens: wenn du eth0 in die bridge packst, dann
> "gibt" es eth0 nicht mehr, brauchst keine IP, kein Paket darf/soll
> direkt über eth0 (bzw. auch die tapX) gehen. Das verwaltet alles die
> Bridge.
>
> Dein Vorgehen sollte sein (auf cassiopeia):
> ifconfig eth0 down
> brctl addbr br0
> ifconfig eth0 0.0.0.0 up
> ifconfig tap0 0.0.0.0 up
>   (das würde ich zum test erstmal rauslassen, ich weiß auch nicht zu
>   welchem Zeitpunkt bei qemu du die virt. devives in die bridge bringst)
> ifconfig br0 192.168.5.53 netmask 255.255.255.0 up
> brctl addif br0 eth0
> brctl addif br0 tap0
> route add default gw IP_deines_Routers/Gateways
>
> Das sollte es gewesen sein. Als Routen auf dem Host sollten lediglich
> die Netz-Route für 192.168.5.0 über br0 und die default-Route via
> IP_deines_Routers auch über br0 vorhanden sein.
>
> Wenn du dich erstmal nur auf eth0 in der Bridge beschränkst, sollte
> cassiopeia alle deine Rechner im Subnet 192.168.5.0/24 erreichen und via
> Gateway auch rechner außerhalb. Rechner aus dem Subnet sollten
> cassiopeia über die 192.168.5.53 erreichen (ohne das extra Routing
> notwendig wäre.)
>
> Gruß
> 	Gerhard

-- 
|Michael Renner      E-mail: michael.renner@gmx.de  |
|D-81541 Munich      Germany        ICQ: #112280325 |
|Germany             Don't drink as root!      ESC:wq



Reply to: