Partage de connexion internet via wifi

Le besoin n’est pas exactement ça. La carte doit cumuler 2 modes de fonctionnement simultanément:

  • fonctionnement AP pour autoriser les connexions d’un autre appareil
  • fonctionnement device pour se connecter à la box

C’est faisable, mais un peu compliqué sous linux.
Je suis d’accord avec vous, sous linux, on préfère séparer les fonctions.
Je ne connais pas le driver intel et si il gére le mode AP.
Si quelqu’un a testé …

Ça dépend vraiment des circuits, je crois que hostap sait très bien faire ce genre de choses, c’est ce logiciel qui est utilisé dans les routeurs type FONERA, etc utilisant des atheros par exemple.

Sinon, avec deux cartes, on trouve comme lien par exemple gagou.ch/wordpress/?p=398

Le problème n’est pas hostapd, mais le driver. Il doit être capable de gérer le mode AP.
Mais la doc de iwlwifi est très vague sur ce point.
Avec 2 cartes, dont une gère le mode AP, ce n’est rien du tout à faire.

[quote]Je pense que ma carte est compatible vu que je peux utiliser mon portable comme point d’accès wifi via le gestionnaire de réseau de gnome.
Le problème c’est que si je partage ça me déconnecte de la box et donc internet[/quote]
Si tu es sur que ta carte supporte le mode AP, crée 2 interfaces virtuelles, ou une reelle et une virtuelle, je ne maitrise pas ce point.

wireless.kernel.org/en/users/Doc … on/iw/vif/

Après avoir fait le tour de vos liens je peux confirmer que ma carte supporte l’AP mode

# iw list Supported interface modes: * IBSS * managed * AP * AP/VLAN * monitor * P2P-client * P2P-GO
Je vois comment virtualiser une interface wifi mais pas en AP mode la doc dit seulement qu’il y a des étapes supplémentaires mais je ne sais pas lesquels

EDIT: finalement j’ai trouvé c’est la commande

Mais ça ne m’avance pas à grand chose

2nd EDIT
J’ai suivi à la lettre le tuto de fran.b
Mais lors du redémarrage du server dhcp j’ai une erreur:

# /etc/init.d/isc-dhcp-server restart dhcpd self-test failed. Please fix /etc/dhcp/dhcpd.conf. The error was: Internet Systems Consortium DHCP Server 4.2.4 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ ddns-update-style ad_hoc no longer supported
J’aurai donc une erreur avec la ligne

remplace ad-hoc par interim mais il y aura peut être des adaptations à faire. Je précise que je n’ai pas lu le lien, c’est l’un des liens intéressants que j’ai trouvé en cherchant un epu.

Cette fois ça marche pour le dhcp
Mais ça bloque sur la dernière étape

