Why does an IP on a dummy interface answer to an ARP request on eth0

davidgo

I've brought up a dummy interface on my (Ubuntu 15.10) laptop with an ip address of 10.0.3.144, netmask 255.255.255.255

I have a USB -> Ethernet adaptor. When plugged in this is configured to provide an "eth0" interface, which gets its IP address via DHCP in the range 10.0.3.2 - 10.0.3.10 (netmask 255.255.255.0)

I notice that when eth0 comes up - for example on 10.0.3.2, other machines can reach 10.0.3.144 - this is desired behaviour, but I don't understand exactly WHY this is happening. I do not have any kind of bridging set up, so I would have thought that the machine would not have answered for the dummy interface.

I can see arp requests and replies on the laptops eth interface -

tcpdump -n -i eth0 arp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

tcpdump -n -i eth0 arp
14:01:31.948781 ARP, Request who-has 10.0.3.144 tell 10.0.3.254, length 48
14:01:31.948842 ARP, Reply 10.0.3.144 is-at 00:23:55:9c:52:31, length 28

This behaviour is repeatable if I remove the ARP entry on 10.0.3.254 (which happens to be a router also running Linux)

Can anyone advise if I can rely on this behaviour? (and why a computer would answer on the an interface for an IP address not bound to it - and relatedly - would this have the potential to, under certain circumstances, stuff up routing in scenarios where there were multiple interfaces on different subnets and packets should be forced to traverse a firewall?).

sawdust

why a computer would answer on the an interface for an IP address not bound to it

That's not necessarily true on a Linux host.
The IP address by default belongs to the Linux host, not an interface.
See Linux considers an IP address as belonging to a host rather than an interface

This "feature" of Linux is sometimes referred to as the "ARP flux problem", and is described in section 2.1.4 of Address Resolution Protocol (ARP)

There are several methods of changing this behaviour in Linux. I have in the past patched the kernel to eliminate it. Other methods are less intrusive, as mentioned in the LVS HOWTO.
If you do nothing, then this ARP behaviour should be consistent.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Getting the ip address of eth0 interface in java only return IPv6 address and not IPv4

Why does a HTTP GET request with vanilla Rust get no answer?

eth0 IP in the docker IPs range

What does the eth0 interface name mean in Linux?

Why the default eth0 interface is down by default on CentOS?

eth0 is proxy-arping, but /proc/sys/net/ipv4/conf/eth0/proxy_arp is 0

Why does Linux network traffic only go through eth0?

Linux does not reply to ARP request messages if requested IP address is associated with another (disabled) interface

check if interface eth0 is up (configured)

Why is my ethernet interface called enp0s10 instead of eth0?

IP Address not populating in eth0 in ifconfig

Why can't devices connected to my wlan0 interface communicate with eth0 devices?

How to display IP address of eth0 interface using a shell script?

Why is my network interface named enp0s25 instead of eth0?

Does a DHCP client is expected to send DHCP request unicast to the Server in the event of a Unplug/replug or eth0 down and up?

Not responding to ARP w/ request for IP 0.0.0.0

Device "eth0" does not exist

Can't set a static IP (Ubuntu 14) "interface eth0 not configured"

FreeDOS does not answer ARP

What creates eth0:avahi interface?

NAT a specific IP to go to ppp0 and others to go to eth0 coming from internal wifi interface

How wait for eth0 interface before running "ip link", "ip addr" and "ip route" commands?

Why i have an ip for ssh and ifconfig shows another one in eth0?

Why does a PING reply require an ARP request for the originating hosts MAC?

eth0 interface is missing

What's the difference between a virtual network interface (e.g. eth0:1) and an alias or second IP added to eth0?

Interface eth0 not configured

Why does PPP over Serial not answer to ping request?

Why does this always answer 0 in modulo?

TOP Ranking

HotTag

Archive