Wifi hotspot with linux

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Feature-rich wifi hotspot creator for Linux which provides both GUI and command-line interface. It is also able to create a hotspot using the same wifi card which is connected to an AP already ( Similar to Windows 10).

License

lakinduakash/linux-wifi-hotspot

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

  • Use aa-complain instead of complain to fix permission issue for dnsmasq
  • Fix some 5Ghz band not working issue

Thank you for all the contributions made while I’m not active on this repository.

  • Share your wifi like in Windows — Use wifi and enable hotspot at the same time.
  • Share a wifi access point from any network interface
  • Create a hotspot with VPN — The hotspot has the traffic tunnelled through VPN. Useful for devices with no VPN app support like TV or gaming consoles.
  • Share wifi via QR code
  • MAC filter
  • View connected devices
  • Includes Both command line and gui.
  • Support both 2.4GHz and 5GHz (Need to be compatible with your wifi adapter). Ex: You have connected to the 5GHz network and share a connection with 2.4GHz.
  • Customise wifi Channel, Change MAC address, etc.
  • Hide SSID
  • customize gateway IP address
  • Enable IEEE 80211n, IEEE 80211ac modes
Читайте также:  Какая файловая linux ssd

screenshot

Command line help and documentation

If you only need the command-line without GUI run make install-cli-only as root user.

  • Sometimes there are troubles with 5Ghz bands due to some vendor restrictions. If you cannot start hotspot while you are connected to 5Ghz band, Unselect Auto and select 2.4Ghz in frequency selection.
  • If any problems with RealTeK Wifi Adapters see this
  • Unable to allocate IP: firewalld issue: Please check for potential fixes: #209#166
  • dnsmasq: cannot read /tmp/create_ap.wlo1.conf.*/dnsmasq.conf: Permission denied, on Manjaro or ArchLinux ; check #183

Download the debian package from latest release

# For ubuntu only sudo add-apt-repository ppa:lakinduakash/lwh sudo apt install linux-wifi-hotspot

Linux Wifi Hotspot is available as an AUR package. You can install it manually or with your favourite AUR helper.
For example, if you use yay you can do:
yay -S linux-wifi-hotspot

  • bash
  • util-linux (for getopt)
  • procps or procps-ng
  • hostapd
  • iproute2
  • iw
  • iwconfig (you only need this if ‘iw’ can not recognize your adapter)
  • haveged (optional)

Make sure you have those dependencies by typing them in terminal. If any of dependencies fail install it using your distro’s package manager

For ‘NATed’ or ‘None’ Internet sharing method

  • make
  • gcc and g++
  • build-essential
  • pkg-config
  • gtk
  • libgtk-3-dev
  • libqrencode-dev (for qr code generation)
  • libpng-dev (for qr code generation)

On Ubuntu or debian install dependencies by,

sudo apt install -y libgtk-3-dev build-essential gcc g++ pkg-config make hostapd libqrencode-dev libpng-dev

On Fedora/CentOS/Red Hat Enterprise Linux/Rocky Linux/Oracle Linux

sudo dnf install -y gtk3-devel gcc gcc-c++ kernel-devel pkg-config make hostapd qrencode-devel libpng-devel
git clone https://github.com/lakinduakash/linux-wifi-hotspot cd linux-wifi-hotspot #build binaries make #install sudo make install 

You can launch the GUI by searching for «Wifi Hotspot» in the Application Menu or using the terminal with:

After connecting to VPN, Open wihotspot GUI. Select the virtual interface created by the VPN. In this case it is tun0

image

The wihotspot GUI uses create_ap to create and manage access points. This service and core logic was originally created by @oblique, and are now maintained in this repository.

Start the hotspot service on startup (using your saved configuration) with:

systemctl enable create_ap 

If you found a bug or you have an idea about improving this make an issue. Even a small contribution make open source world more beautiful. Please read CONTRIBUTING.md for more info.

Источник

Настройка Wi-Fi точки доступа на Linux

date

17.08.2022

Читайте также:  How to copy all files in linux

user

itpro

directory

Linux, Ubuntu

comments

комментариев 8

В этой статье мы рассмотрим, как создать точку доступа Wi-FI (Software AP) на любом компьютере или ноутбуке c Linux и беспроводным адаптером. Такую точку доступа можно использовать для организации беспроводной локальной сети в небольшом офисе или дома, или использовать для предоставления доступа в Интернет другим устройствам. В данном примере мы используем ноутбук с последней версией Ubuntu.

В первую очередь проверьте, что ваш Wi-Fi модуль поддерживает режим access point (AP). Для этого установите пакет iw:

Утилита iw используется настройки беспроводных интерфейсов (драйвер nl80211) из командной строки. Она поддерживает все новые драйверы, недавно добавленные в ядро. Старый инструмент iwconfig, использующий интерфейс Wireless Extensions, устарел, и настоятельно рекомендуется переключиться на iw и nl80211.

iw list вывести параметры безпроводного интерфейса в linux

В открывшемся списке под пунктом Supported interface modes, находим:

Это означает, что ваша Wi-Fi адаптер поддерживает работу в режиме точки доступа.

Запуск Wi-Fi Hotspot из графического интерфейса Ubuntu

В Ubuntu 20.04 LTS и более новых версиях с GNOME (3.28+) вы можете запустить точку доступа Wi-Fi прямо из графического интерфейса. Это самый простой способ для рядового пользователя.

Щелкните по значку сетевых подключений и в панели с настройками Wi-Fi выберите в выпадающем меню опцию Turn On Wi-Fi Hotspot.

параметры wifi в ubuntu

включить wi-fi hotspot в linux

В появившемся диалоговом окне укажите имя точки доступа и пароль для подключения.

ssid сети и ключ для wifi точки доступа на linux

Должна появится надпись, что ваша точка доступа активна. В этом же окне содержится QR код для подключения к вашей точке доступа Wi-Fi.

qr код для подключения к точке доступа

Используем Network Manager (nmcli) для организации точки доступа на Linux

В большинстве современных дистрибутивов Linux (Ubuntu, Debian, Mint, Fedora, CentOS и т.д.) для управления сетевыми соединениями можно использовать Network Manager. В этом примере мы покажем, как создать программную точку доступа на Linux с помощью Network Manager и утилитой командной строки nmcli.

Сначала нужно получить имя вашего wifi адаптера в системе. Выполните команду:

nmcli вывести список сетевых адаптеров в linux

В нашем примере имя устройства wifi адаптера – wlp4s0b1.

Если на вашем компьютере установлен dnsmasq (легковесный DHCP/DNS сервер), необходимо отключить его. Он будет вызывать конфликт с плагином dnsmasq в NetworkManager.

Чтобы создать точку доступа на интерфейсе 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

Читайте также:  Linux ноутбук быстро разряжается

nmcli - создать точку доступа wi-fi с помощью network manager в linux

Если вы хотите запустить точку доступа на частоте 5 Ггц и использовать более высокий канал, измените соответствующие команды на:

# 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

Популярным средством для организации точки доступа Wi-Fi на Linux системах является пакет hostapd. Установите его:

Создайте копию оригинального конфигурационного файла (/etc/hostapd/hostapd.conf). Добавьте следующую конфигурацию в hostapd.conf:

$ sudo nano /etc/hostapd/hostapd.conf

interface= wlp4s0b1 # Драйвер nl80211 подходит для большинства адаптеров WiFi driver=nl80211 # Имя вашей точки доступа ssid=MyHomeAP # номер беспроводного канала (от 1 до 13). channel=11 #Выберите режим вашей точки доступа (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g) hw_mode=g # 1=wpa, 2=wep, 3=both auth_algs=1 # разрешить подключение со всех MAC адресов, кроме занесенных в черный список. macaddr_acl=0 wpa=2 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP #Устанавливаем пароль к точке доступа wpa_passphrase=MyPass92
ieee80211n=1 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"

настройка hostapd

Теперь нужно настроить параметры беспроводного сетевого интерфейса. Необходимо задать статический IP, DNS, режим и прочие настройки. Заходим в директорию /etc/network/interfaces и добавляем следующее:

auto wlp3s0 iface wlp3s0 inet static address 10.10.0.1 netmask 255.255.255.0

Это нужно в том числе, чтобы NetworkManager не трогал сетевой интерфейс Wi-Fi. После сохранения настроек перезапустите компьютер.

Осталось настроить DHCP сервер, который будет назначать IP адреса устройствам, которые подключаются к вашей точке доступа Linux. В нашем примере мы будем использовать легкий dnsmasq:

Отредактируйте конфигурационный файл dnsmasq.conf. Укажем, что dnsmasq будет работать на интерфейсе wlp4s0b1, и выдавать IP адреса из диапазона 10.10.0.x. В самом простом случае конфигурация может быть такой:

$ sudo nano /etc/dnsmasq/dnsmasq.conf

interface=wlp4s0b1 dhcp-range=10.10.0.2,10.10.0.100,12h #Задать сервер DNS 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

Также можно использовать интерфейс bridge для организации доступа клиентов из локальной сети в Интернет (этот пункт мы опустим, чтобы не загромождать статью).

# systemctl start dnsmasq.service
# systemctl start hosapd

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

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник

Оцените статью
Adblock
detector