142 votes

Comment créer un hotspot WiFi pour partager une connexion Internet sans fil (adaptateur unique) ?

Je sais comment créer un hotspot lorsque je suis connecté à un réseau câblé, mais lorsque j'utilise Internet à partir d'une connexion WiFi, cela déconnecte la connexion sans fil dès que j'active le hotspot.

Sous Windows, je peux utiliser Hotspot de Connectify qui me permet de partager la connexion Internet à partir du même adaptateur sans fil que celui sur lequel je crée un point d'accès. Comme vous pouvez le lire sur le page d'aperçu des technologies :

Le mode Point d'accès vous permet de créer un point d'accès en utilisant la même carte Wi-Fi que celle que vous utilisez pour accéder à Internet.

Comment puis-je faire cela sur Ubuntu ?

73voto

Purushoth Points 899

Des étapes simples : Créer un hotspot wifi dans ubuntu

  1. Désactiver le Wifi (Décocher Enable Wi-Fi)

  2. Aller à la connexion réseau (Editer les connexions...)

  3. Cliquez sur "Ajouter".

  4. Choisissez "Wi-Fi" et cliquez sur "Créer".

  5. Tapez le nom de la connexion comme "wifi-hotspot".

  6. Tapez le SSID comme vous le souhaitez

  7. Choisissez l'adresse MAC du dispositif dans la liste déroulante (wlan0).

  8. Sécurité Wifi sélectionner "WPA & WPA2 Personal" et définir une mot de passe .

  9. Allez dans l'onglet Paramètres IPv4, dans la liste déroulante Méthode, sélectionnez Partagé avec d'autres ordinateurs.

  10. Ensuite, enregistrez et fermez.

  11. Ouvrez le Terminal (Ctrl+Alt+T) et tapez la commande suivante avec votre nom de connexion utilisé à l'étape 5.

    sudo gedit /etc/NetworkManager/system-connections/wifi-hotspot
  12. Trouvez mode=infrastructure et le changer en mode=ap

  13. Vérifiez maintenant la section réseau où le wi-fi sera connecté automatiquement au hotspot créé. Si vous ne la trouvez pas, allez à Se connecter au réseau caché... Trouvez la connexion et connectez-vous à elle.

Source : http://ubuntuhandbook.org/index.php/2014/09/3-ways-create-wifi-hotspot-ubuntu/

56voto

Radu Rădeanu Points 156862

Après avoir vu ce lien offert par vasishath J'ai réussi à configurer un hotspot sans fil pour partager la connexion Internet à partir d'un seul et même périphérique d'interface sans fil. Ce périphérique sans fil doit utiliser un Atheros qui est déjà construit avec nl80211 soutien. Je vais maintenant vous montrer comment.

Déterminez si votre appareil sans fil fonctionne avec cette méthode.

Exécutez la commande suivante dans terminal :

lsmod | grep ath

Si la sortie est nulle ou si la chaîne cfg80211 n'est pas dans la sortie, cela n'a pas de sens de continuer et vous devez prêter attention au deuxième et troisième point de la section cette réponse .

Outils nécessaires

Vérifiez si tous les paquets mentionnés ci-dessous sont installés : iw , hostapd , iptables , udhcpd , udhcpc , macchanger .

Vous pouvez les installer avec

sudo apt-get install iw hostapd iptables udhcpd udhcpc macchanger

Modifier certains fichiers

Exécutez la commande suivante dans le terminal pour modifier les fichiers correspondants :

