On my Debian machine 3 IFs exist:
- eth0 the local wired network
- wlan0 running hostapd
- vlan5 the internet IF to which this machine acts as a gateway for the local netowrk.
eth0 and wlan0 are part of br0. Routing from hosts on the wired local network to other wired hosts or the internet works fine. Routing from clients associated to wlan0 to the internet works fine, but faills towards the wired network. ARP reqests from wireless clients are not answered from br0 even if the requested MAC is known tho br0 (brctl showmacs).
The strange thing ist, that the setup worked up to some time ago. It seems to have stopped working after some Debian kernel updates.
/etc/network/interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 10.xx.1.3
netmask 255.255.255.0
bridge_ports eth0
bridge_fd 5
iface br0 inet6 static
address fdxx::3
netmask 64
mapping hotplug
script grep
map wlan0
allow-hotplug wlan0
iface wlan0 inet manual
hostapd /etc/hostapd/hostapd.conf
auto vlan5
iface vlan5 inet dhcp
vlan-raw-device eth0
pre-up /etc/firewall restart
/etc/hostapd.conf:
interface=wlan0
bridge=br0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=XXXXX
country_code=XX
ieee80211d=1
hw_mode=a
channel=40
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=2
wpa_passphrase=backbone
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
Traffic to the internet is going trough a MASQUERADE rule in the nat POSTROUTING table. Why only traffic to the local wired net is not working from the wireless side of the bridge?
Update 22.11.2015: The problem does not seem to be related with the vlan. When vlan5 is disable at boottime the bridge does not work as well. Packets from the wireless side are passing the bridge, but packets comming from the wired side are dropped somewhere. They do not even appear at the BROUTING chain of ebtables when adding a log rule. The bridge seems to work only in one direction from wlan0 to eth0...
showmacs
. It doesn't arrive atbr0
- are you tcpdumping the bridge or the physical?