# hostapd -dd hostapd-minimal.conf random: Trying to read entropy from /dev/random Configuration file: hostapd-minimal.conf nl80211: interface wlan1 in phy phy0 rfkill: initial event: idx=0 type=1 op=0 soft=0 hard=0 rfkill: initial event: idx=1 type=2 op=0 soft=1 hard=0 nl80211: Using driver-based off-channel TX nl80211: Use separate P2P group interface (driver advertised support) nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress) nl80211: Register frame match - hexdump(len=2): 04 0a nl80211: Failed to register Action frame processing - ignore for now nl80211: Add own interface ifindex 24 nl80211: Set mode ifindex 24 iftype 3 (AP) nl80211: Create interface iftype 6 (MONITOR) nl80211: New interface mon.wlan1 created: ifindex=27 nl80211: Add own interface ifindex 27 BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits) nl80211: Regulatory information - country=00 nl80211: 2402-2472 @ 40 MHz nl80211: 2457-2482 @ 20 MHz nl80211: 2474-2494 @ 20 MHz nl80211: 5170-5250 @ 40 MHz nl80211: 5735-5835 @ 40 MHz nl80211: Added 802.11b mode based on 802.11g information Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=15 dBm Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=15 dBm Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=15 dBm Completing interface initialization Mode: IEEE 802.11b Channel: 11 Frequency: 2462 MHz nl80211: Set freq 2462 (ht_enabled=0 sec_channel_offset=0) RATE[0] rate=10 flags=0x1 RATE[1] rate=20 flags=0x1 RATE[2] rate=55 flags=0x0 RATE[3] rate=110 flags=0x0 Flushing old station entries Deauthenticate all stations wpa_driver_nl80211_set_key: ifindex=24 alg=0 addr=(nil) key_idx=0 set_tx=0 seq_len=0 key_len=0 wpa_driver_nl80211_set_key: ifindex=24 alg=0 addr=(nil) key_idx=1 set_tx=0 seq_len=0 key_len=0 wpa_driver_nl80211_set_key: ifindex=24 alg=0 addr=(nil) key_idx=2 set_tx=0 seq_len=0 key_len=0 wpa_driver_nl80211_set_key: ifindex=24 alg=0 addr=(nil) key_idx=3 set_tx=0 seq_len=0 key_len=0 Using interface wlan1 with hwaddr 4c:80:93:18:ed:f5 and ssid 'test' Deriving WPA PSK based on passphrase SSID - hexdump_ascii(len=4): 74 65 73 74 test PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] PSK (from passphrase) - hexdump(len=32): [REMOVED] random: Got 20/20 bytes from /dev/random Get randomness: len=32 entropy=0 GMK - hexdump(len=32): [REMOVED] Get randomness: len=32 entropy=0 Key Counter - hexdump(len=32): [REMOVED] WPA: Delay group state machine start until Beacon frames have been configured VLAN: vlan_set_name_type(name_type=2) nl80211: Set beacon (beacon_set=0) WPA: Start group state machine to set initial keys WPA: group state machine entering state GTK_INIT (VLAN-ID 0) Get randomness: len=16 entropy=0 GTK - hexdump(len=32): [REMOVED] WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0) wpa_driver_nl80211_set_key: ifindex=24 alg=2 addr=0x491d42 key_idx=1 set_tx=1 seq_len=0 key_len=32 broadcast key wpa_driver_nl80211_set_operstate: operstate 0->1 (UP) netlink: Operstate: linkmode=-1, operstate=6 wlan1: Setup of interface done. RTM_NEWLINK: operstate=1 ifi_flags=0x1002 () nl80211: Ignore interface down event since interface mon.wlan1 is up RTM_NEWLINK: operstate=1 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP]) RTM_NEWLINK, IFLA_IFNAME: Interface 'mon.wlan1' added Unknown event 5 RTM_NEWLINK: operstate=1 ifi_flags=0x11003 ([UP][LOWER_UP]) netlink: Operstate: linkmode=-1, operstate=6 RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan1' added nl80211: if_removed already cleared - ignore event RTM_NEWLINK: operstate=1 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP]) RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan1' added nl80211: if_removed already cleared - ignore event mgmt::deauth cb VLAN: vlan_newlink(wlan1) Add randomness: count=1 entropy=0 Add randomness: count=2 entropy=1 Add randomness: count=3 entropy=2 Add randomness: count=4 entropy=3 Add randomness: count=5 entropy=4 Add randomness: count=6 entropy=5 Add randomness: count=7 entropy=6 Add randomness: count=8 entropy=7 Add randomness: count=9 entropy=8 Add randomness: count=10 entropy=9 Add randomness: count=11 entropy=10 Add randomness: count=12 entropy=11 Add randomness: count=13 entropy=12 Add randomness: count=14 entropy=13 Add randomness: count=15 entropy=14 Add randomness: count=16 entropy=15 Add randomness: count=17 entropy=16 Add randomness: count=18 entropy=17 Add randomness: count=19 entropy=18 Add randomness: count=20 entropy=19 Add randomness: count=21 entropy=20 Add randomness: count=22 entropy=21 Add randomness: count=23 entropy=22 Add randomness: count=24 entropy=23 Add randomness: count=25 entropy=24 Add randomness: count=26 entropy=25 Add randomness: count=27 entropy=26 Add randomness: count=28 entropy=27 Add randomness: count=29 entropy=28 Add randomness: count=30 entropy=29 Add randomness: count=31 entropy=30 Add randomness: count=32 entropy=31 Add randomness: count=33 entropy=32 Add randomness: count=34 entropy=33 Add randomness: count=35 entropy=34 Add randomness: count=36 entropy=35 Add randomness: count=37 entropy=36 Add randomness: count=38 entropy=37 Add randomness: count=39 entropy=38 Add randomness: count=40 entropy=39 Add randomness: count=41 entropy=40 Add randomness: count=42 entropy=41 Add randomness: count=43 entropy=42 Add randomness: count=44 entropy=43 Add randomness: count=45 entropy=44 Add randomness: count=46 entropy=45 Add randomness: count=47 entropy=46 Add randomness: count=48 entropy=47 ^CSignal 2 received - terminating Flushing old station entries Deauthenticate all stations nl80211: Remove interface ifindex=27 netlink: Operstate: linkmode=0, operstate=6 nl80211: Set mode ifindex 24 iftype 2 (STATION)

Je l’arrête à la main car sinon il continue à ajouter des lignes:

Sans s’arrêter

Tu as finalement créer combien d’interfaces virtuelles ? 1 ou 2 ?

[quote=“Yertus”]
Je l’arrête à la main car sinon il continue à ajouter des lignes:

Sans s’arrêter[/quote]
si tu lances hostapd en mode debug (option -dd) et non en mode “daemon” (option -B) c’est normal. :wink:

Pour la commande avec le deamon c’est bon par contre mon téléphone détecte bien le réseau wifi “test” mais je n’arrive pas à me connecté dessus…
Peut-être le dhcp mal configuré car lorsque je redémarre le service j’ai:

# /etc/init.d/isc-dhcp-server restart [FAIL] Stopping ISC DHCP server: dhcpd failed! [ ok ] Starting ISC DHCP server: dhcpd.

Je créé seulement une seule interface virtuelle, je pensais que ce serai suffisant.

[quote=“fran.b”]Sinon, avec deux cartes, on trouve comme lien par exemple gagou.ch/wordpress/?p=398[/quote]cf mon script :033

