it-swarm.com.de

Fügen Sie statische ARP-Einträge hinzu, wenn das Netzwerk aufgerufen wird

Ich habe einige ziemlich dumme IP-Geräte in einem Subnetz mit meinem Ubuntu-Server, und der Server empfängt Streaming-Daten von jedem Gerät. Ich habe das Problem, dass beim Senden einer ARP-Anfrage an das Gerät, während Daten zum Server gestreamt werden, die Anfrage ignoriert wird, der Cache-Eintrag eine Zeitüberschreitung aufweist und der Server den Stream nicht mehr empfängt.

Um zu verhindern, dass der Server ARP-Anforderungen an diese Geräte sendet, möchte ich für jedes einen statischen ARP-Eintrag hinzufügen

arp -i eth2 -s ip.of.the.device mac:of:the:device

Diese "statischen" ARP-Einträge gehen jedoch verloren, wenn das Netzwerk deaktiviert/aktiviert oder der Server neu gestartet wird. Wo kann man diese Einträge am besten automatisch hinzufügen, am besten an einem Ort, an dem sie jedes Mal neu hinzugefügt werden, wenn die Schnittstelle eth2 aufgerufen wird?

Ich möchte wirklich kein Skript schreiben müssen, das die Ausgabe von arp überwacht und die Cache-Einträge erneut hinzufügt, wenn sie fehlen.


Bearbeiten, um das endgültige Skript hinzuzufügen:

Erstellt die Datei

 /etc/network/if-up.d/add-my-static-arp

Mit dem Inhalt:

#!/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

Und dann fügen Sie natürlich die Berechtigung hinzu, damit es ausgeführt werden kann:

chmod +x /etc/network/if-up.d/add-my-static-arp

Und diese Arp-Einträge werden jedes Mal manuell hinzugefügt oder neu hinzugefügt, wenn eine Netzwerkschnittstelle aufgerufen wird.

5
jozzas

Schauen Sie sich die Skripte in /etc/network/if-up.d an. Diese werden jedes Mal aufgerufen, wenn eine Schnittstelle in den Status p state wechselt. Sie können ein Skript mit den erforderlichen Befehlen erstellen und dort ablegen.

9
Mr Shunz
/etc/ethers

Diese Datei muss enthalten:

mac    ip-address
2
crester