J'essaie de créer un point d'accès WiFi ou un point d'accès sur mon ordinateur portable Linux. J'utilise Opensuse Kde 12.3.
J'ai découvert un logiciel appelé hostapd
qui vous permet de créer un hotspot, mais qui nécessite deux interfaces. L'un connecté à Internet et l'autre sur lequel vous voulez créer le point d'accès ( tutorial here ). Le problème que j'ai, c'est que je n'ai pas de connexion Ethernet. L’interface wlan
est utilisée pour se connecter à Internet.
Existe-t-il un moyen de créer le point d'accès sans fil sur la même interface connectée à Internet (comme le logiciel Connectify le fait sous Windows)? Je pensais créer une interface virtuelle (comme celle que airmon-ng
crée pour surveiller le wifi) et l'utiliser comme deuxième interface. Est-ce possible?
UPDATE
Voici ce que j'ai pu faire jusqu'à présent:
1) Créer 2 interfaces (une en tant que station et l'autre en tant que point d'accès)
iw phy phy0 interface add mySta type station
iw phy phy0 interface add myAcc type __ap
2) Donnez-leur un identifiant Mac séparé
ifconfig myAcc hw ether A4:17:FE:6E:00:53
ifconfig myAcc 192.168.27.1 up
3) démarrez hostapd sur l'interface myAcc
4) démarrez Dnsmasq pour fournir l’adresse IP aux périphériques connectés
Tout cela fonctionne. Les périphériques peuvent se connecter à ce réseau et obtenir une adresse IP. La prochaine étape consiste à fournir un masquage IP
iptables --table nat --append POSTROUTING --out-interface mySta -j MASQUERADE
iptables --append FORWARD --in-interface myAcc -j ACCEPT
Mais l'interface mySta ne parvient plus à se connecter à Internet. Il est capable d’obtenir l’Essid mais il ne peut pas obtenir l’adresse IP.
La commande dhclient mySta ne montre aucun message et donne l'erreur suivante:
ls: cannot access /var/run/netconfig//mySta/: No such file or directory
Quelqu'un peut-il comprendre comment obtenir l'adresse IP?
Pour quiconque d'autre face à ce problème, le problème était avec l'adresse mac. J'ai démarré l'interface du point d'accès, lui ai donné une adresse mac. Ensuite, après avoir exécuté hostapd, ajouté l'interface de la station, lui a donné une adresse MAC différente et l'a connectée au réseau, puis a donné l'adresse IP de la station en tant que passerelle par défaut des clients via Dnsmasq.
Maintenant tout fonctionne correctement.
Comme l'a souligné Diblo Dk, vous pouvez utiliser des interfaces virtuelles et factices, mais hostapd ne fonctionne pas avec elles. Je ne sais pas pourquoi.
Voici les étapes:
1 Ouvrez la console
su -
2 Vérifiez si vous avez un pilote factice
modprobe -l | grep /net/dummy.ko
(!) Si vous n'avez pas de pilote factice, allez à " Créez un module de noyau ".
3 Charger le pilote factice
modprobe dummy
(!) Ne l'ajoutez pas au démarrage s'il échoue.
4 Testez dummy0 en le mettant en place
ifconfig dummy0 10.246.75.1 netmask 255.255.255.0 broadcast 10.246.75.255 up
ifconfig
Cela vous donnera une sortie similaire.
dummy0 Link encap:Ethernet HWaddr 00:2D:32:3E:39:3B
inet addr:10.246.75.1 Bcast:10.246.75.255 Mask:255.255.255.0
...
5 Ajoutez le pilote factice au démarrage
Éditez le fichier sys du noyau.
nano /etc/sysconfig/kernel
et ajoutez " dummy " à MODULES_LOADED_ON_BOOT.
MODULES_LOADED_ON_BOOT = "..."
Ex. MODULES_LOADED_ON_BOOT = "dummy vmcp".
6 Configurez les paramètres réseau pour dummy0
Créez le fichier ifcfg-dummy0.
nano /etc/sysconfig/network/ifcfg-dummy0
Ajoutez au fichier ifcfg-dummy0:
# Configuration for dummy0
BOOTPROTO=static
# This line ensures that the interface will be brought up during boot.
STARTMODE=onboot
# dummy0 - This is the main IP address that will be used for most outbound connections.
# The address, netmask and gateway are all necessary. The metric is not necessary but
# ensures you always talk to the same gateway if you have multiple public IPs from
# different subnets.
IPADDR=10.246.75.1
NETMASK=255.255.255.0
BROADCAST=10.246.75.255
GATEWAY=10.246.75.1
1 Installez d'abord les choses nécessaires
Ouvrez YaST.
Accédez à Software
-> Software Management
.
Cocher:
Development
[X] Base Development
[X] Linux Kernel Development
[X] C/C++ Development
2 Retour à la console et accédez au code source du noyau
cd /usr/src/linux
3 Importez la configuration actuelle du noyau
zcat /proc/config.gz > .config
4 Ouvrez le menuconfig du noyau
make menuconfig
5 Ajouter le support du pilote réseau factice
Accédez à Device Drivers
-> Network device support
* Network core driver support
M Dummy net driver support
(!) Si vous avez un astérisque à côté de "Prise en charge du pilote réseau principal", vous pouvez ignorer les étapes 7 et 9.
6 Compilez le noyau
make -j(n+1)
Où (n + 1) = nombre de cœurs de la CPU plus un utilisé pour accélérer la compilation. Make -j5 est utilisé pour quatre cœurs.
7 Installez le nouveau noyau
make install
8 Installez les modules
make modules_install
9 Chargez le nouveau noyau
reboot
Définition d’un VIPA (partie concernant le module de chargement et ifcfg-dummy0): http://wiki.linuxvm.org/wiki/Defining_a_VIPA
Configurez les IP statiques: https://www.linode.com/wiki/index.php/Configure_Static_IPs
openSUSE 12.3 et l’installation de nouvelles versions du noyau Linux à partir de kernel.org: http://forums.opensuse.org/blogs/jdmcdaniel3/opensuse-installing-new-linux-kernel-versions-134/
OpenSUSE 11.2 - Comment compiler un noyau pour débutants: http://linuxtweaking.blogspot.dk/2010/04/opensuse-112-how-to-compile-kernel-for.html
Créez un fichier ifcfg-wlan0: 0
nano /etc/sysconfig/network/ifcfg-wlan0:0
Ajouter au fichier ifcfg-wlan0: 0:
DEVICE=wlan0:0
# Configuration for wlan0:0
ONBOOT=yes
# This line ensures that the interface will be brought up during boot.
BOOTPROTO=static
# wlan0:0 - This is the main IP address that will be used for most outbound connections.
# The address, netmask and gateway are all necessary. The metric is not necessary but
# ensures you always talk to the same gateway if you have multiple public IPs from
# different subnets.
IPADDR=10.246.75.1
NETMASK=255.255.255.0
BROADCAST=10.246.75.255
GATEWAY=10.246.75.1
Les commandes pour activer l'interface
ifup wlan0:0
Remarque: L'arrêt de l'interface principale ferme également tous ses alias. Les alias peuvent être arrêtés indépendamment des autres interfaces.
Vérifie si l'interface fonctionne
ifconfig
Cela vous donnera une sortie similaire.
wlan0:0 Link encap:Ethernet HWaddr 00:2D:32:3E:39:3B
inet addr:10.246.75.1 Bcast:10.246.75.255 Mask:255.255.255.0
...