Я делаю приложение графического интерфейса, которое будет управлять моим ноутбуком, чтобы он работал как точка доступа Wi-Fi. Я могу изменить дистрибутивы, поэтому я хочу найти решение, которое будет работать в основном для всех дистрибутивов. В настоящее время я делаю это на Fedora 17.
Использование кнопки «Использовать как горячую точку» в NetworkManager очень хорошо работает для создания специальной горячей точки:
Я хочу воссоздать эту функциональность с помощью терминальных команд.
Ниже приведены два метода, которые я пытался выполнить, но пока не нашел решения.
Метод 1: iwconfig
Используя исследования из Интернета, я попробовал следующую команду:
# ifconfig wlan0 10.42.0.1 netmask 255.555.255.0 broadcast 10.42.0.255 up
# iwconfig wlan0 essid my-lappy mode ad-hoc key 0123456789
# iptables-restore < saved-hotspot-iptables
# echo 1 > /proc/sys/net/ipv4/ip_forward
# dhclient wlan0
где saved-hotspot-iptables
файл, который я сгенерировал с iptables-save > saved-hotspot-iptables
помощью iptables, установленного функцией «Использовать как горячую точку».
Способ 1 Проблема
Устройства могут видеть SSID, но не могут подключиться. Запуск ip a
показывает следующее о wlan0:
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...
Уведомление NO-CARRIER
присутствует, а состояние DORMANT
вместо UP
.
Запуск ifconfig wlan0
показывает следующее:
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
Обратите внимание, что RUNNING
отсутствует как один из флагов.
Способ 2: nmcli
Если кнопка «Использовать как горячую точку» в NetworkManager нажата хотя бы один раз в системе, /etc/sysconfig/network-scripts/ifcfg-Hotspot
создается, и я могу использовать следующую команду для запуска рабочей точки доступа:
# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789
Способ 2 Проблема
Если пользователь никогда ранее не нажимал «Использовать как горячую точку» в NetworkManager, nmcli con up id Hotspot
он не будет работать. Я посмотрел, nm-connection-editor --create
но не смог найти много информации. Я также изучал создание вручную, /etc/sysconfig/network-scripts/ifcfg-Hotspot
но этот метод не выглядит элегантным или расширяемым для других дистрибутивов.
Ответы:
Смотрите мой ответ на «Создание точки беспроводного доступа и подключение к Интернету
nmcli
»Я создал Hotspot с помощью сетевого менеджера GNOME. Проблема была в том, что я не могу настроить SSID и пароль в GUI. Если вы создаете точку доступа с графическим интерфейсом Network-Manager, он создает файл
/etc/NetworkManager/system-connections/Hotspot
. В этом файле можно редактировать SSID и пароль.Содержимое файла выглядит так:
Я только изменил
ssid
иpsk
свойства в соответствии с моими потребностями. Затем я перезагрузил компьютер, потому что команда:sudo systemctl restart NetworkManager
для перезагрузки сети, похоже, не работает правильно, потому что в графическом интерфейсе Network-Manager у меня больше нет настроек беспроводной сети, а также следующая команда работала не до перезагрузки. После перезагрузки вы можете использоватьnmcli
команду для запуска точки доступа.YOUR_WIFI_INTERFACE
Вы можете узнать с помощью командыiwconfig
.источник
Существует специальная опция в
nmcli
:Больше информации из Руководства :
источник
DHCP-сервер был необходим для назначения IP-адресов для подключений Wi-Fi. Я использовал
dnsmasq
DNS и DHCP сервер.Ниже приведены команды для запуска специальной точки доступа Wi-Fi:
источник