Arp request sent on the 'left' namespace #82
Replies: 3 comments 11 replies
-
|
cc @Centaurus99 |
Beta Was this translation helpful? Give feedback.
-
|
What does the routing table looks like on the left namespace? You can check it with |
Beta Was this translation helpful? Give feedback.
-
|
I've done some more experiments on this, and I think that I may have come up with an explanation and some solution. Currently, the routing table in the left namespace is and the interfaces are and in on the other side, the 'right' namespace, the routes are The IP I tried to clear the routing table and reset it to the following in the left namespace, and now it can successefully ping My assumption is that, by specifying a default route with only the device name, linux assums that all IPs are reachable directly through that interface, and thus it tries to find the actual MAC address of the target by using ARP. My modified version of routing table, in contrast, tells linux that only |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm now confused on the rules linux follows to choose to send arp request for a certain ip. Now in rattan, the left name space has ip 10.1.1.1/32 and right has ip 10.2.1.1/32. I have created another interface with ip 10.3.1.1/16 on the right namespace.
From my understanding of arp, arp is used for searching for MAC of ips that that are in the same subnet with the host, and because the ip of the left interface has ip 10.1.1.1/32, any ip that is different from 10.1.1.1 should be considered on a different subnet, and when sending to these ips, linux should never send arp requests to try to figure out the MAC of the target, but instead send the packets according to the routing table to let its router to determine where the packet should go to. So when I try to ping 10.3.1.1 using 10.1.1.1, it should not send a arp to try to find the MAC of 10.3.1.1; instead, it should know that the target is not on the same subnet and send the packet to 10.2.1.1.
However, in my experiment, wireshark showed that pinging 10.3.1.1 using ip 10.1.1.1 will cause 10.1.1.1 to send arp request to try to find out 10.3.1.1's MAC, which is not what I expected. Where have I gone wrong?
Beta Was this translation helpful? Give feedback.
All reactions