Comment configurer Ubuntu comme point d'accès sans fil?

25

Comment puis-je configurer mon WiFi pour qu'il soit utilisé comme point d'accès sans fil sur le serveur Ubuntu?

J'ai un serveur Ubuntu local, il contient une carte sans fil (802.11a / b / g / n) et je veux vraiment le configurer comme point d'accès 802.11n car mon point d'accès normal ne prend pas en charge N.

Il doit également fonctionner comme un commutateur pour que je puisse me connecter et obtenir le DHPC.

Edit: Je ne vois pas Network Manager comme une bonne solution car cela dépend de beaucoup de packages X11, et je ne veux pas cela sur un serveur.

LassePoulsen
la source

Réponses:

7

J'ai trouvé un bon fil . Cela devrait fonctionner dans Ubuntu 10.04 sans problème. Il s'agit également de CLI, il n'a donc pas besoin de librairies X du tout. :)

Micheal Harker
la source
1
Le fil lié est en fait de 41 messages, et la solution à la question n'est pas du tout claire. La réponse doit être résumée ici.
Frank Kusters le
5

Cliquez sur votre icône NetworkManager dans le panneau et choisissez "Créer un réseau sans fil ..." Vous devriez pouvoir configurer cela comme une connexion "Système" (par opposition à "Utilisateur").

Vous dites que c'est sur un serveur, alors peut-être que vous accédez au serveur via SSH uniquement. Dans ce cas, vous pouvez essayer une connexion X distante; ou essayez de configurer NetworkManager via la ligne de commande, ce qui devrait être possible s'il n'est pas trivial.

Loevborg
la source
Possible, mais je ne veux pas de NetworkManager
LassePoulsen
OMG, ça marche! Eu des problèmes avec WPA1 & 2 & WEP, mais sans cryptage, cela fonctionne bien.
WitchCraft
-1

