---
title: "OpenWRT bridged Repeater mit relayd"
date: 2016-02-10T22:00:00+02:00
draft: false
author: robert-kaussow
description: "OpenWRT ist eine auf Linux basierende offene Firmware für Router und AccessPoints. Mit relayd lassen sich zwei Access Points auch als WLAN Bridge konfigurieren."
keywords:
  - relayd
  - openwrt
  - wlan
  - bridge
categories:
  - Hardware
  - Open Source
---

OpenWRT ist eine auf Linux basierende offene Firmware für Router und AccessPoints. [OpenWRT](https://openwrt.org/) wird permanent weiterentwickelt und steht aktuell in der Version Chaos Calmer (15.05) für eine Vielzahl an Geräten unterschiedlicher Hersteller zur Verfügung. Möchte man in einer Mietwohnung nicht meterweise LAN-Kable an der Sockelleiste entlang verlegen, gibt es die Möglichkeit mit zwei AccessPoints einen WLAN-Blücke aufzubauen.

OpenWRT bietet zwei Möglichkeiten um eine Bridge einzurichten. WDS (Wireless Distribution System) oder relayd. Grundsätzlich ist WDS zwar einfacher zu konfigurieren, hat aber auch Nachteile. Das Protokoll ist nicht standardisiert was bedeutet, dass es zwischen den Herstellern Unterschiede bei der Implementierung gibt. Dadurch kann es passieren, dass Geräte mit unterschiedlichen WLAN-Chipsätzen (atheros/broadcom) überhaupt nicht kompatibel sind oder es zu einer instabilen Verbindung kommt. Da ich aber selbst bei gleichem Chipsatz immer wieder Probleme mit WDS hatte, empfehle ich persönlich den Weg über relayd.

Ich benutze für die Bridge zwei TP-Link WDR4300. Die Bridge-Verbindung wird über das 5 GHz Band aufgebaut, alle weiteren Clients nutzen ausschließlich 2,4 GHz. Grundsätzlich sollte relayd auf allen Geräten mit OpenWRT funktionieren, weiter Informationen findet man im Wiki. Alle Geräte, die mit der Bridge verbunden sind (LAN und WLAN) befinden sich anschließend im selben IP-Adressbereich. Für das Tutorial gehe ich davon aus, dass ihr bereits OpenWRT auf euren Geräten installiert habt.

### Vorbereitung AP1
Die Einstellungen des ersten AccessPoints müssen nicht weiter angepasst werden. Die einzige Voraussetzung ist, dass sich das WLAN Interface, welches ihr für die Bridge benutzen wollt, im Modus AccessPoint befindet und aktiviert ist. Alle weiteren Schritte werden auf dem zweiten Gerät vorgenommen!

### Aktualisierung und Installation benötigter Pakete
Das Paket luci-proto-relay ist optional und wird nur benötigt, wenn ihr später das Bridge-Interface über die Weboberfläche (luci) administrieren wollt.

{{< highlight bash "linenos=table" >}}
opkg update
opkg list-upgradable
opkg upgrade <package>
opkg install relayd luci-proto-relay
/etc/init.d/relayd enable
{{< / highlight >}}

### WLAN Interface konfigurieren
Anzupassen ist die Datei /etc/config/wireless. Vorinstalliert ist unter openwrt nur der Editor vi.

{{< highlight bash "linenos=table" >}}
config wifi-device 'radio1'
       option type 'mac80211'
       option hwmode '11a'
       option path 'pci0000:00/0000:00:00.0'
       # selbe Einstellung wie bei AP1 (Channel kann bei 2,4 GHz abweichen)
       option channel '36'
       option htmode 'HT40'
       option txpower '15'
       option country 'DE'

config wifi-iface
       option device 'radio1'
       # das Interface wwan wird später erstellt
       option network 'wwan'
       # selbe Einstellung wie bei AP1
       option ssid 'device-relay'
        # bringt das Gerät in den Client-Modus
       option mode 'sta'
       # selbe Einstellung wie bei AP1
       option encryption 'psk2+ccmp'
       # selbe Einstellung wie bei AP1
       option key 'password'
{{< / highlight >}}

### Netzwerkinterface Konfigurieren

{{< highlight bash "linenos=table" >}}
vi /etc/config/network

config interface 'lan'
       option ifname 'eth0.1'
       option force_link '1'
       option type 'bridge'
       option proto 'static'
       option ip6assign '60'
       option ipaddr '192.168.10.1'    # muss eine IP außerhalbe eures Adressbereichs sein!
       option netmask '255.255.255.0'
       option gateway '192.168.1.1'   # IP von AP1 (oder separate Firewall/Router)
       option dns '192.168.1.1'    # IP von AP1 (oder separater DNS)
       option stp '1'    # Spanning Tree Protokoll aktivieren

# wwan und stabridge anlegen
config interface 'wwan'
       option proto 'static'
       option ipaddr '192.168.1.2'    # über diese IP hat man Zugriff auf das Webinterface
       option netmask '255.255.255.0'
       option gateway '192.168.1.1'

config interface 'stabridge'
       option proto 'relay'
       option ipaddr '192.168.1.2'    # muss die selbe IP wie bei wwan sein
       list network 'lan'
       list network 'wwan'
{{< / highlight >}}

### Optional: DHCP konfigurieren
Wenn ihr bereits einen DHCP Server in eurem Netzwerk eingerichtet habt, könnt ihr diesen Schritt überspringen. Achtet darauf, dass ihr diese Einstellungen wieder auf dem ersten AccessPoint vornehmt!

{{< highlight bash "linenos=table" >}}
config dhcp 'lan'
       option interface 'lan'
       # Startadresse des DHCP-Adressbereiches, hier also 192.168.1.100
       option start '100'
       option limit '150'
       option leasetime '12h'
       option ignore '1'

config dhcp 'wan'
       option interface 'wan'
       option ignore '1'
{{< / highlight >}}

### Nicht benötigte Dienste abschalten
Da firewall, dhcp und dnsmasq vom AP1 übernommen wird, sollten diese Dienste auf AP2 abgeschaltet werden, um Konflikte zu vermeiden. Benutzt ihr beide Geräte als reine AccessPoints, könnt ihr die Dienste auch auf beiden Geräten deaktivieren.

{{< highlight bash "linenos=table" >}}
/etc/init.d/firewall stop
/etc/init.d/firewall disable
/etc/init.d/odhcpd stop
/etc/init.d/odhcpd disable
/etc/init.d/dnsmasq stop
/etc/init.d/dnsmasq disable
{{< / highlight >}}

Abschließend werden beide AccessPoints nochmal neu gestartet – fertig.

Wer möchte, kann auf dem zweiten AP noch das 2,4 GHz WLAN aktivieren und einrichten. Alle Geräte die sich mit diesem WLAN verbinden erhalten ebenfalls eine IP aus dem Adressbereich des ersten APs. Wenn euer Gerät nur ein WLAN Interface hat, lässt sich für die Clients auch ein virtueller Zugangspunkt einrichten.
