Беспроводная точка доступа, используя Linux
Самый первый шаг, конечно же:
Мда, в исходниках уже есть 2.0. Такой он, Debian stable. Но на самом деле это нам не особо помешает — версия 1.0 у меня работает достаточно стабильно.
Настройка:
Отредактировать файл /etc/default/hostapd.conf. В нём раскомментировать строку вида Это путь к файлу конфигурации демона hostapd.
Затем идем дальше — редактировать /etc/hostapd/hostapd.conf. Предоставлю содержимое моего файла конфигурации. Предупреждаю, парсер конфигурационных опций у этого демона очень чувствителен и ругается даже на пустые строки с пробелом. На комментарии не ругается.
Сетевой интерфейс беспроводной карты
Драйвер сетевой карты — обычно для hostapd отлично работает nl80211, не вижу смысла менять, да и говорят, что он работает в большинстве случаев.
Название точки доступа, т.н. SSID
Режим работы сетевой карты — 801.11b/g/n. На самом деле — там всегда должно оставаться g, даже если карта способна на n, для настройки режима n придётся кое-что поменять, смотрите дальше:
Беспроводной канал — от 1 до 13. Для лучшей производительности рекомендуются 1, 6 или 11 канал.
Версия WPA
Пароль беспроводной точки
Дополнительные настройки WPA2:
Следующая опция устанавливает блокировку MAC-адресов. Пока не знаю, как это настроить, да и штука довольно бесполезная, но все говорят, что без блокировки эту опцию нужно выставить в ноль — что я и сделал:
Конфиг автоматически проверяется перед запуском, так что — смело пробуйте запустить hostapd. Команды управления:
Напомню — также в Debian можно использовать команды вида service hostapd start, что легче в написании.
Пару шагов для устойчивости:
- Нельзя забывать, что для шифрования WPA/WPA2 пароль должен быть не короче 8 символов. Если поменять пароль на лету, используя SSH сессию через беспроводной канал, можно внезапно отрезать себя от сервера — hostapd не захочет запускаться и единственное средство связи с сервером будет потеряно. Работает — не трогай, ну а если трогаешь — трогай осторожно.
- В случае многопользовательской системы советую поставить права чтения файлов вида 700, чтобы простые пользователи не могли узнать пароль для точки доступа — если вас это волнует, конечно.
Что ещё могу сказать? С мобильными устройствами проблем нет, с ноутбуком под Windows 7 — крайне редко (примерно раз-два в месяц) не получается подключиться к точке. Лечится командой service hostapd restart, велика вероятность, что в новых релизах эта проблема убрана — есть версия hostapd 2.0.0, но компилировать и ставить её я пока что не пытался.
Пока всё. К точке можно попробовать подключиться, но… Для успешного подключения к точке доступа нужен DHCP сервер, без него к точке полноценно не подключишься — те же операционные системы не дадут этого сделать, поскольку без получения адреса само подключение не имеет особого смысла. Вот его и настроим!
Когда я только начинал учиться настраивать сервера под свои нужды, первое, на что я тогда я наткнулся — это пакет isc-dhcp-server, его я и планировал предложить, и статья уже была готова, но… Я нашёл dnsmasq, и моя жизнь изменилась в лучшую сторону. Dnsmasq — это и кэширующий DNS, и DHCP сервер со своим набором различных фич. Как только я заглянул в его конфиг, мое зрение улучшилось, все мысли в мозгу внезапно стали упорядоченными и я достиг просветления. Реально, конфиг очень простой и понятный. Но пока подготавливаем площадку для работы dnsmasq. Что же делать?
1) Придумать, как будут выглядеть адреса в нашей локальной сети. Я выбрал адреса типа 192.168.51.x.
2) Настроить сетевой интерфейс, на котором будет работать dnsmasq. На самом деле — очень важный шаг, который пропускают многие в своих мануалах по настройке DHCP-серверов. Дело в том, что компьютеру, на котором работает DHCP-сервер, необходимо прописать статический адрес — кто выдаст адрес DHCP-серверу, если он сам не может запуститься без адреса, а адрес себе он выдать не может, потому что не запущен?
Итак, открываем для редактирования файл /etc/network/interfaces и добавляем туда абзац вида:
Сохраняем и перезапускаем наш сетевой интерфейс, на котором настроен DHCP:
Проверяем состояние, сверяем настройки с теми, что должны быть:
3) Нужно удалить любые DNS и DHCP серверы, чтобы dnsmasq мог спокойно запуститься — иначе выдаёт ошибку. У меня были установлены bind9 и isc-dhcp-server, пришлось избавиться от них. Если работаем по SSH из сети, в которой раньше адреса раздавал покойный DHCP-сервер, не перезагружаемся — выдавать адреса уже некому.
4) Нужно создать условия для работы сервера — создать пользователя для того, чтобы под ним запускать dnsmasq, прописать в системных настройках DNS-сервера, к которым dnsmasq будет обращаться и ещё пару мелочей.
Прописываем DNS сервера Гугла. Правда, первой строчкой у нас будет localhost. Это сделано для того, чтобы остальные системные приложения на нашем же сервере, когда им надо получить адрес от DNS-сервера, обращались сначала к dnsmasq, а не к Гуглу. Ну а dnsmasq достаточно умён, чтобы игнорировать эту строчку:
Нужно защитить это файл от перезаписи при каждом запуске системы. Перезаписывает его dhclient, если что. Честно говоря, блокировка от записи — лишь один из способов того, как не допустить перезапись =) Есть и другие, но этот самый простой:
Что же, если вы по каким-либо причинам считаете блокирование файла неверным путём или также хотите использовать DNS, которые столь настойчиво предлагает dhclient? Тогда, как советует merlin-vrn, нужно использовать программу resolvconf.
Если пакет resolvconf ещё не установлен, устанавливаем. Единственное, что нужно для того, чтобы прописать статический адрес DNS для системы — отредактировать /etc/resolvconf/resolv.conf.d/base, вписав туда всё, что мы бы вписали в /etc/resolv.conf:
service resolvconf reload — готово!
Добавляем группу и пользователя:
5) Ставим Dnsmasq, он запускается и готов к работе, но мы его отключаем — ещё не настроен, нечего ему тут делать:
6) Чистим оригинальный файл от стандартного конфига:
Ну а теперь мы готовы настраивать. Скажу сразу — у dnsmasq много разных опций, которые я при написании статьи подробно описывал в комментариях… Пока не понял, что топик раздулся до неприличных и нечитаемых размеров, как будто недостаточно того, что статья и так переполнена текстом и отформатирована, как кусок незнамо чего. Поэтому — я оставлю конфиг с самыми важными без длинных комментариев и всяких дополнительных опций, а конфиг с дополнительными опциями будет под спойлером.
Источник
Раздача WiFi с Linux Mint 18.2 Sonya
Ребята , прошу обратить внимание. я новичок и незнаю как это можно сделать! Ну вот к делу , как раздать WiFi с Linux Mint ? Посмотри пару видео таки не разобрался , самые толковые помогите прошу!!
Ты не особенный. На тебя обратят внимания ровно столько же, сколько на всех. А если пытаться его принудительно на себя обратить, реакция будет отрицательной.
я новичок и незнаю как это можно сделать!
Это абсолютно не важно. Не пытайся давить на жалость.
Это тоже ничему не поможет.
Ну вот к делу , как раздать WiFi с Linux Mint ?
Спасибо за ссылку. Буду ее посылать тем кто не умеет этого делать
Молодец, грамотно послал!
Сразу видно сноба.
Вот о чем подумает новичок? Что на лоре обсуждают отказ от ответа, но не пытаются помочь.
Хотя да, неужели кроме видеоуроков ничего нет? Что за молодежь то пошла.
если спрашивают, то надо помочь. Как правило, человек своими словами объяснит и научит гораздо быстрее и эффективнее, чем ты поймешь из мегазаумных RTFM.
Поэтому я редко читаю маны, там хрен проссышь только после сотого раза чтения, ибо написано какими-то особо одаренными. Иногда вообще не объясняется синтаксис команды.
Вообще там достаточно в апплете к NM ткнуть один раз мышкой.
Давай, объясни мне своими словами про маршрутизацию в линуксах, да так чтоб это был не цикл статей, а один комментарий. 🙂 Да, имей в виду, что я не знаю вообще ни чего!
Уверен, по твоей маршрутизации есть и такие лекции
По первой ссылке лектор своими словами таки объясняет.
Давай, объясни мне своими словами про маршрутизацию в линуксах, да так чтоб это был не цикл статей, а один комментарий. 🙂
Маршрутизация — гоняем пакеты сетевые туда и обратно, что тут такого. Я тоже знаю лишь что такое DHCP-сервер 🙂
Ну вот: чтобы просто понять что нужно и хотя бы переделать пример из сети (как по моей ссылке) нужно хотя представлять что такое «сеть», интерфейс и его имя. Действительно, про айпитаблес можно и опустить обойдясь копипастом. Но база нужна.
А вот тыкнуть в апплете одну кнопочку — не нужно.
Подозреваю что тс установил какую-нить мяту недоделанную, т.к. в том же гноме все ясно и понятно.
там хрен проссышь только после сотого раза чтения, ибо написано какими-то особо одаренными
Скорее, читаются какими-то особо одарёнными.
спасибо что поспамили и не ответили на мой вопрос =)
Я ответил, не жужжи. Повторю, если оно утонуло во флуде: в гномоском апплете управления сетью одна галка/кнопка. А вот радикальная настройка из консоли: http://help.ubuntu.ru/wiki/sharing_internet_small Тебе тут только поменять имя интерфейса на тот, который у тебя смотрит в интернет.
Ну тогда пусть их читают неодаренные.
Собственно, ты смог только огрызнуться по-своему, но получилось «сам тупой»
Поэтому себе подобных одаренных манописцев читай сам, дорогой.
Тем более, что не все спецы в *никсе имеют вышку, а с ней и умение толково писать, чтобы понятно было всем.
Поэтому я редко читаю маны, там хрен проссышь только после сотого раза чтения, ибо написано какими-то особо одаренными. Иногда вообще не объясняется синтаксис команды.
это как вообще? Если мне нужно что-то, о чем я не знаю — я гуглю. Команды, которые нагуглил — иду и разбираю в ман, что делают ключи и почему. Если же мне нужно сделать что-то, и я подозреваю, что конкретная команда может мне помочь — я набираю ман этой команды и ищу там именно то, что мне нужно. В 90% случаях мануалы написаны довольно хорошо.
Просто народ путает пошаговое руководство с пояснениями и ман, который просто описывает возможности, но не «руководит».
просто народ, который нуждается в руководстве, занимается рукоблудством вместо того, что бы хотя бы попытаться вникнуть в тему 🙂
почитай ссылку в первом комменте. А потом вместо
Посмотри пару видео таки не разобрался
напиши, пошагово, что ты УЖЕ сделал, к какому результату это привело, что не получилось. И не проси, что бы кто-то сделал что-то за тебя (тебе никто ничего не должен), а задавай уточняющие вопросы.
Источник
Настройка точки доступа в 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:
И запустить brcmsmac:
sudo modprobe brcmsmac
Лучше полностью удалить проприетарный драйвер broadcom linux из системы если он установлен и добавить в черный список ненужные драйверы, оставив только brcmsmac. Чтобы при перезагрузке грузился только он, для этого добавляем такие строчки в файл /etc/modprobe.d/50-blacklist.conf:
sudo vi /etc/modprobe.d/50-blacklist.conf
blacklist b43
blacklist b43-legacy
Для сетевых карт других производителей, вам следует сначала попробовать раздавать Wifi и только если не получится пробовать использовать другой драйвер.
Настройка точки доступа Wifi в Ubuntu
Чтобы создать точку доступа Ubuntu сначала нужно кликнуть по значку сети в правом верхнем углу и выбрать Параметры Wifi:
В открывшемся меню кликните по кнопке бутерброда и выберите Включить точку доступа:
Перед активацией компьютер предупредит вас, что вы не сможете подключится к интернету по Wifi если включёна точка доступа:
Затем покажет имя сети и пароль от неё, который создаётся автоматически:
Используя эти данные вы можете подключится к только что созданной точке доступа. Всё должно работать. Отключить её можно здесь же, надо только кликнуть по соответствующему переключателю.
Настройка точки доступа вручную
Для того чтобы раздать Wifi вручную нам понадобится пакет hostapd. Установите его командой:
sudo apt install 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:
sudo apt install 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
В этом конфигурационном файле вам надо кое-что поправить, а именно 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 на своем компьютере или ноутбуке. Это довольно сложный процесс, но если разобраться, то вполне можно выполнить. Если у вас остались вопросы, спрашивайте в комментариях!
Источник