I am experiencing unexpected (to me) behavior, using netgraph on an ethernet segment with three hosts. The segment in question is a VirtualBox segment (Internal Network type, promiscuous mode allowed) with three FreeBSD 10.0 hosts acting as routers. My goal is to obtain Netflow data from each of them. Given the following configuration on each host:
It seems that hosts are re-transmitting packets received on the segment, if they are not the actual destination. For example, If I ping from host A to host B, host C also sees the echo request (due to the VBox promiscuous mode). Host C re-frames the request and sends it back out the ethernet interface, resulting in host B replying twice.
Is there some bit of configuration I may have overlooked that will prevent this behavior? Turning off promiscuous mode (in VirtualBox) is not possible, as two of the hosts are also using CARP.
Code:
ngctl mkpeer em0: tee lower right
ngctl name em0:lower em0T
ngctl connect em0: em0T: upper left
ngctl mkpeer em0T: netflow right2left iface0
ngctl name em0T:right2left netflow1
It seems that hosts are re-transmitting packets received on the segment, if they are not the actual destination. For example, If I ping from host A to host B, host C also sees the echo request (due to the VBox promiscuous mode). Host C re-frames the request and sends it back out the ethernet interface, resulting in host B replying twice.
Is there some bit of configuration I may have overlooked that will prevent this behavior? Turning off promiscuous mode (in VirtualBox) is not possible, as two of the hosts are also using CARP.