Bridge WiFi und Ethernet

7

Ich möchte wlan0 und eth0 überbrücken, um das Internet von wlan0 nach eth0 zu bringen und einen Switch anzuschließen.
Ich habe wpa-suppicant konfiguriert und habe diese Schnittstellendatei:

auto lo

iface lo inet loopback

iface eth0 inet manual

auto wlan0
iface wlan0 inet manual

auto br0
iface br0 inet static
      address 192.168.1.5   #ip in wlan0 for Internet
      netmask 255.255.255.0   #netmask in wlan0 for Internet
      gateway 192.168.1.1   #gateway in wlan0 for Internet
      bridge_ports wlan0 eth0
      bridge_stp off
      bridge_maxwait 5

wpa-iface wlan0
wpa-bridge br0
wpa-driver wext
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Es scheint nicht zu funktionieren. Was könnte das Problem sein?

Bearbeiten

Jetzt weiß ich: Die Überbrückung von WLAN zu Ethernet funktioniert nicht, wenn sich der WLAN-Adapter nicht im Host-Modus befindet, da keine Informationen mit einer anderen MAC-Adresse gesendet werden dürfen! Ich dachte, das ist nur das Problem bei der Überbrückung von Ethernet zu WiFi.

user2737037
quelle
Haben Sie die br0-Schnittstelle bereits mit dem Befehl erstellt brctl addbr br0? Was wird ip show addrangezeigt?
HeatfanJohn
Bitte fügen Sie Sie ifconfig!
Alex Tape

Antworten:

3

nur ein scharfer Schuss:

Wlan0 und eth0 teilen

/ etc / network / interfaces:

auto lo
iface lo inet loopback

auto wlan0 
iface wlan0 inet dhcp
     wpa-driver wext
     wpa-ssid YOUR_SSID
     wpa-ap-scan 1
     wpa-proto RSN
     wpa-pairwise CCMP
     wpa-group CCMP
     wpa-key-mgmt WPA-PSK
     wpa-psk "passphrase"

auto eth0
iface eth0 inet static
address 192.168.3.1
netmask 255.255.255.0
broadcast 192.168.3.255

## remove rules and chains first
up /sbin/iptables -F
 up /sbin/iptables -X
  up /sbin/iptables -t nat -F

    ## mask eth0, activate port forwarding and nat
up /sbin/iptables -A FORWARD -o wlan0 -i eth0 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
 up /sbin/iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  up /sbin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE 
   up /sbin/sysctl -w net.ipv4.ip_forward=1 

## use dnsmasq-base
## on range 192.168.3.10 - 192.168.3.20
up /usr/bin/killall dnsmasq
 up /bin/sleep 2
  post-up /usr/sbin/dnsmasq -i eth0 -I wlan0 -F 192.168.3.10,192.168.3.20,infinite

## if you use dnsmasq activate this
## if dnsmasq-base deactive this
## dnsmasq restart
# post-up /etc/init.d/dnsmasq restart

für dnsmasq

/etc/dnsmasq.conf:

# dhcp active for eth0
interface=eth0

# no dhcp for wlan0
no-dhcp-interface=wlan0

# range / Lease-Time
dhcp-range=interface:eth0,192.168.3.10,192.168.3.20,infinite
Alex Tape
quelle
Ich hatte Probleme, weil ich dnsmasq nicht installiert habe. Jetzt funktioniert es!
user2737037
Interessant. Das habe ich gesucht .. Upvote.
SDsolar