[WLANware] badman-adv netzwerk architektur

Bernd Naumann bernd at kr217.de
Fri Aug 29 17:10:42 CEST 2014


Hi Moritz,

jep, es laeuft!

Clients bekommen via LAN-Ports und WLAN-Access-Point eine DHCP-Adresse
vom dem einen Router mit dnsmasq, welcher via WAN auch default aufloesen
kann (gateway mode 'server'). Der Rest hat auch ne statische Adresse hat
aber kein DHCP-Server mehr und laeuft im gatway mode 'client'.

Nur zum Abgleich noch mal meine Konfigurationen:

###
/etc/config/wireless

config wifi-device 'radio0'
	[...]

config wifi-iface
        option device 'radio0'
        option encryption 'none'
        option mode 'adhoc'
        option bssid 'CA:CA:FF:FF:EE:EE'
        option ssid '0-batman-adv'
        option network 'mesh0'

config wifi-iface
        option device 'radio0'
        option encryption 'none'
        option mode 'ap'
        option ssid '0-ap'
        option network 'mesh'

####
/etc/config/network

[...]
config interface 'mesh'
        option type 'bridge'
        option ifname 'eth0 bat0'
        option force_link '1'
        option proto 'static'
        option ipaddr '10.0.0.1'
        option netmask '255.255.0.0'
        option ip6assign '60'

[...]

config interface 'mesh0'
        option mtu '1532'
        option proto 'batadv'
        option mesh 'bat0'

config interface 'bat0'
        option ifname 'bat0'
        option proto 'none'
        option mtu '1532'

###
/etc/config/batman-adv

config mesh 'bat0'
	option interfaces 'mesh0'

###
/etc/config/firewall

[...]

config zone
        option name             mesh
        list   network          'mesh'
        option input            ACCEPT
        option output           ACCEPT
        option forward          ACCEPT

[...]

config forwarding
        option src              'mesh'
        option dest             'wan'

[...]

###
/etc/config/dhcp   # ! ! !
# oh je das hat lange gedauert bis ich darauf kam

[...]

config dhcp 'mesh'
        option interface 'mesh' # ! nicht lan....
        option start '50'
        option limit '150'
        option leasetime '10m'
        option dhcpv6 'server'
        option ra 'server'

[...]

###

Ja coole Sache das. Danke nochmal.

Kurz noch zu den Gateways:
Der Router mit dem Gateway (wan), weisz nichts von seinem Glueck, also
dass er das Gateway ist. Der Traffic kommt zwar am wan-port an, aber
batctl gwl erkennt kein Gateway. Ist das normal? Man prueft also eher ob
an dem Interface 'wan' ein Kabel steckt und fuehrt dann zB ping-tests
durch, um zu entscheiden das man gateway mode server benutzen moechte?
ATM setzte ich das ganz dreckig via rc.local...

Beste Gruesze,
Bernd

On 08/29/2014 10:29 AM, Bernd Naumann wrote:
> Morgen Moritz, Hi Jan,
> 
> Danke! Beides hilft. So langsam wird ein Schuh draus, ich probier das
> nachher gleich mal aus.
> 
> Gruesze,
> Bernd
> 
> On 08/29/2014 01:09 AM, Moritz Warning wrote:
>> On 08/28/2014 09:22 PM, Bernd Naumann wrote:
>>> Hey-Ho!
>>
>>> In den letzten Tage habe ich mir endlich mal batman-adv angesehen.
>>
>>> Da die Dokumentation eher so middle ist, habe ich einige
>>> Schwierigkeiten, bei denen mir sicher jemand helfen kann.
>>
>>> Ich denke mein "Problem" ist das 'wie' die Interfaces und Bridges
>>> richtig anlegen.
>>
>>> Nach 2.5 Tagen des Ausprobieren und partieller Teilerfolge ist mir
>>> aufgefallen, dass die (automatisch angelegte) br-lan der Hacken an der
>>> Sache sein koennte.
>>
>>> Gehe ich jetzt recht in der Annahme, dass ich am Ende nur noch bat0
>>> verwende? Also im groben in der config/network eine bridge names bat0,
>>> mit den iface 'eth0' enthalten ist, mit bzw. ohne statische adresse und
>>> in der config/wireless mein adhoc und mein master mode wifi-iface
>>> jeweils dem network bat0 hinzufuege?
>> Nicht ganz.
>> bat0 verhält sie wie eine bridge, wird aber nicht in der /etc/config/network
>> wie eine klassische bridge konfiguriert. Um ein interface in bat0 zu stecken,
>> wird folgende Syntax in (/etc/config/network) verwendet:
>> config interface
>> 	option ifname 'radio0_adhoc'
>> 	option auto '1'
>> 	option proto 'batadv'
>> 	option mesh 'bat0'
>>
>> Normalerweise wird ein ad-hoc und ein ap interface in /etc/config/wireless konfiguriert.
>> Das ad-hoc interface wird in bat0 eingestöpselt - darüber läuft das routing-Protokoll.
>> Das ap-interface kommt dagegen mit eth0 und eben bat0 in eine brdige (nennen wir das interface br-mesh).
>>
>> config interface 'mesh'
>> 	option type 'bridge'
>> 	option ifname 'bat0 radio0_ap'
>> 	option ipaddr '10.29.165.111'
>> 	option proto 'static'
>> 	option netmask '255.255.0.0'
>> 	option force_link '1'
>>
>>
>> Der Zugang zum WAN-Interface geht von br-mesh mittels NAT. Das wird in der /etc/config/firewall eingestellt:
>>
>> config forwarding
>>   option src 'mesh'
>>   option dest 'wan'
>>
>> Nicht vergessen forwarding zu aktivieren (/etc/sysctl.conf):
>> net.ipv4.ip_forward=1
>>
>>
>> Ich hoffe das hilft etwas weiter, auch wenn es spontan zusammengeschrieben wurde.
>>
>> Grüße,
>> mwarning
>>
>>
>>> Ich haette zum Schluss gern ein Setup mit min. 3 Routern, wovon einer
>>> mit dnsmasq DHCP-Anfragen beantwortet. Die Router bekommen im Zweifel
>>> ihre v4 Adresse von mir per Hand zugewiesen. Dazu kommt, dass ich atm
>>> nicht weis/verstehe wie die gateway-erkennung von batman funktioniert.
>>> Der Router der per wan eine default-route aufloesen kann, wo und wie
>>> setzte ich die Regel dass traffic aus der bat0 bridge Richtung wan
>>> geschoben wird, und zB per NAT zurueck an die clients geht. iptables, oder?
>>
>>> Ich wuerde gerne so weit es geht auf init-scripte verzichten und alles
>>> ueber die etc-files konfigurieren, also z.B. keine brctl-Aufrufe,
>>> sondern ueber uci-config-files.
>>
>>> Kann mich jemand in die richtige Richtung weisen?
>>
>>> Beste Gruesze und Dank im Vorraus,
>>> Bernd


More information about the WLANware mailing list