From owner-freebsd-questions@FreeBSD.ORG Thu Aug 28 08:45:06 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E052C106564A for ; Thu, 28 Aug 2008 08:45:06 +0000 (UTC) (envelope-from adrian@thearle.com.au) Received: from albert.thearle.com.au (albert.thearle.com.au [150.101.115.54]) by mx1.freebsd.org (Postfix) with ESMTP id 500978FC16 for ; Thu, 28 Aug 2008 08:45:06 +0000 (UTC) (envelope-from adrian@thearle.com.au) Received: from [192.168.123.148] (unknown [192.168.123.148]) (Authenticated sender: adrian@thearle.com.au) by albert.thearle.com.au (Postfix) with ESMTPSA id 72E82C3 for ; Thu, 28 Aug 2008 18:28:48 +1000 (EST) Message-ID: <48B661B7.6010006@thearle.com.au> Date: Thu, 28 Aug 2008 18:28:39 +1000 From: Adrian Thearle User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: freebsd-questions@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.93.3/8104/Thu Aug 28 12:11:35 2008 on albert.thearle.com.au X-Virus-Status: Clean Subject: Wireless and Broadcast packets problem X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Aug 2008 08:45:07 -0000 Hi Guys I am having a problem with my wireless network. The Issue is that clients connected to the wireless LAN cannot _see_ other clients. My understanding of 802.11 was that clients could talk to other clients, except all traffic would go via the access point and that the AP would forward on the packets. This also ensures that encryption works as expected as well as other RF issues. One thing that I can see is going wrong is that clients on the Wireless Lan sending Broadcast packets, but they are not being forwarded by the AP to anyone else... Wireless clients also cannot ping each other (mainly because their ARP requests are not being answered) Below is a simplified system diagram. AdriansPC AlbertAP \|/ --------- 192.168.123/24 ------------ | | |--LAN------bge0-| |---| ral0 (192.168.124/24) |________| |____________|----------tun0--->PPPoE(bge0) Windows FreeBSD Sneaky \|/ --------- | | |---| 192.168.124.2 (Static IP address) |________| ral0 FreeBSD Laptop \|/ --------- | | |---| 192.168.124.150 (DHCP) |________| Windows When running TCPDump on AlbertAP I can see plenty of wireless traffic going around the place. Wireless Clients are able to connect and have their session is encrypted with WPA. This all seems to work, wireless clients are able to browse the net. (Those that can get an IP address anyway, which happens to be the windows machines) *Problem* I have run tcpdump on both AlbertAP and Sneaky and seem some interesting omissions. When I ping Sneaky from Laptop I see on Albert the ARP request come out from Laptop asking for Sneaky's MAC address. AlbertAP> tcpdump -i ral0 10:27:51.979664 arp who-has 192.168.124.2 tell 192.168.124.150 10:27:51.979684 arp who-has 192.168.124.2 tell 192.168.124.150 But on Sneaky I cannot see these packets comming in... All I get is random EAP traffic Sneaky> tcpdump -i ral0 10:30:32.987961 EAP code=2 id=3 length=123 10:30:32.988383 EAP code=1 id=3 length=95 10:30:32.990557 EAP code=2 id=3 length=135 10:30:32.991548 EAP code=1 id=3 length=95 However if a Wired client like AdriansPC tries to ping Laptop then things work. Albert knows the MAC address of the Wireless client to send the ping packet to and so just sends it off. *Problem* The other thing I see alot of is netbios broadcast traffic coming from the Laptop on the wireless. Albert can see all this traffic coming in, but none of it gets forwarded to Sneaky, (nothing about netbios from a tcpdump on sneaky). The same can be said for a particular client doing DHCP/BOOTP. On AlbertAP, I see the request come in and see the response go out (the response goes to 255.255.255.255) but I do not see this on sneaky (I should right, its a broadcast address). Oh and I don't think this client is actually getting a response as I can't do much with it(ie ping). (Its a wireless print server) Interestingly enough DHCP does seem to work to Laptop. I believe that this is because windows is doing DHCP, where as my print server is doing BOOTP. *It does work* Just so you believe me that normal traffic does get around, here is a ping from sneaky to albert. Sneaky> tcpdump -i ral0 10:36:11.243678 arp who-has 192.168.124.1 tell 192.168.124.2 10:36:11.244634 arp reply 192.168.124.1 is-at 00:1a:ee:00:d5:c0 (oui Unknown) 10:36:11.244693 IP 192.168.124.2 > 192.168.124.1: ICMP echo request, id 18949, seq 0, length 64 10:36:11.251920 IP 192.168.124.1 > 192.168.124.2: ICMP echo reply, id 18949, seq 0, length 64 AlbertAP> tcpdump -i ral0 10:36:11.241001 arp who-has 192.168.124.1 tell 192.168.124.2 10:36:11.241017 arp who-has 192.168.124.1 tell 192.168.124.2 10:36:11.241042 arp reply 192.168.124.1 is-at 00:1a:ee:00:d5:c0 (oui Unknown) 10:36:11.248582 IP 192.168.124.2 > 192.168.124.1: ICMP echo request, id 18949, seq 0, length 64 10:36:11.248600 IP 192.168.124.1 > 192.168.124.2: ICMP echo reply, id 18949, seq 0, length 64 *Discussion Point* I find it interesting that sneaky asks for 192.168.124.1's MAC address with an ARP request, but albert got two of them... *System Details* Things are basically setup as detailed in the Handbook, with the wireless LAN on a different Subnet to the wired one. I have also had a go at bridging the two interfaces but ran into trouble so didn't spend long there. I expect I would have the same issues. AlbertAP> uname -a FreeBSD albertAP 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #2: Mon Jul 14 09:00:17 EST 2008 adrian@albertAP:/usr/obj/usr/src/sys/AdriansKernel i386 AlbertAP> ifconfig bge0: flags=8843 metric 0 mtu 1500 options=9b ether 00:11:85:b3:a2:7e inet 192.168.123.1 netmask 0xffffff00 broadcast 192.168.123.255 media: Ethernet autoselect (100baseTX ) status: active ral0: flags=8943 metric 0 mtu 2290 ether 00:1a:ee:00:d5:c0 inet 192.168.124.1 netmask 0xffffff00 broadcast 192.168.124.255 media: IEEE 802.11 Wireless Ethernet autoselect mode 11g status: associated ssid Wireless channel 3 (2422 Mhz 11g) bssid 00:1a:ee:00:d5:c0 authmode WPA privacy MIXED deftxkey 2 TKIP 2:128-bit TKIP 3:128-bit txpower 50 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi11g 7 roam:rate11g 5 protmode CTS dtimperiod 1 plip0: flags=108810 metric 0 mtu 1500 lo0: flags=8049 metric 0 mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 tun0: flags=8051 metric 0 mtu 1492 inet 111.111.111.11 --> 222.22.222.222 netmask 0xffffffff (sanatised) Opened by PID 433 ifconfig_ral0="inet 192.168.124.1 ssid Wireless channel 3 mode 11g mediaopt hostap up" hostapd_enable="YES" ipfw Firewall rules ipfw add 007 allow all from any to any via ral0 So is there any chance there is a magic sysctl or ifconfig switch that will make these broadcast packets go to everyone...? or is there another problem? or is this just all the FreeBSD supports at the moment? or am I just dumb... Your help is appreciated Adrian