Comment créer un point d'accès WiFi partageant une connexion Internet sans fil (adaptateur unique)?

89

Je sais comment créer un point d'accès sans fil lorsque je suis connecté à un réseau câblé, mais lorsque j'utilise Internet depuis une connexion WiFi, la connexion sans fil est déconnectée dès l'activation du point d'accès.

Sous Windows, je peux utiliser Connectify Hotspot , ce qui me permet de partager la connexion Internet depuis le même adaptateur sans fil que moi. créer un point d'accès sur. Comme vous pouvez le lire sur la page de présentation technologique :

Access Point mode allows you to create a hotspot using the same Wi-Fi card that you are using to access the Internet.

Comment puis-je faire cela sur Ubuntu?

    
posée Ruppesh Nalwaya 11.07.2013 - 17:39
la source

8 réponses

56

Étapes simples: Créer un point d'accès Wi-Fi dans Ubuntu

  1. Désactiver le Wi-Fi (décochez la case Activer le Wi-Fi)
  2. Accéder à la connexion réseau (Modifier 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 périphérique dans la liste déroulante (wlan0)
  8. Sécurité Wifi, sélectionnez "WPA et WPA2 Personal" et définissez un mot de passe .
  9. Accédez à l'onglet Paramètres IPv4, dans la liste déroulante Méthode, sélectionnez Partagé avec d'autres ordinateurs.
  10. Puis enregistrez et fermez.
  11. Ouvrez Terminal (Ctrl + Alt + T) et tapez la commande suivante avec le nom de votre connexion utilisé à l'étape 5.

    sudo gedit /etc/NetworkManager/system-connections/wifi-hotspot
    
  12. Recherchez mode=infrastructure et remplacez-le par mode=ap

  13. Vérifiez maintenant la section du réseau où le wi-fi sera connecté automatiquement au hotspot créé. Si vous ne le trouvez pas, accédez à Connexion au réseau masqué ... . Recherchez la connexion et connectez-vous à celle-ci.

Source: lien

    
réponse donnée Purushoth 14.04.2015 - 16:31
la source
41

Après avoir vu ce lien proposé vasishath , j'ai réussi à configurer un point d'accès sans fil pour partager la connexion Internet à partir du même périphérique d'interface sans fil. Ce périphérique sans fil doit utiliser un pilote Atheros déjà créé avec la prise en charge nl80211 . Ensuite, je vais vous montrer comment.

Détecter si votre périphérique sans fil fonctionnera avec cette méthode

Exécutez la commande suivante dans le terminal :

lsmod | grep ath

Si le résultat est null ou si la chaîne cfg80211 ne figure pas dans le résultat, il n’a aucun sens de continuer et vous devez faire attention aux deuxième et troisième points à partir de cette réponse .

Outils nécessaires

Vérifiez si tous les packages 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
  • Dans le fichier 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
    
  • Dans le fichier udhcpd.conf , commentez toutes les lignes en cours (en ajoutant un caractère # 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 indiquant DHCPD_ENABLED="no" .

  • Dans 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 le répertoire /usr/share/doc/wpa_supplicant/ . 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: All of these edits doesn't affect with nothing your current network configuration.

Créer un script shell

  • Dans un terminal, exécutez mkdir -p bin - cette commande créera un répertoire bin dans votre dossier home si vous ne l'avez pas déjà.
  • Après avoir exécuté gedit ~/bin/hotspotsetup.sh , le nouveau fichier change_sources.sh sera créé 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 un accès d'exécution au script.

Démarrez le point d'accès sans fil connecté à un réseau sans fil à partir du même adaptateur sans fil

Exécutez le script ci-dessus dans un terminal doté des privilèges root:

sudo ~/bin/hotspotsetup.sh

Preuve

Note:Tostartagainyournetwork-managerserviceasitwasbeforetorunthehotspotsetup.shscript,restartyourcomputer(sudoreboot).

Source: Connectify pour Linux avec une seule interface sans fil .

    
réponse donnée Radu Rădeanu 26.07.2013 - 11:11
la source
5

Ceci a été ajouté comme une autre réponse car l'autre réponse a suscité tant de controverses.

Avant tout, vous devez connaître le nom de notre adaptateur sans fil. Utilisez la commande ci-dessous pour l'obtenir:

iwconfig

Ce serait très probablement wlan0 ou wlan1.

Dans certains cas, nous utilisons un ancien adaptateur WiFi et nous souhaitons connaître le pilote qu’il utilise. Nous pouvons utiliser les commandes ci-dessous en fonction de son type, USB ou PCI.

lsusb
lspci

Utilisez la commande ci-dessous pour voir quel pilote vous utilisez actuellement:

lsmod

Besoin d'installer un programme. Appuyez simplement sur Ctrl + Alt + T sur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez les commandes ci-dessous:

sudo apt-get install hostapd

Ouvrez le fichier de configuration de l'adaptateur réseau principal à l'aide de la commande suivante:

sudo gedit /etc/hostapd/hostapd.conf

Et le modifier comme ceci:

interface=wlan0
driver=nl80211
country_code=US
ssid=mySSID
hw_mode=g
channel=1
wpa=2
wpa_passphrase=MyWiFiPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0

La première ligne doit être le nom de votre carte réseau. La 2e ligne ne devrait pas être changée dans la plupart des cas, à moins que vous n'ayez pas eu de chance et que vous n'ayez besoin que d'un pilote tiers. La 3ème ligne ne nécessite pas d'explication. La 4ème ligne devrait être votre nom de point d'accès WiFi (SSID). La cinquième ligne identifie votre réseau en tant que mode / b / g / n. La ligne suivante est votre canal de réseau. Les lignes restantes définissent la sécurité et le cryptage. Dans la plupart des cas, il vous suffit de modifier la phrase secrète.

Ouvrez le deuxième fichier de configuration à l'aide de cette commande:

sudo gedit /etc/default/hostapd

Et changez-le comme ça:

DAEMON_CONF="/etc/hostapd/hostapd.conf"
RUN_DAEMON="yes"
DAEMON_OPTS="-dd"

La première ligne pointe vers le fichier de configuration de l'adaptateur réseau principal. La deuxième ligne indique à hostapd de s’exécuter en mode DAEMON en arrière-plan au démarrage. La dernière ligne indique à hostapd de consigner chaque message. Le truc important est que si vous souhaitez utiliser deux adaptateurs de réseau sans fil différents pour configurer un point d’accès à double bande, vous devez créer des fichiers de configuration originaux séparés (1er fichier) pour chaque câble et les modifier comme suit:

DAEMON_CONF="/etc/hostapd/hostapd.conf /etc/hostapd/hostapd2.conf"

Les configurations sont terminées.

Exécution de DAEMON

Vous devez maintenant vous assurer que hostapd DAEMON démarre au démarrage (1ère commande ci-dessous), vous devez également l'exécuter maintenant pour éviter un redémarrage obligatoire.

sudo update-rc.d hostapd defaults
sudo /etc/init.d/hostapd start

Et c'est fini. Nous pouvons maintenant nous connecter à notre nouveau point d’accès.

Sources: Hostapd: la méthode Linux pour créer un point d'accès Wi-Fi virtuel & page de documentation Linux Hostapd

    
réponse donnée Mitch 27.07.2013 - 22:20
la source
5

Comme vous pouvez le constater dans les commentaires de cette réponse, il existe un moyen de le faire. Ceci est documenté pour FreeBSD (qui n'est pas Ubuntu / Linux) ici: link (lien à partir du commentaire). Cela ne semble pas fonctionner exactement de la même manière sous Linux, mais il devrait en être de même. Malheureusement, je n'ai pas pu trouver d'informations plus détaillées sur ce sujet.

La méthode la plus simple et probablement la plus courante consiste à utiliser deux interfaces réseau physiques. Vous pouvez donc acheter une autre clé Wi-Fi ou simplement utiliser une autre technologie pour vous connecter davantage et n’en faire qu’une seule via Wifi. Les possibilités sont par exemple:

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

Une fois, j’ai remarqué que Ubuntu Linux est capable de gérer deux périphériques Wi-Fi à 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 complexité de la procédure dépend probablement du type de connexion utilisé. 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 le Wi-Fi si vous avez de toute façon une autre clé Wi-Fi, sinon LAN ou Bluetooth (intégré à la plupart des ordinateurs portables). Le partage 3G / LTE est un peu mauvais à cause des plans de données des fournisseurs, etc.

    
réponse donnée verpfeilt 11.07.2013 - 18:10
la source
2

Le meilleur moyen que j'ai trouvé de créer une expérience CONNECTIFY est d'utiliser AP-HOTSPOT!
(WPA2..pas wep comme Linux le fait par défaut dans Ubuntu)

sudo add-apt-repository ppa:nilarimogard/webupd8

sudo apt-get update

sudo apt-get install ap-hotspot

Pour exécuter et options

Début: sudo ap-hotspot start

Stop: sudo ap-hotspot stop

Configurez: sudo ap-hotspot Configure

Vous souhaitez une interface utilisateur graphique ?

Pour l'installer, ouvrez un terminal, puis naviguez jusqu'à:

cd /home/USERNAME/LOCATION

Exécutez ensuite les commandes d'installation:

qmake

make

Crée un programme ... Faites-le glisser sur le bureau et faites :) Bravo

En ce qui concerne deux adaptateurs ... Windows et bsd gratuit peuvent le faire ... Pour le moment, j'essaie encore de le comprendre car je n’ai abordé ce scénario que pour moi à partir d’hier! Je vais faire rapport ... Linux peut le faire aussi .. Ce n'est pas une limitation matérielle pour les adaptateurs qui peuvent le faire avec d'autres systèmes d'exploitation ...

    
réponse donnée user251335 23.02.2014 - 08:06
la source
2

Permettez-moi de vous présenter un excellent outil qui simplifie tout: create_ap (par oblique )
C’est le référentiel officiel: link
Cet outil fait partie des référentiels Arch Linux et devrait également figurer dans les référentiels Ubuntu !
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

Sauf si vous avez utilisé une "image mini-installation", vous en avez déjà 90% ...
Une fois que c'est fait, clonez le référentiel d'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

(aucune compilation avec make n'est nécessaire)

Facile, non? Le reste est encore plus facile ... ... si votre appareil peut être utilisé à la fois comme client et comme PA (comme une puce wifi atheros), vous devez simplement vous connecter à votre routeur domestique avec le gestionnaire de réseau, vous le faites habituellement et que vous exécutiez 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 tout! Incroyableettellementfacile!Maintenant,ilvoussuffitdevousconnecterauréseaurépétéavecvotreappareilAndroid.Vousverrezsurvotreterminalportablelapoignéedemainnégociéeentrevotreordinateurportableetleclient: Etvouspouvezprofiterd'unebonneséancedesalledebainavecInternet...Toutsefaitavecuneseuleinterfaceetenuneseulecommande.L'outilabeaucoupd'options,pourplusd'informations,visitezlerépertoiregithubd'Oblique(liendonnéprécédemment)etsivousparlezespagnol,vouspouvezconsulterlefildediscussion: create_ap: La solution parfaite pour transformer et ordonner en un seul utilisateur universel

    
réponse donnée kcdtv 03.08.2018 - 15:26
la source
1

Il n’est actuellement possible que pour les cartes Atheros et quelques cartes Broadcom. Pour savoir lequel vous utilisez, exécutez la commande suivante dans terminal et collez le résultat ici: -

lspci | Wireless

Ou vous pouvez simplement essayer cette méthode. Voici le lien pour le tutoriel sur la façon de le faire: - connectify-for-linux-avec-single-wireless-interface

    
réponse donnée vasishath 27.07.2013 - 13:18
la source
1

Comme pour la réponse de Purushoth , cette réponse nécessite également 2 adaptateurs WiFi (par exemple, un Wi-Fi interne et un externe USB adaptateur). Cependant, je ne pouvais pas obtenir sa réponse, alors voici ce que j'ai fait à la place.

Testé dans Xubuntu 14.04.

Comment configurer un PC Ubuntu / Xubuntu en tant que point d'accès WiFi (par exemple, pour une utilisation dans les aéroports ou en avion afin de partager une seule connexion payante de votre PC avec votre téléphone et d'autres appareils):

  1. Branchez une clé USB WiFi. Tous les dongles ne peuvent pas agir en tant que “point d'accès”, mais la carte interne peut à coup sûr, nous allons donc (jusqu'à présent, jusqu'à ce que vous puissiez trouver un adaptateur USB Wi-Fi pouvant servir de point d'accès), utiliser le USB externe pour se connecter au service payant (ex: WiFi en vol), et nous utiliserons l’adaptateur wifi interne pour créer le point d’accès wifi.
    • IMPORTANT: NE PAYEZ PAS ET NE CONNECTEZ PAS LE SERVICE PAYÉ AVEC UN ADAPTATEUR WIFI (externe) WIFI, OU AUTREMENT, VOUS DEVREZ PAYER À NOUVEAU POUR LE COMMUTER, CAR VOTRE CONNEXION PAYÉE PEUT ÊTRE LIÉ SUR VOTRE ADAPTATEUR WIFI - PROBABLEMENT. VIA SON ADRESSE MAC PERMANENTE OU QUELQUE CHOSE.
  2. Cliquez avec le bouton gauche sur l'icône wifi dans le panneau et choisissez "Créer un nouveau réseau WiFi ..." → choisissez l'adaptateur Wi-Fi interne (qui est wlan0), créez un nom de réseau (SSID) (ex: "wifi- hotspot "), choisissez" WPA & WPA2 Personal ”pour“ Sécurité Wi-Fi ”et créez un mot de passe, puis cliquez sur“ Créer ”.
    • NB: IL Y A UN BUG QUI VOUS IMPOSTE PARTIR DE SÉLECTIONNER L’ADAPTATEUR WIFI INTERNE POUR CET ÉTAPE, LORSQUE VOUS AVEZ ÉGALEMENT UN ADAPTATEUR WIFI USB EXTÉRIEUR BRANCHÉ. SI CELUI-CI ARRIVE, DÉBRANCHEZ SIMPLEMENT L’ADAPTATEUR EXTERNE WIFI EN RÉALISANT CETTE ÉTAPE POUR FABRIQUER LE HOTSPOT WIFI, puis rebranchez-le lorsque vous avez terminé / si indiqué ci-dessous.
  3. Modifiez le fichier de configuration du nouveau point d'accès wifi que vous venez de créer:
    • cd /etc/NetworkManager/system-connections
    • ls
    • Trouvez le fichier de votre point d'accès que vous venez de créer via l'étape de l'interface graphique ci-dessus. ex: “wifi-hotspot”, et éditez-le:
    • sudo nano wifi-hotspot
    • Flèche vers le bas et changez “mode = adhoc” ou ce que cela signifie en “mode = ap”. Sauvegarder et quitter.
  4. Maintenant que l'adaptateur Wi-Fi USB externe n'est toujours pas branché, activez le point d'accès wifi que vous venez de créer en cliquant à nouveau sur l'icône WiFi dans le panneau et en sélectionnant "Connexion au réseau WiFi masqué ..." → choisissez votre réseau wifi interne. à nouveau l'adaptateur pour «adaptateur Wi-Fi» et choisissez le nom du point d'accès (ex: «hotspot wifi») pour «Connexion». Les champs «Nom du réseau», «Sécurité Wi-Fi» et «Mot de passe» s'afficheront à présent. remplissage automatique et grisé. Cliquez sur «Connecter». Le point d'accès WiFi sera activé sur votre carte interne. Vous pouvez y connecter vos appareils, tels que votre téléphone.
  5. Enfin, avec votre point d'accès WiFi actif, branchez votre adaptateur WiFi secondaire / USB et utilisez-le pour vous connecter au réseau payant. Payez votre abonnement ou quoi que ce soit et votre connexion Internet via cet adaptateur sera désormais automatiquement diffusée vers les appareils connectés via votre adaptateur interne «Point d'accès» que vous venez de configurer.
  6. Fait!

Références: Voici où j'ai trouvé le chemin de dossier /etc/NetworkManager/system-connections & une autre approche (qui n'a pas fonctionné pour moi): link

    
réponse donnée Gabriel Staples 16.12.2017 - 03:26
la source

Lire d'autres questions sur les étiquettes