Joh*_*yon 7 10.04 networking ifconfig
我的 Ubuntu 服务器在一个子网上有一些非常愚蠢的 IP 设备,服务器从每个设备接收流数据。我遇到了一个问题,当设备在将数据流式传输到服务器时向设备发出 ARP 请求时,该请求将被忽略,缓存条目超时并且服务器停止接收流。
因此,为了防止服务器完全向这些设备发送 ARP 请求,我想为每个设备添加一个静态 ARP 条目,例如
arp -i eth2 -s ip.of.the.device mac:of:the:device
Run Code Online (Sandbox Code Playgroud)
但是,如果禁用/启用网络或重新启动服务器,这些“静态”ARP 条目将丢失。自动添加这些条目的最佳位置在哪里,最好是每次启动接口 eth2 时都会重新添加它们的地方?
我真的不想编写一个脚本来监视输出arp并在它们丢失时重新添加缓存条目。
编辑以添加我的最终脚本:
创建了文件
/etc/network/if-up.d/add-my-static-arp
Run Code Online (Sandbox Code Playgroud)
内容如下:
#!/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
Run Code Online (Sandbox Code Playgroud)
然后显然添加允许它执行的权限:
chmod +x /etc/network/if-up.d/add-my-static-arp
Run Code Online (Sandbox Code Playgroud)
每次启动任何网络接口时,都会手动添加或重新添加这些 arp 条目。
Mr *_*unz 10
看一看中的脚本/etc/network/if-up.d。每次接口进入up 状态时都会调用它们。您可以使用所需的命令创建脚本并将其放在那里。