Überbrücken Sie externes WLAN (Internet) mit lokalem LAN / WLAN

489
Dave

Ich habe eine etwas seltsame Situation. Ich habe in meinem Haus einen Internetzugang über Firmen-WLAN. Ich möchte ein LAN mit lokalem WLAN im Haus einrichten und mit dem Firmen-WLAN für den Internetzugang verbinden.

Ich möchte also so etwas wie einen Router, der zwei WiFi-Antennen hat: ein internes (Heim-) WLAN und eine externe (Firmen-) WLAN-Verbindung. Dann kann ich einen PC an mein Heim-Ethernet / WLAN anschließen und auf lokale freigegebene Dateien, Drucker usw. sowie auf das Internet zugreifen, als ob das WLAN des Unternehmens ADSL / Glasfaser / welche Leitung wäre.

Gibt es solche Hardware bereits? Irgendwelche Hinweise nach was soll ich suchen?

Ich hatte mir überlegt, vielleicht einen PC dafür zu bauen, indem ich mehrere WLAN-Dongles / PCIe-Karten verwendete. Ich möchte jedoch wirklich Dual-Band-802.11ac mit Rückwärtskompatibilität, um zu unterstützen, was auch immer andere Hardware anschließen möchte, und ich bin nicht überzeugt, dass ein kleiner Dongle, der als "Server" fungiert, ... ?

