Раздать вай фай линукс

Настройка точки доступа в Ubuntu

В бюджетных ноутбуках часто используются беспроводные сетевые адаптеры от компании Broadcom. Если в Windows не возникает никаких проблем при создании точки доступа на карте практически любого производителя, то в Linux про точку доступа мы уже не говорим, просто подключиться к сети через WiFi может вызвать очень серьезные затруднения. Правда, в последнее время ситуация немного улучшилась.

В этой инструкции мы рассмотрим как создать точку доступа Wifi Ubuntu, на примере карты на карте Broadcom. В других дистрибутивах действия и настройки будут похожие, только файлы и команды установки могут немного отличаться. Мы разберемся как сделать точку доступа wifi через графический интерфейс и в терминале.

Подготовка к созданию точки доступа

Для карт Broadcom есть четыре драйвера: стандартный и по умолчанию включенный b43, входящие в состав ядра brcmsmac и brcmfmac, а также проприетарный драйвер broadcom linux под названием wl. Сразу скажу что проприетарный драйвер совсем никудышный, так как не поддерживает не только режим точки доступа, но и неразборчивый режим тоже.

Стандартный b43 и brcmfmac для карты B4313 не подходят потому что не работают в режиме точки доступа, хотя эти уже поддерживают режим монитора. Посмотреть поддерживает ли ваш драйвер режим точки доступа (Master Mode) можно на этой странице. Остается только brcmsmac, который можно заставить раздать wfi linux. Сначала разберемся с драйверами ядра. Теперь, когда мы определились что будем использовать, перейдем к настройке broadcom linux. Смотрим какой драйвер загружен:

Если есть вот такие строчки, то все хорошо и драйвер загружен правильно:

brcmsmac 497481 0
cordic 1024 1 brcmsmac
brcmutil 4596 1 brcmsmac

Но если загружен b43 или broadcom-wl их нужно удалить. Например, для b43:

Лучше полностью удалить проприетарный драйвер broadcom linux из системы если он установлен и добавить в черный список ненужные драйверы, оставив только brcmsmac. Чтобы при перезагрузке грузился только он, для этого добавляем такие строчки в файл /etc/modprobe.d/50-blacklist.conf:

Читайте также:  Alt linux microsoft office

sudo vi /etc/modprobe.d/50-blacklist.conf

blacklist b43
blacklist b43-legacy

Для сетевых карт других производителей, вам следует сначала попробовать раздавать Wifi и только если не получится пробовать использовать другой драйвер.

Настройка точки доступа Wifi в Ubuntu

Чтобы создать точку доступа Ubuntu сначала нужно кликнуть по значку сети в правом верхнем углу и выбрать Параметры Wifi:

В открывшемся меню кликните по кнопке бутерброда и выберите Включить точку доступа:

Перед активацией компьютер предупредит вас, что вы не сможете подключится к интернету по Wifi если включёна точка доступа:

Затем покажет имя сети и пароль от неё, который создаётся автоматически:

Используя эти данные вы можете подключится к только что созданной точке доступа. Всё должно работать. Отключить её можно здесь же, надо только кликнуть по соответствующему переключателю.

Настройка точки доступа вручную

Для того чтобы раздать Wifi вручную нам понадобится пакет hostapd. Установите его командой:

Стандартная конфигурация программы нам не подойдет, поэтому оригинальный конфигурационный файл переименовываем и создаем вот такой:

sudo vi /etc/hostapd/hostapd.conf

interface=wlp3s0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
macaddr_acl=1
ssid=LosstAccessPoint
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=3
ieee80211n=1
wmm_enabled=1
eap_server=0
eap_message=hello
eapol_key_index_workaround=0
own_ip_addr=127.0.0.1
wpa=2
wpa_passphrase=your_password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP TKIP
rsn_pairwise=CCMP

Здесь и далее wlp3s0 — ваш сетевой интерфейс wifi адаптера. В поле ssid укажите желаемое имя точки доступа, в wpa_passphrase — пароль.

Сервис файл hostapd по умолчанию замаскирован, его нужно розмаскировать, для этого выполните:

sudo systemctl unmask hostapd

Затем в конфигурационном файле /etc/default/hostapd в строчке DAEMON_CONF добавьте путь к конфигурационному файлу:

sudo vi /etc/default/hostapd

С настройкой hostapd все, но запускать точку доступа еще рано, я бы даже сказал очень рано. Перейдем к конфигурации сетевого интерфейса. Нам нужно задать статический ip, DNS, режим и еще несколько настроек. Для этого идем в /etc/network/interfaces и добавляем следующие строки:

auto wlp3s0
iface wlp3s0 inet static
address 10.10.0.1
netmask 255.255.255.0

Это нужно в том числе для того, чтобы NetworkManager не трогал сетевой интерфейс Wifi. После сохранения настроек перезапустите компьютер. Осталось настроить DHCP сервер для раздачи IP пользователям, которые будут подключаться к нашей сети. Для этого используем dnsmasq:

После установки открываем конфигурационный файл и добавляем туда несколько строк, чтобы программа слушала интерфейс wlp3s0, и выдавала адреса в диапазоне 10.10.0.x:

sudo vi /etc/dnsmasq/dnsmasq.conf

dhcp-range=10.10.0.2,10.10.0.255,255.255.255.0,12h
interface=wlp3s0
listen-address=127.0.0.1
dhcp-host=00:0f:00:5a:b6:42,10.10.0.1
cache-size=300
dhcp-authoritative
server=8.8.8.8
no-resolv
address=/backbone/10.10.0.1
dhcp-option=3,10.10.0.1
dhcp-option=1,255.255.255.0
log-queries
log-dhcp

Читайте также:  Linux view kernel version

