I have a network setup where both the LAN interface (eth0) and WAN
interface (eth1) of a Router running Linux will be put into same Switch.
The setup is :
LAN network is : 192.168.1.0/24 ( Router LAN interface IP is
192.168.1.1/24 with xx:01 as MAC)
Router WAN interface IP is a static public IP with xx:02 as MAC.
Now when a PC from the LAN networks tries to reach (ping) LAN interface
(eth0) of Router i observe vague ARP entry in the PC for the IP.
I see some times WAN interface (eth1) MAC as the ARP entry in PC and some
times LAN interface (eth0) MAC as the ARP entry in the PC.
For every ARP request i see two responses one with WAN interface MAC and
one with LAN interface MAC.
I observed this is happening because, both the interfaces are receiving the
ARP broadcast request from the PC and sending up the stack to ARP module
and which responds with the corresponding interface MAC upon which it
received the packet.
My requirement is to make ARP module not to respond for the packet received
on WAN interface (eth1) with requested IP as LAN interface (eth0) IP.
Will the arp_filter () in net/ipv4/arp.c can do this ?
Also is there any draw back by doing so ?