启动网络时添加静态ARP条目
我的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条目。
看一下/etc/network/if-up.d
中的脚本。 每次接口进入up状态时都会调用它们。 您可以使用所需命令创建脚本并将其放在那里。
/etc/ethers
该文件必须包含:
mac ip-address