sudo -H gedit /etc/hostapd.conf /etc/udhcpd.conf /etc/default/udhcpd /etc/wpa_supplicant.conf
  • Sur hostapd.conf ajoutez le code suivant :

    interface=new1
    driver=nl80211
    ssid=my_wifi_hotspot      #Change the ssid name as you wish
    channel=11                #I sugest you to use the same channel as your wireless network
    hw_mode=g
    wme_enabled=1
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=3
    wpa_passphrase=1234567890 #Change the passphrase as you wish
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP
  • Sur udhcpd.conf commente toutes les lignes courantes (en ajoutant une balise # devant la ligne) et ajoutez les nouvelles lignes suivantes :

    start 192.168.0.102         #These IPs must to be in the same subset as your current default route
    end 192.168.0.117 
    interface new1 
    
    opt dns 192.168.0.1         #Your current default route (Gateway)
    option subnet 255.255.255.0
    opt router 192.168.0.101    #This IP must to be in the same subset as your current default route
    option  domain  localhost
  • Dans /etc/default/udhcp, commentez la ligne qui dit DHCPD_ENABLED="no" .

  • Sur wpa_supplicant.conf vous devez fournir les paramètres de votre réseau sans fil actuel. Voir man wpa_supplicant pour quelques exemples rapides. Et vous avez probablement plus d'exemples dans /usr/share/doc/wpa_supplicant/ répertoire. J'ai utilisé quelque chose comme :

    ctrl_interface=/var/run/wpa_supplicant
    network={
      ssid="my_wifi_network"
      key_mgmt=WPA-PSK
      proto=WPA
      pairwise=CCMP
      group=CCMP
      psk="mypassphrase"
    }
  • Enregistrez tous les fichiers et fermez-les.

Note : Toutes ces modifications n'affectent en rien votre configuration réseau actuelle.

Faire un Shell Shell

  • Dans un terminal, exécutez mkdir -p bin - cette commande fera un bin dans votre home si vous ne l'avez pas déjà.

  • Après la course gedit ~/bin/hotspotsetup.sh - ceci créera le nouveau fichier hotspotsetup.sh dans gedit.

  • Copiez et collez le script suivant dans le nouveau fichier créé :

    !/bin/bash

    service network-manager stop sleep 1

    pkill -15 nm-applet sleep 1

    ifconfig wlan0 down #wlan0 - the name of your wireless adapter sleep 1

    iw phy phy0 interface add new0 type station iw phy phy0 interface add new1 type __ap sleep 2

    ifconfig new0 down macchanger --mac 00:11:22:33:44:55 new0 ifconfig new1 down macchanger --mac 00:11:22:33:44:66 new1 ifconfig new0 up ifconfig new1 up

    ifconfig new1 192.168.0.101 up #192.168.0.101 - the same IP defined for router in 'udhcpd.conf' file hostapd /etc/hostapd.conf & sleep 2

    service udhcpd start

    wpa_supplicant -inew0 -c/etc/wpa_supplicant.conf & sleep 10

    udhcpc -i new0

    echo "1" > /proc/sys/net/ipv4/ip_forward iptables --table nat --append POSTROUTING --out-interface new0 -j MASQUERADE iptables --append FORWARD --in-interface new1 -j ACCEPT

  • Enregistrez le fichier et fermez-le.

  • Retournez dans le terminal et exécutez : chmod +x ~/bin/hotspotsetup.sh - pour accorder l'accès d'exécution pour le script.

Démarrez le hotspot sans fil en étant connecté à un réseau sans fil à partir du même adaptateur sans fil.

Exécutez le script ci-dessus dans le terminal avec les privilèges de root :

sudo ~/bin/hotspotsetup.sh

Preuve

hotspotsetup.sh

Note : Pour redémarrer votre service network-manager tel qu'il était avant d'exécuter la commande hotspotsetup.sh script, redémarrez votre ordinateur ( sudo reboot ).

Source : Connectify pour Linux avec interface sans fil unique .

35voto

kcdtv Points 1968

Laissez-moi vous présenter un excellent outil qui simplifie tout : créer_ap (par oblique )
C'est le dépôt officiel : https://github.com/oblique/create_ap
Cet outil fait partie de Arch Linux et devraient être dans Ubuntu aussi !
Il est très facile à utiliser et très efficace.
Pour l'installer dans Ubuntu vous devez d'abord installer les dépendances :

sudo apt install bash util-linux procps hostapd iproute2 iw wireless-tools haveged iptables dnsmasq git

A moins que vous n'ayez utilisé une "mini image d'installation", vous avez déjà 90% d'entre eux...
Une fois que c'est fait, clonez le dépôt depuis oblique :

git clone https://github.com/oblique/create_ap.git

Localisez votre terminal dans le référentiel téléchargé :

cd create_ap

Installez l'outil avec :

sudo make install

(pas de compilation avec make est nécessaire)
Facile, non ? Et bien le reste est encore plus facile... ...Si votre appareil est capable d'être utilisé comme un client et un PA en même temps (comme atheros wifi chip - edit : certaines puces Intel aussi, voir le deuxième commentaire ci-dessous ), il vous suffit de vous connecter à votre routeur domestique avec le gestionnaire de réseau, comme vous le faites habituellement, puis d'exécuter une ligne de commande comme celle-ci :

sudo create_ap <connected interface> <repeater interface> <essid repeated network> <WPA Key>

exemple

sudo create_ap wlp2s0 wlp2s0 Bathroom_WiFi mysecuresecretkey

Et... c'est ça ! create_ap Incroyable et si facile ! Il vous suffit maintenant de vous connecter au réseau répété avec votre appareil Android. Vous verrez dans votre terminal portable le handshake négocié entre votre ordinateur portable et le client : enter image description here Et vous pouvez profiter d'une bonne séance de toilettes avec Internet... Tout est fait avec une seule interface et avec une simple commande. L'outil a beaucoup d'options, pour plus d'informations visitez le dépôt github de oblique (lien donné précédemment) et si vous parlez espagnol vous pouvez consulter ce fil de discussion du forum : create_ap : La solution idéale pour transformer votre ordinateur en un répéteur universel polyvalent

modifier Oblique a arrêté le projet

Ce projet n'est plus maintenu.

La beauté du code libre est que les bons projets ne meurent jamais et il y a deux dépôts github qui continuent à faire du bon travail :

7voto

Lakindu Akash Points 1161

Voici mon projet Hotspot Wifi Linux qui possède à la fois une interface graphique et une interface en ligne de commande. Il peut créer un hotspot wifi virtuel sur le même adaptateur wifi qui est connecté à l'internet. Il dispose de fonctionnalités supplémentaires telles que le filtre MAC, le changement de canal/bande de fréquence, l'affichage des appareils connectés, etc.

enter image description here

6voto

verpfeilt Points 2614

Comme vous pouvez le voir dans les commentaires de cette réponse, il existe un moyen de le faire. Elle est documentée pour FreeBSD (qui n'est pas Ubuntu/Linux) ici : https://serverfault.com/questions/192144/connect-to-multiple-ap-with-one-wifi-adapter-under-linux-freebsd (Lien du commentaire). Il ne semble pas que cela fonctionne exactement de la même manière sous Linux, mais cela devrait être similaire. Malheureusement, je n'ai pas été en mesure de trouver des informations plus détaillées sur ce sujet.

La méthode la plus simple et la plus courante consiste à utiliser deux interfaces réseau physiques. Vous pouvez donc acheter un autre stick wifi ou simplement utiliser une autre technologie pour vous connecter plus loin et n'en utiliser qu'un seul par Wifi. Les possibilités sont par exemple :

  • Bluetooth + Wifi
  • LAN/Ethernet + Wifi
  • 3G/LTE + Wifi
  • Wifi (externe) + Wifi (intégré ou second externe)

Une fois, j'ai remarqué que Ubuntu Linux est capable de gérer deux appareils wifi à la fois sans être compliqué. Je n'ai pas testé cela en termes de partage de la connexion internet etc, mais cela devrait être possible. La manière dont cela sera compliqué dépend probablement du type de connexions que vous utilisez. Sous Linux, vous n'avez probablement pas besoin d'un logiciel spécial. Il devrait être possible de partager des connexions sans avoir besoin d'outils spéciaux. Malheureusement, je ne peux pas l'essayer pour le moment.

Je vous recommande d'essayer Wifi to Wifi si vous avez un autre stick wifi de toute façon et sinon LAN ou Bluetooth (qui est intégré dans la plupart des ordinateurs portables). Le partage 3G/LTE est un peu mauvais à cause des capacités de données des fournisseurs et ainsi de suite.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X