1
Zugangspunkt im Client-Modus mit dem Router Ihrer Wahl verbunden. Doppel-NAT ist kein Problem mehr, aber Sie könnten mit bestimmten sicheren Diensten in Schwierigkeiten geraten. Das größere Problem ist, wenn Sie eine routbare externe IP benötigen, da die IP, die Sie vom Upstream-Netzwerk erhalten, wahrscheinlich nicht öffentlich routbar ist. Tyson vor 5 Jahren 1
Vielen Dank! Ich denke, das ist mehr oder weniger die Antwort (poste als Antwort und ich akzeptiere). Ich erwarte nicht, von der Außenwelt routbar zu sein (ich gehe davon aus, dass z. B. Port 80 geöffnet wird, um einen Webserver von zu Hause aus zu betreiben). Wenn Sie den Zugriffspunkt [this] (https://www.ebuyer.com/482340-linksys-wap300n-wireless-n-access-point-wap300n-uk) betrachten, denke ich, dass "Client-Modus" dasselbe ist wie "Netzwerkbrücke" "Modus? Und ist es für einen Router wichtig, ob es sich um einen ADSL- oder Kabelrouter handelt? Ich vermute, ich sollte den Zugangspunkt an einen Standard-Ethernet-Port anschließen. Dave vor 5 Jahren 0
Der Router sollte kein eingebautes Modem haben. Es wird eine ADSL-Version, eine Kabelversion und eine Version ohne Modem geben. Die Version ohne Modem ist das, was Sie wollen. (Ich werde bald eine Antwort eingeben). Tyson vor 5 Jahren 0

1 Antwort auf die Frage

0
Dave

OK, ich kann jetzt meine eigene Frage beantworten.

Ich habe die Hinweise von Tysons Kommentar verwendet, um mich anzufangen, aber es gab einiges mehr, was ich tun musste. Insbesondere, da ich das Unternehmensnetzwerk nicht erwähnen konnte, mit dem ich mich verband, wurde WPA2-Enterprise PEAP MSCHAPv2 authentifiziert (eduroam).

Ich habe ziemlich billige Hardware bekommen: einen TP-Link TL-WA801ND Access Point (Wireless N 300 MB Single-Band 2,4 GHz); und einen ASUS AC750-Router (Wireless AC Dual-Band).

Keines dieser Hardwareteile kann im Clientmodus mit einem Hostnetzwerk mit PEAP-Authentifizierung verbunden werden.

Ich entdeckte einen Open-Source-Firmware-Ersatz, OpenWrt, mit einigen Wiki-Artikeln und YouTube-Videos, die versprechen, den Client-Modus mit PEAP zu ermöglichen.

Ich habe viel über Probleme mit dem verfügbaren Speicherplatz auf dem Access Point WA801ND gelesen . Ich hatte jedoch Glück. Mir wurde ein WA801ND V5 ausgeliefert, der den doppelten Speicherplatz (8 MB) der vorherigen Versionen hat.

Es war jedoch nichts über die Installation von V5 in Wiki # 1 und die beängstigenden Build-Anweisungen in Wiki # 2 (warum gibt es zwei Wikis auf der OpenWrt-Site?).

Ich hatte jedoch doppelt Glück, weil ich trotz der Wikis eine git Commit-Detailunterstützung für den V5 gefunden habe und Anweisungen dazu habe, wie man flashen kann.

Durch das Durchlesen einiger Dokumentation zusammen mit den Anweisungen im git-Commit wurde OpenWrt schließlich auf dem Zugangspunkt WA801ND installiert.

Dadurch wird auf dem Gerät Bare-Bones-Terminal-Firmware erhalten, die die PEAP-Authentifizierung im Client-Modus nicht unterstützt.

Der erste Schritt ist also die Aktivierung der PEAP-Unterstützung.

OpenWrt wird mit einem eigenen Paketmanager geliefert, der WA801ND hatte jedoch keinen Internetzugang, daher musste ich Pakete manuell abrufen. Leider hat das Paket-Repository seine Struktur geändert, seit der Großteil der Online-Dokumentation geschrieben wurde. Daher war es schwierig, die Pakete zu finden.

Ich fand schließlich, dass es zwei Sub-Repositorys gibt, eines für das "Ziel" (Gerät) und eines für den Bogen (CPU).

Also, wenn ich heruntergeladen hatte und scp'd das wpad_2018-05-21-62566bc2-4_mipsel_24kc.ipkPaket /tmpauf dem Gerät, könnte ich opkg remove wpad-minidann opkg install /tmp/wpad_2018-05-21-62566bc2-4_mipsel_24kc.ipk, so dass wpa_supplicant PEAP - Unterstützung.

Ich habe mich beim Konfigurieren des WA801ND durch die Konfigurationsdateien versucht, aber das ist ein ganz großes Projekt an sich. Ich wollte wirklich eine Web-GUI-Schnittstelle. Der Standard in OpenWrt ist Luci, der eine Reihe von Abhängigkeiten hat, die heruntergeladen und auf das Gerät übertragen werden müssen.

Glücklicherweise fand ich eine Wiki-Seite mit einem Skript (am unteren Rand), um es zu automatisieren. Unglücklicherweise war das Skript alt, es fehlten ein oder zwei Abhängigkeiten und die falsche Paket-URL. Ich habe es repariert und voila, Luci installiert!

Von dort aus war es einfach, über die Luci-Webschnittstelle des Access Points WA801ND eine Client-Modus-Verbindung zum PEAP-Netzwerk herzustellen und den Access Point Ethernet an den WAN-Port des AC750-Routers anzuschließen. Ich musste das Subnetz des Routers von 192.168.1.x auf 192.168.2.x ändern, damit es keinen Konflikt mit dem Zugriffspunkt gab. Dann hat "alles" funktioniert (endlich!).

Das festgelegte Skript wird unten als Referenz angehängt:

#!/bin/sh #assumes the user has egrep, wget, ssh, and scp  # Change this to match your router architecture="mipsel_24kc" target="ramips/mt76x8"  # These should be fine unless you've changed something user="root" ip_address="192.168.1.1"   url="https://downloads.openwrt.org/snapshots/packages/$/" target_url="http://downloads.openwrt.org/snapshots/targets/$/packages/" tmpdir="/tmp/luci-offline" packages_base="liblua lua libuci-lua libubus libubus-lua uhttpd rpcd" packages_luci="luci-base luci-lib-ip luci-lib-nixio luci-theme-bootstrap luci-mod-admin-full luci-lib-jsonc liblucihttp liblucihttp-lua" packages_target="libiwinfo-lua"  mkdir "$tmpdir" cd "$tmpdir"  echo "Downloading base packages" wget --quiet -N "$base/Packages" || echo "Failed to get base Packages" for pkg in $packages_base; do pkgfile="$(egrep -oe " $_.+" Packages | tail -c +2)" pkgurl="$base/$" wget --quiet -N "$pkgurl" || echo "Failed to fetch $pkg" done  echo "Downloading Luci packages" wget --quiet -N "$luci/Packages" || echo "Failed to get luci Packages" for pkg in $packages_luci; do pkgfile="$(egrep -oe " $_.+" Packages | tail -c +2)" pkgurl="$luci/$" wget --quiet -N "$pkgurl" || echo "Failed to fetch $pkg" done  echo "Downloading target-specific packages" wget --quiet -N "$/Packages" || echo "Failed to get target Packages" for pkg in $packages_target; do pkgfile="$(egrep -oe " $_.+" Packages | tail -c +2)" pkgurl="$/$" echo "Downloading $pkgurl" wget --quiet -N "$pkgurl" || echo "Failed to fetch $pkg" done  echo "Copying packages to device" ssh "$@$" mkdir -p /tmp/luci-offline-packages scp *.ipk "$@$":/tmp/luci-offline-packages echo "Installing pacakges" ssh "$@$" opkg install /tmp/luci-offline-packages/*.ipk echo "Deleting packages from device" ssh "$@$" rm -rf /tmp/luci-offline-packages/  echo "Starting HTTP server and enabling on boot" ssh "$@$" /etc/init.d/uhttpd start ssh "$@$" /etc/init.d/uhttpd enable  echo "Deleting packages from PC" cd rm -rf "$tmpdir"