Estou vendo um comportamento estranho e esperava que alguém me explicasse por que isso está acontecendo:
Eu tenho uma caixa linux com duas interfaces físicas:
arnout@arnout-VirtualBox ~ $ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:46:ee:f0
inet addr:10.0.20.58 Bcast:10.0.23.255 Mask:255.255.252.0
inet6 addr: fe80::a00:27ff:fe46:eef0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5942438 errors:0 dropped:1 overruns:0 frame:0
TX packets:2012142 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3291019944 (3.2 GB) TX bytes:343769813 (343.7 MB)
eth1 Link encap:Ethernet HWaddr 08:00:27:64:eb:76
inet addr:1.1.1.1 Bcast:1.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe64:eb76/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:651 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:169802 (169.8 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1107 errors:0 dropped:0 overruns:0 frame:0
TX packets:1107 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:92180 (92.1 KB) TX bytes:92180 (92.1 KB)
arnout@arnout-VirtualBox ~ $ uname -a
Linux arnout-VirtualBox 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:32:08 UTC 2012 i686 i686 i686 GNU/Linux
Se eu pingar 1.1.1.2, não tendo este endereço no cache do ARP (já que ele não existe), eu posso ver um pacote ARP normal:
"Who has 1.1.1.2, Tell 1.1.1.1"
No entanto, quando eu ping usando o endereço de origem do eth0 (ping 1.1.1.1 -I 10.0.20.58), este IP realmente é colocado no IP do pedido ARP!
"Who has 1.1.1.2, Tell 10.0.20.58"
Para mim, isso não faz sentido algum. Além disso, o host 1.1.1.2 (se existisse) poderia aprender que 10.0.20.58 tem o endereço MAC de 1.1.1.1, o que está errado. (provavelmente não muito ruim vai acontecer)
Se alguém souber por que o Linux está fazendo isso, por favor, compartilhe:)
Tags networking ping arp linux