Je fais une application graphique qui contrôlera mon ordinateur portable afin de le faire agir comme un hotspot wifi. Je peux changer les distributions, donc je veux trouver une solution qui fonctionnera généralement pour toutes les distributions. Je fais actuellement cela sur Fedora 17.
L'utilisation du bouton "Utiliser comme point d'accès" de NetworkManager fonctionne très bien pour créer un point d'accès ad-hoc:
Je veux recréer cette fonctionnalité avec des commandes de terminal.
Voici deux méthodes que j'ai essayé d'accomplir, mais je n'ai pas encore trouvé de solution.
Méthode 1: iwconfig
En utilisant la recherche à travers le Web, j'ai essayé la commande suivante:
# 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
où saved-hotspot-iptables
est un fichier que j'ai généré avec iptables-save > saved-hotspot-iptables
les iptables définis par la fonction "Use as Hotspot".
Méthode 1 Problème Les
périphériques peuvent voir le SSID mais ne peuvent pas se connecter. L'exécution ip a
révèle ce qui suit à propos de wlan0:
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...
L'avis NO-CARRIER
est présent et l'état est à la DORMANT
place de UP
.
L'exécution ifconfig wlan0
montre ce qui suit:
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
Notez qu'il RUNNING
manque l'un des drapeaux.
Méthode 2: nmcli
Si le bouton «Utiliser comme point d'accès» de NetworkManager est appuyé au moins une fois sur le système, il /etc/sysconfig/network-scripts/ifcfg-Hotspot
est créé et je peux utiliser la commande suivante pour démarrer un point d'accès fonctionnel:
# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789
Méthode 2 Problème
Si l'utilisateur n'a jamais appuyé sur "Utiliser comme point d'accès" sur NetworkManager auparavant, nmcli con up id Hotspot
cela ne fonctionnera pas. J'ai regardé nm-connection-editor --create
mais je n'ai pas trouvé beaucoup d'informations. J'ai également étudié la création manuelle, /etc/sysconfig/network-scripts/ifcfg-Hotspot
mais cette méthode ne semble ni élégante ni extensible à d'autres distributions.
Réponses:
Voir ma réponse à la "Créer un point d'accès sans fil et partager une connexion Internet avec
nmcli
"J'ai créé un Hotspot avec GNOME Network-Manager. Le problème était que je ne peux pas configurer le SSID et le mot de passe dans l'interface graphique. Si vous créez le Hotspot avec l'interface graphique de Network-Manager, il crée le fichier
/etc/NetworkManager/system-connections/Hotspot
. Dans ce fichier, il est possible de modifier le SSID et le mot de passe.Le contenu du fichier ressemble à ceci:
J'ai seulement changé le
ssid
et lespsk
propriétés selon mes besoins. Ensuite, j'ai redémarré mon ordinateur car la commande:sudo systemctl restart NetworkManager
pour le redémarrage du réseau ne semble pas fonctionner correctement, car dans l'interface graphique de Network-Manager, je n'ai plus de paramètres de réseau sans fil et la commande suivante n'a pas fonctionné avant le redémarrage. Après le redémarrage, vous pouvez utiliser lanmcli
commande pour démarrer le point d'accès.YOUR_WIFI_INTERFACE
vous pouvez le découvrir avec la commandeiwconfig
.la source
Il existe une option dédiée dans
nmcli
:Plus d'informations dans le manuel :
la source
Un serveur DHCP était nécessaire pour attribuer des adresses IP aux connexions wifi. J'ai utilisé
dnsmasq
, un serveur DNS et DHCP.Voici les commandes pour démarrer un point d'accès wifi ad-hoc:
la source