GNU/Linux >> Znalost Linux >  >> Linux

Kabelové připojení k bezdrátovému mostu v Linuxu

Snadné mosty:

Na sourceforge existuje projekt vytvořený právě pro vaši situaci. http://sourceforge.net/projects/bridger/ Dodává se dokonce jako deb balíček.

Pokud jde o „zahazování“ paketů:

  1. Zkontrolovali jste, zda je iptables nastaveno na výchozí drop? sudo iptables --list pro pole tohoto typu by mělo být uvedeno „ACCEPT, ACCEPT, ACCEPT“. Pokud je to problém, vypněte jej.

  2. Předáváš vůbec ty pakety, brácho? Ujistěte se, že řádek "net.ipv4.ip_forward=1" NENÍ zakomentován v /etc/sysctl.conf (je výchozí), potom restartujte síť.

  3. Promiskuitní režim není podporován pomocí vašeho bezdrátového dongle. (to znamená, že nemůže přijímat pakety, které pro něj nejsou určeny)

Čistý most vs. sdílený most:

  1. iface br0 inet dhcp označuje sdílené most, což znamená, že samotný most získá IP a může být koncovým bodem pro provoz.

  2. Čistý most nezíská ip adresu a pouze předává provoz mezi dvěma rozhraními

  3. Sdílený most Ukázkový konfigurační soubor /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

Restartujte síť:sudo /etc/init.d/networking restart Po provedení složitých změn konfigurace sítě je snazší pouze restartovat, než se ujistit, že se vše restartuje správně.

Myslíte si, že máte problémy se směrováním:

  1. Odstranění DNS jako příčiny testováním pomocí ping 8.8.8.8 . Pokud to funguje, pak máte pravděpodobně problém s DNS ve vaší síti.

  2. Zkontrolujte svou bránu s sudo ip route doufám, že uvidíte default via 192.168.1.1 dev br0 proto dhcp (za předpokladu, že vaše brána je 192.168.1.1). Pokud chybí nebo je nesprávné, opravte jej sudo ip route add default via 192.168.1.1 . Otestujte znovu:ping 8.8.8.8

  3. Obnovte sdílenou IP mostu s dhclient br0 a znovu otestujte s ping 8.8.8.8

  4. Zkontrolujte svá 'slave' rozhraní s ifconfig a ujistěte se, že eth0 a wlan0 NEMAJÍ IP adresy. Nyní jsou součástí mostu. Pokud ano, ujistěte se, že jste je odstranili ze všech konfiguračních souborů, nastavte je na statickou 0.0.0.0 nebo tak něco.

Pokud NIC z toho nefunguje, vyzkoušejte tuto aplikaci pro přemostění debianu, a pokud to nefunguje, váš bezdrátový dongle nepodporuje promiskuitní režim. (viz výše)

Pokud to zde kdykoli funguje, restartujte a ujistěte se, že to stále funguje.


Mám několik bezdrátových mostů fungujících na Debian Linuxu a Openwrt, takže tento problém velmi dobře znám.

Vynechali jste jeden důležitý příkaz:Zapomněli jste svému bezdrátovému ovladači sdělit, aby vysílal rámce se 4 adresami (někdy nesprávně/historicky nazývané WDS), což je vyžadováno pro 802.11/bezdrátové přemostění. Proveďte to příkazem "iw dev wlan0 set 4addr on". Použijte příkaz "pre-up" ve vašem souboru rozhraní Debianu na mostě a použijte jej před spuštěním mostu. Všimněte si, že režim rámce se 4 adresami vyžaduje podporu ovladače a některé staré mizerné ovladače nebo hardware 802.11 jej nemusí podporovat.

Také se silně domnívám, že vaše problémy mohly být komplikovány chybou v jádře Linuxu, která konkrétně ovlivňuje přemosťovaná rozhraní. Sám jsem na tuto chybu narazil a musel jsem si zkompilovat vlastní wpa_supplicant ze zdrojů, protože verze v Debianu je stará a ovlivněná. wpa_supplicant a hostapd sdílejí společnou kódovou základnu, ale nejsem si zcela jistý, že to ovlivnilo hostapd stejně jako wpa_supplicant.

Zde je řešení problému:

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

Mám dojem, že je to ve verzi 2.5 a vím, že je to v aktuálním zdroji 2.6. Aktuální verze Debianu je 2.4, která je nefunkční. Narušte projekt Debian a aktualizujte jejich balíčky wpasupplicant a hostapd.

Zde je ukázková konfigurace pro klienta bezdrátového mostu používajícího WPA/WPA2 s bezdrátovým mostem mezi rozhraními wlan0 a eth0, přičemž hostitel získá DHCP adresu na rozhraní br0 (nahraďte „dhcp“ za „manuální“ pro žádnou IP adresu). Pro situaci, kdy chcete být AP, zahrňte příkazy interface=a bridge=do hostapd.conf a vynechejte příkazy wpa-* níže.

Ve vašem souboru /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

A ujistěte se, že váš wpa_supplicant je verze 2.5 nebo novější. Nebude fungovat s wpa_supplicant 2.4 a aktuálními verzemi jádra.

Měl bych také poznamenat, že v ifup je v současné době chyba v závodě, kdy se při bootování nemusí objevit rozhraní mostu, ale to je úplně jiný problém.


Zdá se, že potřebujete přesměrování IP.

zkuste cat /proc/sys/net/ipv4/ip_forward

Pokud je to 0 problém:echo 1 > /proc/sys/net/ipv4/ip_forward


Linux
  1. Jak nakonfigurovat Linux Bridge, aby fungoval jako rozbočovač namísto přepínače

  2. Jak mohu získat seznam dostupných bezdrátových sítí v systému Linux?

  3. Přemostění Linuxu nepředává pakety

  1. Linux – Zakázat bezdrátový síťový adaptér v Arch?

  2. Linuxový příkaz mv

  3. Linux du command

  1. Linux – Jsou různá jádra Linux/unix zaměnitelná?

  2. Linuxový ip příkaz

  3. Linux cd příkaz