network bridging between wireless and wired connection fails Cont'd
Hi
I have a similar problem than the one in this thread: https://lists.linux-foundation.org/pipermail/bridge/2009-May/006383.html
and the network is quite similar: http://inwww.epfl.ch/~becholey/network.jpg (every computer run linux there are no DHCP, every IP needs to be static)
when I try to ping PC1 from PC2 I can see the ARP "who-has" going to PC1. PC1 answers, I can see the ARP is at on the bridge (on any interfaces), but they don't arrive to PC2 => "Destination Host Unreachable" when I try to ping PC2 from PC1 I can see on the bridge the ARP "who-has", but they don't arrive to PC2.
From the bridge, I can ping everybody.
In both case I can see the number of packets increasing on the bridge with ifconfig, there are no drops and no errors..
The use of a bridge is not an option, because I need the same subnet (10.79.0.0) in the whole network :-/
Do you have an idea why the ARP packets can't be sent in "the air"? Or do you have a workaround for this? I hope I provided enough information... Thanks in advance.
Best regards,
Alexandre Becholey
PS: here is the configuration of the bridge: (I tried with 2 different wireless card, one mini-PCI broadcom and a USB dongle ralink)
# brctl addbr br0 # ifconfig wlan0 0.0.0.0 up # ifconfig eth0 0.0.0.0 up # iwconfig wlan0 essid my_ssid # brctl addif br0 wlan0 # brctl addif br0 eth0 # ifconfig br0 10.79.2.2 netmask 255.255.0.0 up # dmesg device eth0 entered promiscuous mode br0: port 2(eth0) entering learning state br0: port 1(wlan0) entering learning state br0: no IPv6 routers present br0: topology change detected, propagating br0: port 2(eth0) entering forwarding state br0: topology change detected, propagating br0: port 1(wlan0) entering forwarding state
# ifconfig
br0 Link encap:Ethernet HWaddr 00:21:E9:E7:AE:88
inet addr:10.79.2.2 Bcast:10.79.255.255 Mask:255.255.0.0
inet6 addr: fe80::221:e9ff:fee7:ae88/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:468 (468.0 b)eth0 Link encap:Ethernet HWaddr 00:22:41:30:92:18
inet6 addr: fe80::222:41ff:fe30:9218/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:59327 errors:0 dropped:0 overruns:0 frame:0
TX packets:34860 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28272439 (26.9 Mb) TX bytes:5007876 (4.7 Mb)
Interrupt:17lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1665 errors:0 dropped:0 overruns:0 frame:0 TX packets:1665 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
RX bytes:2650847 (2.5 Mb) TX bytes:2650847 (2.5 Mb)
wlan0 Link encap:Ethernet HWaddr 00:21:E9:E7:AE:88
inet6 addr: fe80::221:e9ff:fee7:ae88/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2004 errors:0 dropped:0 overruns:0 frame:296525
TX packets:799 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:150703 (147.1 Kb) TX bytes:77417 (75.6 Kb)
Interrupt:16wmaster0 Link encap:UNSPEC HWaddr 00-1B-11-08-88-F8-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
What is the output of "brctl br0 showmacs" ?
Are you running iptables or ebtables?
Quoted 99 lines · Alexandre Becholey
Hi
I have a similar problem than the one in this thread:
https://lists.linux-foundation.org/pipermail/bridge/2009-May/006383.html
and the network is quite similar:
http://inwww.epfl.ch/~becholey/network.jpg (every computer run linux there are no DHCP, every IP needs to be static)when I try to ping PC1 from PC2 I can see the ARP "who-has" going to PC1. PC1 answers, I can see the ARP is at on the bridge (on any interfaces), but they don't arrive to PC2 => "Destination Host Unreachable" when I try to ping PC2 from PC1 I can see on the bridge the ARP "who-has", but they don't arrive to PC2.
From the bridge, I can ping everybody.In both case I can see the number of packets increasing on the bridge with ifconfig, there are no drops and no errors..
The use of a bridge is not an option, because I need the same subnet (10.79.0.0) in the whole network :-/
Do you have an idea why the ARP packets can't be sent in "the air"? Or do you have a workaround for this?
I hope I provided enough information... Thanks in advance.Best regards,
Alexandre Becholey
PS: here is the configuration of the bridge: (I tried with 2 different wireless card, one mini-PCI broadcom and a USB dongle ralink)
# brctl addbr br0 # ifconfig wlan0 0.0.0.0 up # ifconfig eth0 0.0.0.0 up # iwconfig wlan0 essid my_ssid # brctl addif br0 wlan0 # brctl addif br0 eth0 # ifconfig br0 10.79.2.2 netmask 255.255.0.0 up # dmesg device eth0 entered promiscuous mode br0: port 2(eth0) entering learning state br0: port 1(wlan0) entering learning state br0: no IPv6 routers present br0: topology change detected, propagating br0: port 2(eth0) entering forwarding state br0: topology change detected, propagating br0: port 1(wlan0) entering forwarding state# ifconfig br0 Link encap:Ethernet HWaddr 00:21:E9:E7:AE:88 inet addr:10.79.2.2 Bcast:10.79.255.255 Mask:255.255.0.0 inet6 addr: fe80::221:e9ff:fee7:ae88/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:468 (468.0 b)eth0 Link encap:Ethernet HWaddr 00:22:41:30:92:18 inet6 addr: fe80::222:41ff:fe30:9218/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:59327 errors:0 dropped:0 overruns:0 frame:0 TX packets:34860 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:28272439 (26.9 Mb) TX bytes:5007876 (4.7 Mb) Interrupt:17lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1665 errors:0 dropped:0 overruns:0 frame:0 TX packets:1665 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
RX bytes:2650847 (2.5 Mb) TX bytes:2650847 (2.5 Mb)wlan0 Link encap:Ethernet HWaddr 00:21:E9:E7:AE:88 inet6 addr: fe80::221:e9ff:fee7:ae88/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2004 errors:0 dropped:0 overruns:0 frame:296525 TX packets:799 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:150703 (147.1 Kb) TX bytes:77417 (75.6 Kb) Interrupt:16wmaster0 Link encap:UNSPEC HWaddr 00-1B-11-08-88-F8-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)_______________________________________________
Bridge mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/bridge
Hi thanks for your reply.
# brctl showmacs br0 port no mac addr is local? ageing timer 2 00:14:2d:21:99:2a no 0.78 (<- PC1's mac) 1 00:1b:38:e8:51:1c no 5.75 (<- PC2's mac) 1 00:21:e9:e7:ae:88 yes 0.00 (<- wlan0) 2 00:22:41:30:92:18 yes 0.00 (<- eth1)
ifconfig shows that br0 has wlan0's mac address. If a use another wireless interface with a "higher" mac address, br0 has eth1's mac address
No iptables nor ebtables running.
Alexandre
Quoted 3 lines · [email protected] wrote:
What is the output of "brctl br0 showmacs" ?
Are you running iptables or ebtables?
Quoted 9 lines · Alexandre Becholey
Hi thanks for your reply.
# brctl showmacs br0 port no mac addr is local? ageing timer 2 00:14:2d:21:99:2a no 0.78 (<- PC1's mac) 1 00:1b:38:e8:51:1c no 5.75 (<- PC2's mac) 1 00:21:e9:e7:ae:88 yes 0.00 (<- wlan0) 2 00:22:41:30:92:18 yes 0.00 (<- eth1)
Quoted 6 lines
ifconfig shows that br0 has wlan0's mac address. If a use another wireless interface with a "higher" mac address, br0 has eth1's mac address
No iptables nor ebtables running.
Alexandre
Does your access point do any sort of filtering (like MAC-based table of authorized users)? Perhaps PC1 is not listed as authorized and so the AP won't forward his traffic when it receives it from the wireless side (repeated through the Linux bridge).
The linux bridge is a wireless client, not an access point, right?
Quoted 8 lines
Quoted 4 lines · [email protected] wrote:
What is the output of "brctl br0 showmacs" ?
Are you running iptables or ebtables?
Quoted 20 lines · [email protected] wrote:
Quoted 9 lines · Alexandre Becholey
Hi thanks for your reply.
# brctl showmacs br0 port no mac addr is local? ageing timer 2 00:14:2d:21:99:2a no 0.78 (<- PC1's mac) 1 00:1b:38:e8:51:1c no 5.75 (<- PC2's mac) 1 00:21:e9:e7:ae:88 yes 0.00 (<- wlan0) 2 00:22:41:30:92:18 yes 0.00 (<- eth1)Quoted 7 lines
ifconfig shows that br0 has wlan0's mac address. If a use another wireless interface with a "higher" mac address, br0 has eth1's mac address
No iptables nor ebtables running.
Alexandre
Quoted 7 lines
Does your access point do any sort of filtering (like MAC-based table of authorized users)? Perhaps PC1 is not listed as authorized and so the AP won't forward his traffic when it receives it from the wireless side (repeated through the Linux bridge).
The linux bridge is a wireless client, not an access point, right?
There are no filtering on the AP. I wasn't clear enough when I explained the problem.
I tried with 2 different wireless devices: a broadcom mini-PCI (b43) and a ralink USB (rt73usb), they both behave the same:
Let's take the case "PC1 pings PC2". PC1 first send ARP "who-has" (I can see them on PC1's eth0 and Bridge's br0, eth0 and wlan0 with wireshark or tcpdump). But I think that wlan0 doesn't send them to the AP because when I use another wireless interface in monitor mode (sniffing mode) with wireshark (I set the channel to the AP's one), I can't see any ARP packets.
Now with "PC2 pings PC1". PC2 send ARP "who-has". I see them with my wireless interface in monitor mode, I also see them on Bridge's wlan0, eth0 and br0 and on PC1's eth0. I see PC1 responding to the ARP "who-has" (with ARP "is at") on PC1's eth0, Bridge's br0, eth0 and wlan0. But I don't see them with my wireless interface in monitor mode. And therefore PC2 doesn't receive them.
It seems like wlan0 doesn't send them, but with ifconfig I can't see any drop or error packets. I see with "PC1 pings PC2" the number of packet increasing on wlan0 as the ARP "who-has" arrives on it from PC1.
And the Bridge can ping everything.
Now I also have another setup (which is the goal I want to achieve): from http://inwww.epfl.ch/~becholey/network.jpg take out the AP, wlan0 now is in master mode with hostapd and PC2 is connected to the Bridge wirelessly. The Bridge configuration doesn't changes except wlan0 in master mode with hostapd.
Here, it's a bit more strange...
PC2 can ping everything (it receives the ARP "is-at" from PC1). If there was another station connected to the Bridge wirelessly, PC2 would be able to ping it.
PC1 can't ping PC2 (same behavior in the setup with wlan0 as a wireless client), but if during this ping, with PC2 I ping the Bridge or PC1, PC1's ping reaches PC2. As soon as I stop PC2's ping, PC1's ping doesn't reach PC2 any more.
Of course PC1 can ping the Bridge. The Bridge can ping PC1 but not PC2 (same strange behavior when PC1 pings PC2, it works with a ping in the other direction).
I hope it's more clear.
PS: I want it to works with the most simple setup, therefore on any devices, there are no encryption, filtering,...