J’obtiens ceci lorsque j’execute ton script:

[code]# sh APmodeAPmode: 58: APmode: [[: not found
APmode: 59: APmode: [[: not found
APmode: 62: [: unexpected operator
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
Configuration file: /root/hostap_temp.conf
dhcpcd.sh: interface wlan0 has been configured with new IP=192.168.1.75
Could not set channel for kernel driver
wlan1: Unable to setup interface.

dnsmasq: impossible de lier la socket serveur DHCP : Adresse déjà utilisée
net.ipv4.ip_forward = 1
WARNING: The state match is obsolete. Use conntrack instead.

Wireless repeater access point “test” is up!
To kill it : APmode stop
[/code]
J’ai retiré l’option -b sur dhcpcd car il ne la connaissait pas peut-être une autre à mettre…

[quote=“Yertus”]J’obtiens ceci lorsque j’execute ton script:

sh APmodeAPmode: 58: APmode: [[: not found

APmode: 59: APmode: [[: not found[/quote]Remplace les [[ et ]] par [ et ][quote]
APmode: 62: [: unexpected operator
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
Configuration file: /root/hostap_temp.conf
dhcpcd.sh: interface wlan0 has been configured with new IP=192.168.1.75
Could not set channel for kernel driver
wlan1: Unable to setup interface.[/quote]Regarde en changeant de canal, le noyau respecte la législation mais n’est pas forcément à jour. La possibilité d’utiliser quasi tous les canaux en France est récente et beaucoup de cartes se limite aux canaux 10, 11, 12 et 13. Essaye avec un de ceux là pour voir[quote]

dnsmasq: impossible de lier la socket serveur DHCP : Adresse déjà utilisée
[/quote]Tu as un serveur qui tourne déjà suite à un lancement précédent sans doute[quote]
net.ipv4.ip_forward = 1
WARNING: The state match is obsolete. Use conntrack instead.[/quote]-m conntrack au lieu de -m match[quote]

Wireless repeater access point “test” is up!
To kill it : APmode stop

J’ai retiré l’option -b sur dhcpcd car il ne la connaissait pas peut-être une autre à mettre…[/quote]

J’obtiens ceci après correction:

[code]# sh APmode
rm : supprimer fichier « /root/hostap_temp.conf » ? yes
rm : supprimer fichier « /root/wpasupplicant_temp.conf » ? yes
APmode: 62: [: unexpected operator
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ctrl_iface exists and seems to be in use - cannot override it
Delete ‘/var/run/wpa_supplicant/wlan0’ manually if it is not used anymore
Failed to initialize control interface ‘/var/run/wpa_supplicant’.
You may have another wpa_supplicant process already running or the file was
left by an unclean termination of wpa_supplicant in which case you will need
to manually remove this file before starting wpa_supplicant again.

err, wlan0: timed out
warn, wlan0: using IPV4LL address 169.254.253.96
dhcpcd.sh: interface wlan0 has been configured with new IP=169.254.253.96
Configuration file: /root/hostap_temp.conf
Using interface wlan1 with hwaddr 4c:80:93:18:ed:f5 and ssid 'test’
random: Cannot read from /dev/random: Resource temporarily unavailable
random: Only 0/20 bytes of strong random data available from /dev/random
random: Not enough entropy pool available for secure operations
WPA: Not enough entropy in random pool for secure operations - update keys later when the first station connects

dnsmasq: impossible de créer une socket d’écoute pour port 53 : Adresse déjà utilisée
net.ipv4.ip_forward = 1
iptables v1.4.16.3: unknown option "–state"
Try `iptables -h’ or ‘iptables --help’ for more information.

Wireless repeater access point “test” is up!
To kill it : APmode stop
[/code]
Il faut bien répondre “yes” lorsqu’il demande pour la suppression des 2 fichiers de conf?
Un autre truc un peu gênant j’ai l’impression qu’il attribut une nouvelle adresse ip à l’interface wlan0

Sinon comment est-ce que je peux voir si un serveur dhcp tourne déjà?

Il semble qu’il y ait un wpa_supplicant qui tourne. Que donne ps aux?

J’ai bien un wpa_supplicant qui tourne mais il fait tourner l’interface wlan0

Le script lance un wpa_supplicant pour cette interface, il est normal qu’il gueule…

Je peux l’arrêter mais il repart quelques secondes après…

Tu as un gestionnaire de réseau qui tourne, il te faut le stopper sinon il interfère sur ton script.

Désolé pour les erreurs dans mon script, il faut dire que je l’ai développé sur une OpenSuse (pas taper) et que la gestion des erreurs est minimale (re-pas taper).

Il faut que je l’adapte pour Debian (dès que j’installe une Wheezy sur mon laptop). Il y a en effet qques petites différences avec certains programmes (dhcpcd entre autres).

Oui, il faut stopper ton gestionnaire de connexions réseau (networkmanager ou autre) avant de lancer le script. Et stopper tout serveur DHCP également pour que dnsmasq puisse démarrer.

et normalement tu n’as plus à utiliser wlan0 puisque tu travailles sur des interfaces virtuelles.