GNU/Linux >> Tutoriels Linux >  >> Linux

Câblé au pont sans fil sous Linux

Les ponts simplifiés :

Il existe un projet sur sourceforge conçu spécialement pour votre situation. http://sourceforge.net/projects/bridger/ Il s'agit même d'un package deb.

En ce qui concerne les paquets "abandonnés" :

  1. Avez-vous vérifié si iptables est défini sur drop par défaut ? sudo iptables --list devrait dire "ACCEPTER, ACCEPTER, ACCEPTER" pour une boîte de ce type. Si tel est le problème, désactivez-le.

  2. Est-ce que vous transférez même les paquets, mon frère ? Assurez-vous que la ligne "net.ipv4.ip_forward=1" n'est PAS commentée dans /etc/sysctl.conf (elle l'est par défaut), puis redémarrez votre réseau.

  3. Le mode promiscuité n'est pas pris en charge par votre dongle sans fil. (ce qui signifie qu'il ne peut pas accepter les paquets qui ne lui sont pas destinés)

Pont pur contre pont partagé :

  1. iface br0 inet dhcp indique un partagé pont, ce qui signifie que le pont lui-même obtient une adresse IP et peut être un point de terminaison pour le trafic.

  2. Un pur pont n'obtient pas d'adresse IP et transfère uniquement le trafic entre les deux interfaces

  3. Pont partagé Exemple de fichier de configuration /etc/network/interfaces (Debian/Ubuntu)

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Bridge between eth0 and wlan0
auto br0
iface br0 inet dhcp
  pre-up ip link set eth0 down
  pre-up ip link set wlan0 down
  pre-up brctl addbr br0
  pre-up brctl addif br0 eth0 wlan0
  pre-up ip addr flush dev eth0
  pre-up ip addr flush dev wlan0
  post-down ip link set eth0 down
  post-down ip link set wlan0 down
  post-down ip link set br0 down
  post-down brctl delif br0 eth0 wlan0
  post-down brctl delbr br0

Redémarrez le réseau :sudo /etc/init.d/networking restart Après avoir apporté des modifications complexes à la configuration du réseau, il est plus facile de simplement redémarrer plutôt que de s'assurer que tout a redémarré correctement lors du redémarrage.

Vous pensez avoir des problèmes de routage :

  1. Éliminer le DNS comme cause en testant avec ping 8.8.8.8 . Si cela fonctionne, vous avez probablement un problème DNS sur votre réseau.

  2. Vérifiez votre passerelle avec sudo ip route j'espère que vous voyez default via 192.168.1.1 dev br0 proto dhcp (en supposant que votre passerelle est 192.168.1.1). S'il est manquant ou incorrect, corrigez-le sudo ip route add default via 192.168.1.1 . Testez à nouveau :ping 8.8.8.8

  3. Renouveler votre adresse IP de pont partagé avec dhclient br0 et retester avec ping 8.8.8.8

  4. Vérifiez vos interfaces "esclaves" avec ifconfig et assurez-vous que eth0 et wlan0 n'ont PAS d'adresses IP. Ils font maintenant partie du pont. Si tel est le cas, assurez-vous de les supprimer de tous les fichiers de configuration, définissez-les sur statique 0.0.0.0 ou quelque chose du genre.

Si AUCUN de cela ne fonctionne, essayez cette application de pont Debian, et si cela ne fonctionne pas, votre dongle sans fil ne prend pas en charge le mode promiscuité. (voir ci-dessus)

Si cela fonctionne à tout moment ici, redémarrez et assurez-vous que cela fonctionne toujours.


J'ai des ponts sans fil qui fonctionnent sur Debian Linux et Openwrt, donc je connais très bien ce problème.

Vous avez manqué une commande importante :vous avez oublié de dire à votre pilote sans fil de transmettre des trames à 4 adresses (parfois incorrectement/historiquement appelées WDS), ce qui est nécessaire pour le pontage 802.11/sans fil. Faites cela avec la commande "iw dev wlan0 set 4addr on". Utilisez une instruction "pre-up" dans votre fichier d'interface Debian sur le pont pour l'appliquer avant de lancer le pont. Notez que le mode de trame à 4 adresses nécessite la prise en charge des pilotes et que certains anciens pilotes ou matériels 802.11 merdiques peuvent ne pas le prendre en charge.

Je soupçonne également fortement que vos problèmes ont pu être compliqués par un bogue dans le noyau Linux qui affecte spécifiquement les interfaces pontées. J'ai moi-même rencontré ce bogue et j'ai dû compiler mon propre wpa_supplicant à partir des sources car la version de Debian est ancienne et affectée. wpa_supplicant et hostapd partagent une base de code commune, mais je ne suis pas tout à fait sûr que cela affecte aussi bien hostapd que wpa_supplicant.

Il existe une solution de contournement pour résoudre le problème ici :

https://w1.fi/cgit/hostap/commit/?id=e6dd8196e5daf39e4204ef8ecd26dd50fdca6040

J'ai l'impression que c'est dans la version 2.5, et je sais que c'est dans la source 2.6 actuelle. La version actuelle de Debian est la 2.4, qui est cassée. Veuillez harceler le projet Debian pour mettre à jour leurs packages wpasupplicant et hostapd.

Voici un exemple de configuration pour un client de pont sans fil utilisant WPA/WPA2 avec un pont sans fil entre les interfaces wlan0 et eth0, l'hôte obtenant une adresse DHCP sur l'interface br0 (remplacez "dhcp" par "manual" pour aucune adresse IP). Dans une situation où vous souhaitez être l'AP, incluez les commandes interface=et bridge=dans hostapd.conf et omettez les commandes wpa-* ci-dessous.

Dans votre fichier /etc/network/interfaces :

allow-auto br0
iface br0 inet dhcp
    bridge_ports wlan0 eth0
    bridge_stp off
    bridge_waitport 5
    bridge_fd 0
    wpa-ssid mynetwork
    wpa-psk abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123
    wpa-iface wlan0
    wpa-bridge br0
    pre-up iw dev wlan0 set 4addr on
    post-down iw dev wlan0 set 4addr off

Et assurez-vous que votre wpa_supplicant est la version 2.5 ou ultérieure. Cela ne fonctionnera pas avec wpa_supplicant 2.4 et les versions actuelles du noyau.

Je dois également noter qu'il existe actuellement un bogue de course dans ifup où les interfaces de pont peuvent ne pas apparaître au démarrage, mais c'est un tout autre problème.


Vous semblez avoir besoin d'un transfert IP.

essayez cat /proc/sys/net/ipv4/ip_forward

Si c'est 0 problème :echo 1 > /proc/sys/net/ipv4/ip_forward


Linux
  1. Comment configurer un pont Linux pour qu'il agisse comme un concentrateur au lieu d'un commutateur

  2. Linux – Les différents noyaux Linux/unix sont-ils interchangeables ?

  3. Commande Linux mv

  4. Linux du command

  5. Commande IP Linux

Commande W sous Linux

À la commande sous Linux

Installer le pilote sans fil dans AlmaLinux / Rocky Linux 8

Configuration de Sun Java Wireless Toolkit sur Linux Mint

Linux contre Unix

10 exemples de commande Linux brctl pour le pont réseau Ethernet