Permanente Einträge in die ARP-Tabelle

Aus diversen Gründen habe ich meinen Homeserver-Pi wieder gegen einen PC getauscht: Den damit einhergehenden Mehrverbrauch an Strom minimiere ich durch recht rigide Strommaßnahmen, die ich mittels des Autosuspend-Daemons umsetze.

https://github.com/languitar/autosuspend

Das kleine Python-Programm schickt den PC nach einer definierbaren Zeit in den Ruhestand, überprüft aber vorab, ob eine Reihe von Ausschlussbedingungen erfüllt sind. Dazu können bestehende SSH- oder Samba-Verbindungen ebenso gehören wie eigene, selbstgeschrieben Tests. Außerdem setzt das Skript Wiederaufwach-Timer, die den PC entweder in Intervallen oder zu den Laufzeiten von Systemd-Timern aufwecken.

In meinem Setup schickt Autosuspend den PC nach 15 Minuten Untätigkeit in den S3-Sclaf und weckt ihn etwa zum Backup externe Dienste bzw. alle 5 Stunden wieder auf. Damit ich nicht immer ein Magic-Paket an den Rechner schicken muss, horcht die Ethernet-Schnittstelle des PCs auf eingehende Unicast-Pakete. Das funktioniert allerdings nur dann, wenn der anfragende Rechner die MAC-Adresse des PCs über einen dauerhaften Eintrag in seiner ARP-Tabelle bzw. NDP-Tabelle kennt.

https://de.wikipedia.org/wiki/Address_Resolution_Protocol

Unter Linux lässt sich das temporär auf der Kommandozeile mittels des Befehls ip für IPv4 eintragen:

Der Platzhalter $Schnittstelle steht dabei für die Netzwerkschnittstelle, über die der anzusprechende Rechner ($Hostname) mit seiner $MAC-Adresse zu erreichen ist. Mittels des Befehls

bekommt man übrigens sowohl die Einträge für IPv4 als auch IPv6 angezeigt:

Befehlsausgabe ip neighbor show

Da diese Einträge beim nächsten Boot wieder verschwinden, sollte man diese Einträge beim Start des Netzwerks setzen - etwa mittels eines Dispatcher-Skripts des NetworkManagers. Diese Skripte liegen meist im Verzeichis /etc/NetworkManager/dispatcher.d. Ein Beispiel dafür sieht etwa so aus:

https://networkmanager.dev/docs/api/latest/NetworkManager-dispatcher.html

Das Skript verwendet hier die Option -f, über die sich eine Datei angeben lässt, die pro Zeile eine MAC-Adresse und den dazu gehörenden Hostnamen enthält. Das ist pflegeleichter und flexibler, wenn es gilt neue Einträge hinzuzufügen. Die Shell-Variable $1 enthält hier die gerade startende ($2) Netzwerkschnittstelle.

-------------------------------

Reiko Kaps

Modified 2025-03-21 18:20

-------------------------------

Proxied content from gemini://k4p5.de/adding-permanent-arp-table-entries.gmi (external content)

Gemini request details:

Original URL
gemini://k4p5.de/adding-permanent-arp-table-entries.gmi
Status code
Success
Meta
text/gemini
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.