tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Networking strangeness in NetBSD 7



Hi,

I've been using NetBSD machines for NAT and firewalling for many years. As of NetBSD 7, though, I'm seeing several strange things.

First, dhcpd and rtadvd packets are somehow bleeding in to the wrong interfaces. An example is running rtadvd on wm0 and seeing advertisements being given to machines on re0. Here's what a client saw:

01:11:49.852530 IP6 :: > ff02::1:fff5:81b1: ICMP6, neighbor solicitation, who has 2001:470:a068:2b:8649:d273:62f5:81b1, length 24

I checked, double checked and triple checked the settings and even double checked the physical wiring - the machine running rtadvd was told to use wm0 and the interface which it had in common with the client that received that router solicitation was on a separate segment via re0.

When I ran tcpdump on wm0 on the machine running rtadvd, the problem didn't occur. When I stopped tcpdump, the client got the same reply to solicitation.

I've also been seeing something similar with dhcpd on a different machine which is a different architecture and has different interfaces. In this case, I'm seeing things like this:

Mar 20 16:16:59 cheese /netbsd: b4:f2:e8:ea:4c:a8 on aue0 tried to overwrite arp info for 10.12.25.190 on mvgbe0
Mar 20 16:16:59 cheese dhcpd: DHCPREQUEST for 10.12.25.190 (10.12.25.1) from b4:f2:e8:ea:4c:a8 (DIRECTV-HR34-E8EA4CA8) via mvgbe0
Mar 20 16:16:59 cheese dhcpd: DHCPACK on 10.12.25.190 to b4:f2:e8:ea:4c:a8 (DIRECTV-HR34-E8EA4CA8) via mvgbe0
Mar 20 16:23:16 cheese dhcpd: DHCPREQUEST for 10.12.25.125 from 68:09:27:80:46:96 via mvgbe0
Mar 20 16:23:16 cheese dhcpd: DHCPACK on 10.12.25.125 to 68:09:27:80:46:96 via mvgbe0
Mar 20 16:23:16 cheese dhcpd: DHCPREQUEST for 10.12.25.125 from 68:09:27:80:46:96 via aue0: wrong network.
Mar 20 16:23:16 cheese dhcpd: DHCPNAK on 10.12.25.125 to 68:09:27:80:46:96 via aue0
Mar 20 16:23:16 cheese dhcpd: send_packet: No buffer space available
Mar 20 16:23:16 cheese dhcpd: /usr/src/external/bsd/dhcp/bin/server/../../dist/server/dhcp.c:1746: Failed to send 300 byte long packet over aue0 interface.

Apr  1 07:41:32 cheese dhcpd: DHCPREQUEST for 10.12.25.189 from 90:8d:6c:91:69:98 via mvgbe0
Apr  1 07:41:32 cheese dhcpd: DHCPACK on 10.12.25.189 to 90:8d:6c:91:69:98 via mvgbe0
Apr  1 07:41:32 cheese dhcpd: DHCPREQUEST for 10.12.25.189 from 90:8d:6c:91:69:98 via aue0: wrong network.
Apr  1 07:41:32 cheese dhcpd: DHCPNAK on 10.12.25.189 to 90:8d:6c:91:69:98 via aue0
Apr  1 07:41:32 cheese dhcpd: send_packet: No buffer space available
Apr  1 07:41:32 cheese dhcpd: /usr/src/external/bsd/dhcp/bin/server/../../dist/server/dhcp.c:1746: Failed to send 300 byte long packet over aue0 interface.
Apr  1 07:48:23 cheese rtadvd[1509]: <ra_output> sendmsg on aue0: No buffer space available

On this machine, mvgbe0 is the 10.12.25 network and aue0 is the 10.12.26 network. The DIRECTV-HR34-E8EA4CA8 host is definitely on the aue0 (10.12.26) network, NOT on the mvgbe0 (10.12.25) network.

If I were to guess, I'd say that something is allowing broadcast traffic to be passed from one segment to another. Both machines are set to route IPv4 and IPv6 (one is from the Internet to the local 10.2.25 segment, and the other is from the 10.12.25 segment to the 10.12.26 segment; IPv6 is similarly set up). The only thing that's different from what I'd consider a typical install is that they have net.inet.ip.hostzerobroadcast set to zero.

FYI, one machine is an amd64 with a motherboard re0 and a PCI wm0 and wm1. The other is an evbarm Seagate Dockstar with mvgbe0 and USB aue0 and axe0. Both are running NetBSD 7 from within the last several days.

Any thoughts?

John Klos


Home | Main Index | Thread Index | Old Index