Я роблю додаток gui, яке керуватиме моїм ноутбуком, щоб змусити його діяти як точку доступу до wifi. Я можу змінити дистрибутиви, тому хочу знайти рішення, яке буде працювати загалом для всіх дистрибутивів. Зараз я це роблю на 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
але цей метод не видається елегантним або розповсюджуваним на інші дистрибутиви.