Я только что переехал в более просторную квартиру, и сигнал моего маршрутизатора достиг пика прямо перед его краем, то есть, где я только что установил свой домашний сервер, старый ноутбук с сервером Ubuntu, который я использую для хранения мультимедиа и в качестве сервера печати.
Таким образом, идея состоит в том, чтобы заставить сервер действовать как расширитель диапазона, проблема в том, что я не могу найти никакой документации о том, как это сделать.
Можно ли это сделать?
Я использую этот скрипт, описанный в этом посте, чтобы создать точку доступа на моем сервере 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, но результат тот же.
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 сервера человечности
Важные примечания:
NO_VIRT=0
необходимость если WIFI_IFACE
и INTERNET_IFACE
то же.IEEE80211N IEEE80211AC HT_CAPAB VHT_CAPAB
для получения лучшей производительности от Wi-Fi сервера человечности но требуется еще некоторое знание об аппаратных средствах Wi-FiSHARE_METHOD=nat
потому что SHARE_METHOD=bridge
дал мне ошибку, но я предполагаю установку некоторого requirments, и/или обновление ядра зафиксировало бы его.Инструкции ниже делают предположение, что Ноутбук (Сервер) подключен, как обозначено ниже - прощают мое искусство 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
и вот то, что необходимо будет сделать:
sudo apt install -y dnsmasq
/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
У меня есть подобная установка, которую я иногда использую, когда я тестирую. При повреждении чего-нибудь в системе Вы один ответственны за поломку, и Вы добираетесь для хранения всех частей.