В этом конфигурационном файле вам надо кое-что поправить, а именно MAC адрес в поле dhcp_host замените значение 00:0f:00:5a:b6:42 на своё для интерфейса wlp3s0. Его можно узнать командой:

ip addr list | grep wlp3s0

В выводе команды ищите параметр link:

Осталось настроить iptables для пропускания трафика и настроить автозагрузку всего этого, но предлагаю пойти другим путем. Мы напишем скрипт, которым можно будет в любой момент раздать Wifi в Linux, а также остановить раздачу. Вот сам скрипт:

sudo vi /usr/local/bin/wifi_access_point.sh

#!/bin/bash
case $1 in
start )
# на случай если интерфейс программно отключен
rfkill unblock all
# запускаем сервисы
systemctl stop systemd-resolved
systemctl start hostapd
systemctl start dnsmasq
# включаем форвардинг пакетов
sysctl net.ipv4.ip_forward=1
# правила для iptables
iptables -t nat -A POSTROUTING -o enp2s0f0 -j MASQUERADE
iptables -A FORWARD -i enp2s0f0 -o wlp3s0 -m state —state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlp3s0 -o enp2s0f0 -j ACCEPT
;;
stop )
systemctl stop hostapd
systemctl stop dnsmasq
systemctl start systemd-resolved
sysctl net.ipv4.ip_forward=0
;;
esac

После сохранения скрипта дайте ему права на выполнение:

sudo chmod ugo+x /usr/local/bin/wifi_access_point.sh

И вот только теперь можно тестировать. Для чтобы раздать Wifi Ubuntu используйте:

sudo /usr/local/bin/wifi_access_point.sh start

sudo /usr/local/bin/wifi_access_point.sh stop

Вы можете добавить этот скрипт в автозагрузку, чтобы настройка точки доступа wifi linux выполнялась автоматически.

Выводы

Вот и все. Теперь вы знаете как выполняется настройка точки доступа Ubuntu и сможете раздать Wifi на своем компьютере или ноутбуке. Это довольно сложный процесс, но если разобраться, то вполне можно выполнить. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

🐧 Как создать точку доступа Wi-Fi в Ubuntu / Debian / Fedora / CentOS / Arch

В этом руководстве я расскажу о простых шагах по созданию точки доступа Wi-Fi на компьютере с Ubuntu / Debian / Fedora / CentOS / Arch Linux с помощью инструмента управления сетью командной строки nmcli.

Я предпочитаю этот метод, так как существует много сред рабочего стола, как и многие дистрибутивы Linux.

Утилита командной строки nmcli (интерфейс командной строки NetworkManager) используется для управления NetworkManager и создания отчетов о состоянии сети.

Вы можете использовать nmcli для создания, отображения, редактирования, удаления, активации и деактивации сетевых подключений, а также для контроля и отображения состояния сетевых устройств.

Читайте также:  Устройства файловой системы linux

Создайте точку доступа Wi-Fi в Ubuntu / Debian / Fedora / CentOS / Arch

Давайте теперь посмотрим, как создать точку доступа Wi-Fi на компьютере с Linux за 1 минуту.

Шаг 1: Определите сетевое устройство WiFi

Получите имя сетевого интерфейса Wi-Fi.

$ ip link show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp0s31f6: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether e8:6a:64:86:44:cc brd ff:ff:ff:ff:ff:ff 3: wlp6s0: mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether 20:79:18:5e:4b:60 brd ff:ff:ff:ff:ff:ff 4: virbr0: mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:8e:f6:e5 brd ff:ff:ff:ff:ff:ff 5: virbr0-nic: mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:8e:f6:e5 brd ff:ff:ff:ff:ff:ff 6: br1: mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:bd:90:53 brd ff:ff:ff:ff:ff:ff 7: br1-nic: mtu 1500 qdisc fq_codel master br1 state DOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:bd:90:53 brd ff:ff:ff:ff:ff:ff

Мой интерфейс называется wlp6s0, это, безусловно, будет отличаться от машины к машине. Если это работает, следующая команда должна пердоставить вам вывод.

Шаг 2. Создайте новую точку доступа

Создайте сетевой профиль для вашего Hotspot.

$ IFNAME="wlp6s0" $ CON_NAME="myhotspot" $ nmcli con add type wifi ifname $IFNAME con-name $CON_NAME autoconnect yes ssid $CON_NAME

Шаг 3: Установите метод подключения

Установите метод подключения как общий.

nmcli con modify $CON_NAME 802-11-wireless.mode ap 802-11-wireless.band bg ipv4.method shared

Шаг 4: Установите пароль Hotspot

Мы не хотим, чтобы наша точка доступа была открыта для всех, поэтому давайте установим для нее кодовую фразу.

nmcli con modify $CON_NAME wifi-sec.key-mgmt wpa-psk nmcli con modify $CON_NAME wifi-sec.psk "MyStrongHotspotPass"

Поднимите соединение, когда закончите.

$ nmcli con up $CON_NAME Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)

Проверьте подробную информацию о подключении.

$ nmcli connection show $CON_NAME

Шаг 5: Подтвердите информацию об IP.

Проверьте интерфейс и информацию о IP.

$ nmcli connection show NAME UUID TYPE DEVICE Hostspot ad31dc08-9175-4fe2-85e3-9f33324e1447 wifi wlp6s0 $ ip ad show wlp6s0 3: wlp6s0: mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 20:79:18:5e:4b:60 brd ff:ff:ff:ff:ff:ff inet 10.42.0.1/24 brd 10.42.0.255 scope global noprefixroute wlp6s0 valid_lft forever preferred_lft forever inet6 fe80::a119:b393:761c:d740/64 scope link noprefixroute valid_lft forever preferred_lft forever

Источник

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