Подключите внешний WiFi (интернет) к локальной сети / WiFi

441
Dave

У меня немного странная ситуация. У меня есть доступ в интернет в моем доме через корпоративный WiFi. Я хочу настроить локальную сеть с локальным WiFi в доме, соединяясь с корпоративным WiFi для доступа в интернет.

Поэтому я хочу что-то вроде роутера с двумя антеннами WiFi: внутренним (домашним) WiFi и внешним (корпоративным) WiFi-соединением. Затем я могу подключить ПК к моей домашней сети Ethernet / WiFi и получить доступ к локальным общим файлам, принтерам и т. Д., А также к Интернету, как если бы корпоративный Wi-Fi был ADSL / волоконно-оптической линией связи.

Такое оборудование уже существует? Любые намеки, что я должен искать?

Возможно, я подумал о создании ПК для этого, используя несколько адаптеров WiFi / PCIe. Тем не менее, я действительно хочу двухдиапазонный 802.11ac с обратной совместимостью для поддержки любого другого оборудования, которое я хочу подключить, и я не уверен, что маленький ключ, выступающий в роли «сервера», может обеспечить то, что настоящий маршрутизатор может ... ?

1
Точка доступа в режиме клиента подключена к маршрутизатору по вашему выбору. Двойной NAT больше не является проблемой, но вы можете столкнуться с проблемами с определенными безопасными сервисами, большая проблема в том случае, если вам нужен маршрутизируемый внешний IP-адрес, потому что IP-адрес, который вы получаете из восходящей сети, вероятно, не является публично маршрутизируемым. Tyson 6 лет назад 1
Спасибо! Я думаю, что это более или менее ответ (отправьте как ответ, и я приму). Я не ожидаю, что смогу быть маршрутизируемым из внешнего мира (я предполагаю, что это, например, для открытия порта 80 для запуска веб-сервера из дома). Глядя на [эту] (https://www.ebuyer.com/482340-linksys-wap300n-wireless-n-access-point-wap300n-uk) точку доступа, я думаю, что «режим клиента» аналогичен «сетевому мосту». " Режим? А для роутера, имеет ли значение ADSL или кабельный роутер? Я подозреваю, что я должен подключить точку доступа к стандартному порту Ethernet? Dave 6 лет назад 0
Маршрутизатор не должен иметь встроенный модем. Будет версия ADSL, версия кабеля и версия без модема. Версия без модема - это то, что вы хотите. (Я скоро напишу ответ). Tyson 6 лет назад 0

1 ответ на вопрос

0
Dave

Хорошо, теперь я могу ответить на свой вопрос.

Я использовал подсказки из комментария Тайсона, чтобы начать, но я должен был сделать еще кое-что. Тем более, что я не упомянул о корпоративной сети, к которой я подключался, проходила аутентификация WPA2-Enterprise PEAP MSCHAPv2 (eduroam).

У меня есть довольно дешевое оборудование: точка доступа TP-Link TL-WA801ND (Wireless N 300 МБ, однополосный, 2,4 ГГц); и маршрутизатор ASUS AC750 (беспроводной двухдиапазонный переменный ток).

Ни один из этих аппаратных компонентов не может подключаться в режиме клиента к сети хоста с аутентификацией PEAP.

Я обнаружил замену прошивки с открытым исходным кодом, OpenWrt, с некоторыми статьями вики и видео на YouTube, обещающими сделать возможным режим клиента с PEAP.

Я много читал о проблемах с доступным пространством для хранения на точке доступа WA801ND . Однако мне повезло. Мне поставили WA801ND V5, который имеет двойное хранилище (8 МБ) предыдущих версий.

Тем не менее, ничего не было сказано об установке на V5 в вики № 1 и страшных инструкциях по сборке в вики № 2 (почему на сайте OpenWrt есть две вики?).

Мне, однако, повезло в два раза, потому что я нашел в git commit подробную поддержку для V5, несмотря на то, что говорят вики, и с инструкциями по прошивке.

Прочитав некоторую документацию вместе с инструкциями в git commit, наконец-то установили OpenWrt на точку доступа WA801ND.

Это позволяет получить на устройстве только встроенную прошивку для терминала, которая не поддерживает аутентификацию PEAP в режиме клиента.

Итак, первый шаг - включить поддержку PEAP.

OpenWrt поставляется с собственным менеджером пакетов, но WA801ND не имел доступа к Интернету, поэтому мне пришлось получать пакеты вручную. К сожалению , хранилище пакетов изменило структуру, так как большая часть онлайн-документации была написана, поэтому было сложно найти пакеты.

В конце концов я обнаружил, что есть два под-репозитория, один для «цели» (устройство) и один для арки (процессор).

Итак, когда я скачал и scp'd в wpad_2018-05-21-62566bc2-4_mipsel_24kc.ipkпакет /tmpна устройстве, я мог opkg remove wpad-miniтогда opkg install /tmp/wpad_2018-05-21-62566bc2-4_mipsel_24kc.ipk, что позволяет wpa_supplicant поддержку PEAP.

Я попытался настроить WA801ND с помощью файлов конфигурации, но сам по себе это большой проект. Я действительно хотел веб-интерфейс. Стандарт в OpenWrt - Luci, у которого есть куча зависимостей, которые нужно загрузить и передать на устройство через scp.

К счастью, я нашел вики-страницу со сценарием (внизу) для его автоматизации. К сожалению, сценарий был старым, отсутствовала одна или две зависимости и имел неправильный URL-адрес пакета. Я исправил это и вуаля, Люси установил!

Оттуда было легко установить соединение в режиме клиента с сетью PEAP через веб-интерфейс Luci на точке доступа WA801ND, а затем подключить локальную сеть точки доступа к порту WAN маршрутизатора AC750. Мне пришлось изменить подсеть маршрутизатора с 192.168.1.x на 192.168.2.x, чтобы она не конфликтовала с точкой доступа. Тогда все «просто сработало» (наконец-то!).

Исправленный скрипт добавлен ниже, для справки:

#!/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" 

Похожие вопросы