![如何强制对 IP 地址进行 ARP 回复?](https://linux22.com/image/126106/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%E5%AF%B9%20IP%20%E5%9C%B0%E5%9D%80%E8%BF%9B%E8%A1%8C%20ARP%20%E5%9B%9E%E5%A4%8D%EF%BC%9F.png)
目前,我的设置是一台机器有多个 IP 地址。对于一些实验,我设置了一些ip rule
条目,以便对于某些 IP 地址,数据包被转发到设备本地的另一个虚拟接口。
现在的问题是,对于这个特定的IP地址,当它收到对该IP地址的ARP请求时,机器似乎不再将其识别为本地IP地址。
有没有办法强制对这些地址(指向本地虚拟接口)进行 ARP 回复?
我在 Ubuntu 16.04 上运行。例如,对于其中一个 IP 地址(我们称之为)<x>
,我在覆盖本地路由表的表中添加了一条 IP 规则。
ip route add <x> dev <internal-virtual-interface>
所以如果我这样做了ip route get <x>
,它会返回... <internal-virtual-interface> ...
而不是... dev lo ...
答案1
使用arp:
# arp -Ds 10.1.1.2 eth0 pub