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.


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

Ich hatte Probleme, weil ich dnsmasq nicht installiert habe. Jetzt funktioniert es!
user2737037

Interessant. Das habe ich gesucht .. Upvote.
SDsolar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.