Использование сервера в качестве расширителя диапазона Wi-Fi

Я только что переехал в более просторную квартиру, и сигнал моего маршрутизатора достиг пика прямо перед его краем, то есть, где я только что установил свой домашний сервер, старый ноутбук с сервером Ubuntu, который я использую для хранения мультимедиа и в качестве сервера печати. ​​

Таким образом, идея состоит в том, чтобы заставить сервер действовать как расширитель диапазона, проблема в том, что я не могу найти никакой документации о том, как это сделать.

Можно ли это сделать?

5
задан 26 December 2013 в 02:31

3 ответа

Я использую этот скрипт, описанный в этом посте, чтобы создать точку доступа на моем сервере Ubuntu:

http://www.webupd8.org/2013/06/how-to-set-up -wireless-hotspot-access.html

По сути, это помогает вам создать горячую точку. Вам понадобится два интерфейса на компьютере, который вы хотите использовать: один подключен к Интернету и обслуживает точку доступа.

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install ap-hotspot

Когда он установлен, запустите:

sudo ap-hotspot configure

Он задаст вам несколько вопросов (интернет-интерфейс, беспроводной интерфейс для создания точки доступа, пароль), а затем можно будет запустить точку доступа и остановился на:

sudo ap-hotspot start
sudo ap-hotspot stop

Обратите внимание, что этот скрипт автоматизирует процесс создания точки доступа, которую можно выполнить вручную, установив и сконфигурировав dns-masq и hostapd, но результат тот же.

0
ответ дан 26 December 2013 в 02:31

create_ap является большим инструментом для создания любой точки доступа.

Я смог создать Wi-Fi exteder использование следующей конфигурации:

CHANNEL=default
GATEWAY=192.168.2.1
WPA_VERSION=2
ETC_HOSTS=0
DHCP_DNS=gateway
NO_DNS=0
NO_DNSMASQ=0
HIDDEN=0
MAC_FILTER=0
MAC_FILTER_ACCEPT=/etc/hostapd/hostapd.accept
ISOLATE_CLIENTS=0
SHARE_METHOD=nat
IEEE80211N=0
IEEE80211AC=0
HT_CAPAB=[HT40+]
VHT_CAPAB=
DRIVER=nl80211
NO_VIRT=0
COUNTRY=
FREQ_BAND=2.4
NEW_MACADDR=
DAEMONIZE=0
NO_HAVEGED=0
WIFI_IFACE=wlan0
INTERNET_IFACE=wlan0
SSID=MyAccessPoint
PASSPHRASE=12345678
USE_PSK=0

Эта конфигурация в основном создает новую горячую точку с SSID: MyAccessPoint и пароль: 12345678, который соединится с Интернетом через INTERNET_IFACE сервера человечности

Важные примечания:

  1. NO_VIRT=0необходимость если WIFI_IFACE и INTERNET_IFACE то же.
  2. Возможно играть с этими параметрамиIEEE80211N IEEE80211AC HT_CAPAB VHT_CAPAB для получения лучшей производительности от Wi-Fi сервера человечности но требуется еще некоторое знание об аппаратных средствах Wi-Fi
  3. Я использовал SHARE_METHOD=nat потому что SHARE_METHOD=bridge дал мне ошибку, но я предполагаю установку некоторого requirments, и/или обновление ядра зафиксировало бы его.
0
ответ дан 23 November 2019 в 10:43

Инструкции ниже делают предположение, что Ноутбук (Сервер) подключен, как обозначено ниже - прощают мое искусство ASCII. А именно, то, что это имеет проводное соединение с LAN и также имеет Беспроводной интерфейс.

                      ^             ^
                      |             |    SSID: This here be my WiFi
                      |             |     PSK: St@yTh3#ell0ut!
                      /             \ CHANNEL: 6
 -----------------   /               \   -----------------
|    Laptop   |   |wlan0           wlan0|   |  Router     |
|   (Server)   ---|                     |---              |
|              ---|                     |---              |
|             |   |eth0 --       -- eth0|   |             |
 -----------------        |     |        -----------------
                          |     | 
                     -----------------
                    |     Switch      |
                     -----------------

В этом сценарии можно расширить WiFi Маршрутизатора при помощи следующей конфигурации. Шаги ниже требуют этого hostapd и dnsmasq будьте установлены на Ноутбуке:

cat <<EOF | ~/extendwifi.sh
#!/bin/bash
sudo apt install -y hostapd
sudo mv /etc/hostapd.conf{,.old}
wget -qO- https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf | egrep -v '^$|^#' | sed -e 's/test/This here be my WiFi/;s/rts_threshold=-1/rts_threshold=2347/;s/fragm_threshold=-1/fragm_threshold=2346/' | sudo tee /etc/hostapd/hostapd.conf
echo -e "wpa=2\nwpa_passphrase=St@yTh3#ell0ut!\nwpa_key_mgmt=WPA-PSK WPA-EAP WPA-PSK-SHA256 WPA-EAP-SHA256" | sudo tee /etc/hostapd/hostapd.conf
EOF
chmod +x ~/extendwifi.sh
~/extendwifi.sh

После того как сценарий выше был выполнен, необходимо перезапустить hostapd сервис systemctl restart hostapd

Если Вы имеете WiFiAnalyzer (open-source) установленный на Вашем телефоне на базе Android, затем необходимо смочь теперь видеть, эта новая точка доступа (проверьте MAC-адреса). Видеть его? Хороший! В противном случае проверьте свою конфигурацию дважды. Знаменитый канал; удостоверьтесь, что изменили его в /etc/hostapd/hostapd.conf если они появляются на том же канале.

Теперь, так как эта процедура превратила Ваш непритязательный Ноутбук в Маршрутизатор, мы теперь должны иметь дело с некоторыми сетевыми битами. Для этого Вам определенно будет нужно dnsmasq и вот то, что необходимо будет сделать:

  • Установка dnsmasq - sudo apt install -y dnsmasq
  • Включите передачу IP (файл /etc/sysctl.conf)
    • nano /etc/sysctl.conf
    • Некомментарий net.ipv4.ip_forward=1
    • Сохраните файл и выйдите из редактора
    • sudo sysctl -p

Теперь мы должны создать конфигурацию для dnsmasq. Давайте предположим, что мы создадим новую подсеть со следующими деталями: - IP подсети: 10.11.12.0/24 - диапазон DHCP: 10.11.12.13 к 10.11.12.32 - Это дает Вам 20 устройств, которые можно присоединить к этой подсети Wi-Fi. - Увеличение, если Вам нужно более - wlan0 IP: 10.11.12.1/24 - необходимо будет так или иначе добавить этот IP к интерфейсу - существует много учебных руководств о том, как выполнить это в Интернете - Период Арендного договора: 12 часов - DNS-сервер: 192.168.1.1 - Предполагающий, что Маршрутизатор в IP 192.168.1.1 и является также DNS-сервером

Скопируйте и вставьте строки ниже на терминале и совершите нападки, войдите:

cat <<EOF | sudo tee /etc/hostapd_dnsmasq.conf
bind_interfaces
interface=wlan0
dhcp-range=10.11.12.13,10.11.12.32,255.255.255.0,12h # increase if you need more
dhcp-option=option:router,10.11.12.1
dhcp-option=option:dns-server,192.168.1.1
EOF

Теперь мы должны создать сервисный файл для запуска dnsmasq сервиса

Скопируйте и вставьте строки ниже на терминале и совершите нападки, войдите:

cat <<EOF | sudo tee /etc/systemd/system/hostapd_dnsmasq.service
[Unit]
Description=DHCP and DNS caching server for wlan1.
After=network.target

[Service]
ExecStartPre=/sbin/iptables -t nat -A POSTROUTING ! -o wlan0 -j MASQUERADE
ExecStart=/usr/sbin/dnsmasq -k --conf-file=/etc/hostapd_dnsmasq.conf
ExecStopPost=/sbin/iptables -t nat -D POSTROUTING ! -o wlan0 -j MASQUERADE
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=300

[Install]
WantedBy=multi-user.target
EOF

Теперь, когда все остатки существуют, давайте запустим сервис:

sudo systemctl restart hostapd_dnsmasq

Я всегда использую restart даже при том, что сервис останавливается. Это - моя лучшая практика.

Если все работает, как предназначено, то можно включить сервис, таким образом, он запускается автоматически на перезагрузке Ноутбука:

sudo systemctl enable hostapd_dnsmasq

Приятного отдыха!

NOTE: Если Ваш Ноутбук не имеет порта RJ45, то Ваша единственная опция состоит в том, чтобы использовать несколько аппаратных ключей WiFi и определенно другой SSID для нового WiFi AP. Конфигурация будет подобна; так как основное различие будет этим, Вы не будете расширять свой текущий WiFi, а скорее создавать новый.

CAVEAT EMPTOR У меня есть подобная установка, которую я иногда использую, когда я тестирую. При повреждении чего-нибудь в системе Вы один ответственны за поломку, и Вы добираетесь для хранения всех частей.

0
ответ дан 23 November 2019 в 10:43

Другие вопросы по тегам:

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