我们使用配备单个物理以太网端口的小型嵌入式 X86 Linux 服务器作为 IP 视频监控应用的网关。每个下游 IP 摄像头都映射到一个单独的虚拟 IP 地址,如下所示:真实 eth0 IP 地址 = 192.168.1.1,摄像头 1 (eth0:1) =192.168.1.61,摄像头 2 (eth0:2) =192.168.1.62,等等,全部位于同一个 eth0 物理端口上。
这种方法效果很好,但在同一 LAN 上的单独 PC 上运行的特定第三方 Windows 视频录制应用程序会在系统启动时自动 ping 虚拟 IP,寻找唯一的 who-has 响应,当它为每个虚拟接口返回相同的 eth0 MAC 地址时,就会崩溃,不允许我们随后手动输入这些地址。不过,如果 Windows 应用程序没有收到 who-has ping 的答复,它也不会介意。
我的问题是 - 我们如何才能(a)关闭仅针对虚拟 eth0:x 接口的 who-has 响应,同时将其保留在主物理 eth0 端口上,或者,另外,为每个虚拟接口伪造一个有效但不同的 MAC 地址?
谢谢!
答案1
我觉得arp_过滤器linux sysctl 可以解决你的问题,只需设置arp_filter=1
在每个虚拟接口上