Il s'agit d'un très bon article (s'il est un peu dépassé [si 2006 est obsolète]) qui explique comment procéder à partir de la ligne de commande.

http://www.linux.com/archive/feed/55617

En supposant que votre appareil sans fil fonctionne correctement, vous pouvez probablement plonger directement dans la section de pontage à mi-chemin environ.


Wi-Fi Protected Access version 2 ( WPA2 ) devient la norme de facto pour la sécurisation des réseaux sans fil et une fonction obligatoire pour tous les nouveaux produits Wi-Fi certifiés par la Wi-Fi Alliance . Nous connaissons tous les faiblesses de sécurité de son prédécesseur, WEP; cette fois, ils ont bien compris. Voici comment implémenter le protocole WPA2 sur un hôte Linux et créer un point d'accès sans fil sécurisé (WAP) pour votre réseau.

La plupart des WAP commerciaux grand public fonctionnent de la même manière simple: ils créent un pont entre une interface réseau filaire (Ethernet) et une interface sans fil. C'est exactement ce que nous ferons aussi. La partie WAP sera gérée par le hostapddémon, vous devez donc choisir une interface sans fil qu'il prend en charge. Parmi les cartes réseau prises en charge figurent celles avec les chipsets Prism 2 / 2,5 / 3, Atheros ar521x et Prism GT / Duette / Indigo; une liste est disponible sur la page d'accueil de hostapd, ainsi que des liens pour les pilotes Linux pour chaque chipset. J'ai une carte PCI basée sur Atheros AR5212 installée sur mon WAP, qui est prise en charge par hostapd. Bien que tout système Pentium (ou plus récent) fonctionne, certaines cartes sans fil PCI nécessitent PCI 2.2 pour fonctionner, alors assurez-vous de vérifier les spécifications de la carte mère de votre système avant d'acheter. Vous aurez également besoin d'une interface Ethernet prise en charge par Linux pour connecter votre WAP au LAN; la plupart des interfaces intégrées fonctionneront très bien.

Ma configuration est basée sur Debian Testing (Etch), mais toute distribution GNU / Linux avec un noyau 2.6 récent fonctionnera. Le noyau doit prendre en charge le pontage Ethernet 802.1d (CONFIG_BRIDGE) et le LAN sans fil (CONFIG_NET_RADIO). La plupart des noyaux de stock par défaut ont ces fonctionnalités activées, mais si vous préférez créer votre propre noyau, assurez-vous d'inclure ces options. Outre hostapd, les seuls autres packages dont vous avez besoin pour installer sont des passerelles et des outils sans fil . Les principales distributions GNU / Linux proposent des packages binaires pour tous ces programmes, mais si vous préférez les construire à partir des sources, vous pouvez trouver plus d'informations sur leurs pages d'accueil.

Avant de rapprocher les deux interfaces, nous devons mettre l'interface sans fil (dans mon cas ath0; l'ajuster pour qu'elle corresponde à votre configuration) en mode hostap ou Master. Habituellement, cela est aussi simple que d'exécuter iwconfig ath0 mode Master, mais comme la prise en charge WLAN sous Linux n'est pas encore standardisée, certains pilotes peuvent nécessiter une configuration supplémentaire. Si vous avez une interface basée sur Atheros, vous devez également exécuter ce qui suit: wlanconfig ath0 destroy; wlanconfig ath0 create wlandev wifi0 wlanmode apavant la iwconfigcommande. Après cela, la course iwconfig ath0reviendra mode:Master, entre autres.

Créons maintenant le pont. Nous supposerons que l'interface Ethernet est eth0:

ifconfig eth0 0.0.0.0 up
ifconfig ath0 0.0.0.0 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 ath0

Et pour arrêter le pont, vous devez exécuter:

ifconfig br0 down
ifconfig eth0 0.0.0.0 down
ifconfig ath0 0.0.0.0 down
brctl delif br0 eth0
brctl delif br0 ath0
brctl delbr br0

Vous pouvez éventuellement donner une adresse IP à l'interface br0 si vous souhaitez accéder à l'hôte WAP depuis le réseau, en utilisant par exemple SSH. Chaque distribution offre sa propre façon de configurer le réseau; si vous utilisez Debian (ou toute distribution basée sur Debian, comme Ubuntu), vous pouvez terminer toutes les commandes précédentes en ajoutant simplement ce qui suit à votre /etc/network/interfacesfichier:

auto ath0 br0

iface ath0 inet manual
        pre-up wlanconfig ath0 destroy
        pre-up wlanconfig ath0 create wlandev wifi0 wlanmode ap
        post-down wlanconfig ath0 destroy
        wireless-mode master

iface br0 inet manual
        bridge_ports eth0 ath0

Notez que ifupdowngère eth0 automatiquement, vous n'avez donc pas besoin d'une strophe distincte pour cela /etc/network/interfaces. Pour vérifier que le pont est correctement configuré, exécutez brctl show. Vous devriez obtenir quelque chose comme ça en retour:

bridge name     bridge id               STP enabled     interfaces
br0             8000.00032f2481f0       no              ath0
                                                        eth0

Avant de commencer à jouer avec hostapd, nous avons besoin d'une phrase de passe pour WPA2. Comme pour tous les mots de passe, il doit être aléatoire et donc difficile à deviner. Une bonne façon d'obtenir une phrase de passe aléatoire est de visiter le générateur de mot de passe ultra haute sécurité de Gibson Research Corp. et d'utiliser le troisième mot de passe qu'il crée - celui intitulé 63 caractères alphanumériques aléatoires (az, AZ, 0-9). Avoir une phrase secrète qui comprend des caractères ASCII non alphanumériques (par exemple!, @, Etc.) peut être tentant, mais certains clients - à savoir Windows XP - ne semblent pas les aimer.

Créez maintenant un nouveau fichier texte nommé /etc/hostapd/wpa_psket collez votre phrase secrète comme suit:

00:00:00:00:00:00 PASSPHRASE

La première partie avec les zéros signifie «correspondre à toutes les adresses MAC» et fait exactement cela. Vous pouvez également utiliser différentes phrases de passe pour chaque client en ajoutant une nouvelle ligne au fichier avec l'adresse MAC de chaque client et sa phrase de passe. Assurez-vous que seul root a accès à ce fichier en exécutant chmod 600 /etc/hostapd/wpa_psk.

Créez maintenant une sauvegarde du fichier de configuration principal de hostapd /etc/hostapd/hostapd.conf, et conservez-le comme référence en exécutant mv /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig. Créez un nouveau fichier hostapd.conf et collez-y les lignes suivantes:

interface=ath0
bridge=br0
driver=madwifi
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=My_Secure_WLAN
#macaddr_acl=1
#accept_mac_file=/etc/hostapd/accept
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
wpa=3
wpa_psk_file=/etc/hostapd/wpa_psk
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
stakey=0

Remplacez les pièces en italique par des informations qui correspondent à votre configuration. Si vous souhaitez autoriser uniquement des clients spécifiques à se connecter, supprimez le caractère # des deux lignes ci-dessus et copiez les adresses MAC de ces clients /etc/hostapd/accept, et rendez ce fichier accessible uniquement par root (chmod 600). Pour plus d'informations sur les options utilisées, lisez les commentaires dans le fichier de sauvegarde que vous avez créé précédemment (hostapd.conf.orig).

Démarrez le démon hostapd ( /etc/init.d/hostapd start) et vérifiez /var/log/daemon.logqu'il fonctionne. Si le démon ne option debug=démarre pas, augmentez le niveau de débogage ( dans hostapd.conf) à 4 et réessayez.

Maintenant, si vous recherchez les réseaux sans fil disponibles à partir d'un client, vous devriez voir votre ESSID. Pour vous connecter au WAP à partir d'un client Linux, vous devez installer wpa_supplicant et créer un fichier de configuration, wpa_supplicant.conf (dans Debian, installé dans /etc/wpa_supplicant/) comme suit:

update_config=1
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1

network={
        ssid="My_Secure_WLAN"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        psk="PASSPHRASE"
        priority=5
}

Remplacez à nouveau les parties en italique pour qu'elles correspondent à votre configuration et exécutez wpa_supplicant -i eth1 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf(en remplaçant eth1par votre nom d'interface WLAN et wext par le pilote approprié pour votre carte; exécutez wpa_supplicant sans aucune option pour plus d'informations). Cette commande démarre wpa_supplicant au premier plan et tente de se connecter au WAP. Si la sortie ressemble à ce qui suit, vous êtes prêt:

Trying to associate with 00:11:22:33:44:55 (SSID='My_Secure_WLAN' freq=0 MHz)
Associated with 00:11:22:33:44:55
WPA: Key negotiation completed with 00:11:22:33:44:55 [PTK=CCMP GTK=CCMP]
CTRL-EVENT-CONNECTED - Connection to 00:11:22:33:44:55 completed (auth) [id=0 id_str=]

Donnez une adresse IP statique à votre interface sans fil (ou exécutez un client DHCP) et essayez d'envoyer une requête ping à un hôte à l'intérieur de votre réseau local pour vérifier que la connexion fonctionne.

Félicitations, vous venez de vous créer un point d'accès sans fil hautement personnalisable. Bien que cette configuration soit idéale pour une utilisation à domicile ou dans un petit bureau, vous avez besoin de quelque chose de plus robuste dans l'entreprise, avec une authentification avec un serveur RADIUS, ou mieux encore, un VPN.

popey
la source
1
C'est beaucoup dépassé ... La pile de pilotes sans fil du noyau a changé depuis lors apparemment!
LassePoulsen
Certes, mais le bridge et les éléments wpa_supplicant qui sont les éléments bruts nécessaires pour les obtenir sont utiles.
popey
1
La page est un 404. -1 de moi. Si vous aviez résumé les informations contenues dans le lien, votre réponse serait toujours valable.
Marco
Lien mort ......
obayhan