[Berlin-wireless] olsr-dhcp problem

Marco Tidow martidow
Di Okt 3 02:12:33 CEST 2006


On Mon, Oct.02. 23:49 +0200, Goetz Fischer wrote:
> Hallo Paul,
> Paul Skorning schrieb:
> > tach jungs,
> > 
> > ich hab bei mir nen wrt stehen der per olsr-dhcp ip's vergeben soll. tut 
> > er auch. mit nem notebook kann ich wunderbar verbinden. richtige ip 
> > bekomme ich auch.
> > nur mehr geht nicht. kein inet. kein zugriff auf die ap's (also 104er 
> > ip's). so langsam verzweifle ich. könnte also tips gebrauchen.
> > 
> > meine config sieht dann so aus:
> > OLSR-DHCP: 104.142.2.2/29;255.255.255.248
> > steckt da schon der fehler oder doch am läppi?
> > 
> > alle firewalls sind aus. wäre dann aber schon läppi nummer zwei der 
> > nicht will.
> > 
> > vllt noch wichtig zu sagen. an dem wrt steckt noch nen siemens per 
> > lan-brücke. das funzt auch super.
> > 
> > ff-version: 1.2.5
> > response-fix installiert.
> > 
> > mfg paul
> > wlanhsh.de
> 
> schau Dir mal das Beispiel von Sven-Ola an
> http://freifunk.net/wiki/FreifunkFirmwareHinweise

Hi Paul,

OLSR-DHCP ist o.k., firewall kann auch an bleiben;

Aber:
sehr wahrscheinlich hat Deine LAN-Brücke auch die netmask 255.0.0.0 ?

Als Folge existieren dann im WRT zwei identische routen für 104/8,
eine verweist auf dev "br0", die andere auf das wifi-device, meistens "eth1" .

guck´ mal mit: 

root at testhop42:~# ip route ls |tail

Du wirst wahrscheinlich etwas ähnliches wie dies finden:

[...]
104.0.0.0/8 dev br0  proto kernel  scope link  src 104.136.42.42 
104.0.0.0/8 dev eth1  proto kernel  scope link  src 104.136.12.1 
[...]

(alternativ via "Status - Routen" im web-interface zu finden, ganz
 am Ende der Liste)


Das hat zur Folge, daß non-olsr wifi-clients zwar dhcp-broadcasts
(gehen initial von 0.0.0.0 -> 255.255.255.255) senden und die
Antwort bekommen, danach aber keine 104.x.x.x unicast-packets vom
WRT über Funk kriegen, weil die die - in der routing-table des WRT´s
zuerst stehende - 104/8-route übers LAN-device "br0" nehmen:

Also statt unicast-packets an die dhcp-104er per Funk zu senden, landen
sie per Draht beim Siemens (und der schickt sie an den WRT retour, weil
der für seine dhcp-104er IP´s "c/o-an-mich!" ankündigt ;-)

Lösung:

Setz´ für die LAN-Brücke die kleinere netmask /30 ein, und nimm
dort als IP´s die zwei mittleren eines Viererblocks von 104er-Adressen,
deren kleinstes Byte modulo-4 geteilt  1 oder 2 ergeben:

als Beispiel:

  104.136.42.40  (40 % 4 = 0)
  104.136.42.41  (41 % 4 = 1)   => LAN-IP des ersten  LAN-bridge routers
  104.136.42.42  (42 % 4 = 2)   =>            zweiten
  104.136.42.43  (43 % 4 = 3)

Als LAN-netmask eben: 255.255.255.252  ( == /30 )


(die beiden anderen IP´s sind "Schwund", die höchste, im Beispiel die
 104.136.42.43, dient immerhin noch als olsr-broadcast-IP auf der LAN-bridge;

 "netmask /30"  und  "modulo-4" :

   weil man so das kleinste mögliche IP-subnet erhält,
   das noch ohne weitere Umstände broadcast-fähig ist, wg. olsrd)


Dadurch erhälst Du eine extra-route im WRT
(und analog im Siemens), so daß nur diese vier IP´s als
"zur LAN-bridge gehörend" behandelt werden, mit anderen Worten, packets
an alle anderen 104er, für die keine host-routen per olsr eingetragen
wurden (== z.B. die non-olsr-wifi-clients am WRT !!!) werden wie
gewünscht per Funk (eth1) bedient.

Gruß, marco


P.S. - umgekehrt:
  es soll admins in der eigentlich(tm) admin-freien Freifunk-Welt geben,
  die mit dieser kleinen Gemeinheit absichtlich en-passant
  non-olsr-ad-hoc-wifi-Wegelagerer von Richtfunk-Strecken fernhalten ;-)
  (macht aber nur Sinn, wenn die nicht auf channel 10 laufen...)


_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
https://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin





Mehr Informationen über die Mailingliste Berlin