Thanks for your reply. Below ebtables rules are the entire content I used. Actually it will allow ARP query request to forward. What I confused about is that why the second forwarding will only happen after the client trigger a ARP request (query MAC of target host)? --allow client A(00:11:22:33:44:55) ebtables -t nat -F ebtalbes -t broute -F ebtables -t filter -F ebtables -t filter -P FORWARD ACCEPT ebtables -A FORWARD -s ! 00:11:22:33:44:55 -d ! 00:11:22:33:44:55 -j DROP --deny any net request forwarding ebtables -t nat -F ebtables -t broute -F ebtables -t filter -F ebtables -t filter -P FORWARD DROP 2012/7/8 Sven-Haegar Koch <haegar@xxxxxxxxx> On Sun, 8 Jul 2012, gmail wrote: > 5, Now again allow this specific mac to travel between eth0 and eth2. > ebtable -A FORWARD -s ! 00:11:22:33:44:55 -d ! 00:11:22::33:44:55 -j DROP > 6, Now again, using ping tool to check network connectivity. (eth0-eth2). > The expected result is that network connection between eth0 and eth2 should be available. But unfortuntly sometimes the connectivity is not available. This happends about 2-3 times when I tried this for 10 times. This is a little strange to me. And the network is only available after the host send a ARP request through eth0, only then the network becomes available again. > Please can anyone help about this? Thanks a lot. Did you forget about the ARP queries from the other boxes asking for the ip of the box with the mac 00:11:22:33:44:55? They come from the query hosts mac and go to the broadcast (ff:ff:ff:ff:ff:ff), asking for the mac of ip a.b.c.d. Those get dropped with your above setup and never reaching your special host, so the other hosts do not know to which mac to send the packets. c'ya sven-haegar -- Three may keep a secret, if two of them are dead. - Ben F. -- Jin Zhang?韬{.n?????%??檩??w?{.n???租??)?骅w*jg????????G??⒏⒎?:+v????????????"??????