В этой статье мы рассмотрим, как создать точку доступа Wi-FI (Software AP) на любом компьютере или ноутбуке c Linux и беспроводным адаптером. Такую точку доступа можно использовать для организации беспроводной локальной сети в небольшом офисе или дома, или использовать для предоставления доступа в Интернет другим устройствам. В данном примере мы используем ноутбук с последней версией Ubuntu.
В первую очередь проверьте, что ваш Wi-Fi модуль поддерживает режим access point (AP). Для этого установите пакет iw:
$ sudo apt install iw
Выполните команду:
$ iw list
В открывшемся списке под пунктом Supported interface modes, находим:
Это означает, что ваша Wi-Fi адаптер поддерживает работу в режиме точки доступа.
В Ubuntu 20.04 LTS и более новых версиях с GNOME (3.28+) вы можете запустить точку доступа Wi-Fi прямо из графического интерфейса. Это самый простой способ для рядового пользователя.
Щелкните по значку сетевых подключений и в панели с настройками Wi-Fi выберите в выпадающем меню опцию Turn On Wi-Fi Hotspot.
В появившемся диалоговом окне укажите имя точки доступа и пароль для подключения.
Должна появится надпись, что ваша точка доступа активна. В этом же окне содержится QR код для подключения к вашей точке доступа Wi-Fi.
В большинстве современных дистрибутивов Linux (Ubuntu, Debian, Mint, Fedora, CentOS и т.д.) для управления сетевыми соединениями можно использовать Network Manager. В этом примере мы покажем, как создать программную точку доступа на Linux с помощью Network Manager и утилитой командной строки nmcli.
Сначала нужно получить имя вашего wifi адаптера в системе. Выполните команду:
$ nmcli d
В нашем примере имя устройства wifi адаптера – wlp4s0b1 .
Чтобы создать точку доступа на интерфейсе wlp4s0b1 с именем сети MyHomeWiFI и ключом сети (паролем) SuperPass21, выполните команды:
# nmcli con add type wifi ifname wlp4s0b1 mode ap con-name MyHomeWiFI ssid MyHomeWiFI
# nmcli con modify MyHomeWiFI 802-11-wireless.band bg
# nmcli con modify MyHomeWiFI 802-11-wireless.channel 1
# nmcli con modify MyHomeWiFI 802-11-wireless-security.key-mgmt wpa-psk
# nmcli con modify MyHomeWiFI 802-11-wireless-security.proto rsn
# nmcli con modify MyHomeWiFI 802-11-wireless-security.group ccmp
# nmcli con modify MyHomeWiFI 802-11-wireless-security.pairwise ccmp
# nmcli con modify MyHomeWiFI 802-11-wireless-security.psk SuperPass21
# nmcli con modify MyHomeWiFI ipv4.method shared
Запустите вашу точку доступа
# nmcli con up MyHomeWiFI
# nmcli con modify MyHomeWiFI 802-11-wireless.band a
# nmcli con modify MyHomeWiFI 802-11-wireless.channel 35
По умолчанию DHCP сервер в NetworkManager выдает клиентам адреса из диапазона 10.42.0.x/24 (при этом 10.42.0.1 это адрес вашей точки доступа). Вы можете изменить этот диапазон:
# nmcli con modify MyHomeWiFI ipv4.addr 192.168.31.1/24
Чтобы отключить точку доступа, выполните команду:
# nmcli con down MyHomeWiFI
Чтобы полностью удалить ее:
# nmcli con delete MyHomeWiFI
Популярным средством для организации точки доступа Wi-Fi на Linux системах является пакет hostapd . Установите его:
$ sudo apt install hostapd
Создайте копию оригинального конфигурационного файла (/etc/hostapd/hostapd.conf). Добавьте следующую конфигурацию в hostapd.conf:
$ sudo nano /etc/hostapd/hostapd.conf
interface= wlp4s0b1_x000D_# Драйвер nl80211 подходит для большинства адаптеров WiFi_x000D_driver=nl80211_x000D_# Имя вашей точки доступа_x000D_ssid=MyHomeAP_x000D_# номер беспроводного канала (от 1 до 13)._x000D_channel=11_x000D_#Выберите режим вашей точки доступа (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g)_x000D_hw_mode=g_x000D_# 1=wpa, 2=wep, 3=both_x000D_auth_algs=1_x000D_# разрешить подключение со всех MAC адресов, кроме занесенных в черный список._x000D_macaddr_acl=0_x000D_wpa=2_x000D_wpa_key_mgmt=WPA-PSK_x000D_wpa_pairwise=TKIP CCMP_x000D_#Устанавливаем пароль к точке доступа_x000D_wpa_passphrase=MyPass92
ieee80211n=1_x000D_ht_capab=[HT40-][SHORT-GI-40]
Размаскируйте сервис hostpad:
$ sudo systemctl unmask hostapd
Далее в параметре DAEMON_CONF файла /etc/default/hostapd укажите путь к конфигурационному файлу:
$ sudo nano /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Теперь нужно настроить параметры беспроводного сетевого интерфейса. Необходимо задать статический IP, DNS, режим и прочие настройки. Заходим в директорию /etc/network/interfaces и добавляем следующее:
# nano /etc/network/interfaces
auto wlp3s0_x000D_iface wlp3s0 inet static_x000D_address 10.10.0.1_x000D_netmask 255.255.255.0
Это нужно в том числе, чтобы NetworkManager не трогал сетевой интерфейс Wi-Fi. После сохранения настроек перезапустите компьютер.
Осталось настроить DHCP сервер, который будет назначать IP адреса устройствам, которые подключаются к вашей точке доступа Linux. В нашем примере мы будем использовать легкий dnsmasq:
$ sudo apt install dnsmasq
Отредактируйте конфигурационный файл dnsmasq.conf. Укажем, что dnsmasq будет работать на интерфейсе wlp4s0b1, и выдавать IP адреса из диапазона 10.10.0.x. В самом простом случае конфигурация может быть такой:
$ sudo nano /etc/dnsmasq/dnsmasq.conf
interface=wlp4s0b1_x000D_dhcp-range=10.10.0.2,10.10.0.100,12h_x000D_#Задать сервер DNS_x000D_server=/www.google.com/8.8.8.8
Чтобы ваш хост Linux маршрутизировал пакеты между Wi-Fi клиентами и внешним интернет подключением, нужно включить роутинг и добавить правило в iptables:
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE
Запустите службы:
# systemctl start dnsmasq.service
# systemctl start hosapd
Теперь вы можете подключиться к вашей точке доступа с любого клиента, проверить что он получил IP адрес из заданного диапазона и может выходить в интернет.
Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…
В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…
Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…
Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…
Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…
В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…