[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