我的 Ubuntu 服务器所在的子网上有一些非常笨的 IP 设备,服务器会从每个设备接收流式数据。我遇到了一个问题,当设备正在向服务器流式传输数据时,向设备发出 ARP 请求,请求会被忽略,缓存条目会超时,服务器会停止接收流式传输数据。
因此,为了防止服务器向这些设备发送 ARP 请求,我想为每个设备添加一个静态 ARP 条目,例如
arp -i eth2 -s ip.of.the.device mac:of:the:device
但是,如果禁用/启用网络或重新启动服务器,这些“静态”ARP 条目将会丢失。自动添加这些条目的最佳位置在哪里?最好是每次启动接口 eth2 时都会重新添加它们的地方?
我真的不想编写一个脚本来监视输出arp
并在缓存条目丢失时重新添加它们。
编辑以添加我的最终脚本:
创建文件
/etc/network/if-up.d/add-my-static-arp
内容如下:
#!/bin/sh
arp -i eth0 -s 192.168.0.4 00:50:cc:44:55:55
arp -i eth0 -s 192.168.0.5 00:50:cc:44:55:56
arp -i eth0 -s 192.168.0.6 00:50:cc:44:55:57
然后显然添加允许其执行的权限:
chmod +x /etc/network/if-up.d/add-my-static-arp
并且每次启动任何网络接口时,这些 arp 条目都会被手动添加或重新添加。
答案1
看看 中的脚本/etc/network/if-up.d
。每次接口进入时都会调用这些脚本上州。您可以创建一个包含所需命令的脚本并将其放在那里。
答案2
/etc/ethers
该文件必须包含:
mac ip-address