This repository has been archived on 2023-12-07. You can view files and clone it, but cannot push or open issues or pull requests.
geeklabor_legacy/content/post/openwrt-relayd-bridge.md
Robert Kaussow 2a66788d49
All checks were successful
the build was successful
fix values for authors handling
2018-12-20 22:41:15 +01:00

123 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "OpenWRT bridged Repeater mit relayd"
date: 2016-02-10T22:00:00+02:00
draft: false
author: robert-kaussow
categories:
- Hardware
- Netzwerk
- 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.