-- Leo's gemini proxy

-- Connecting to nc.k4p5.de:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Permanente Einträge in die ARP-Tabelle


> Published at 2023-11-22T11:30:42+01:00



Date: 2023-10-03 18:20

Modified: 2023-10-03 18:20

Category: Network Tags: arp, network, linux, offline

Slug: permanent-arp-entry

Author: Reiko Kaps


> Permanente Einträge in die lokale ARP- bzw. NDP-Tabelle eines Linux-Rechners

> einfügen


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.


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.


Unter Linux lässt sich das temporär auf der Kommandozeile mittels des

Befehls ip für IPv4 eintragen:


Der Platzhalter

SchnittstellestehtdabeifürdieNetzwerkschnittstelle, überdiederanzusprechendeRechner(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]{: .image-process-large-photo}


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:


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.

-- Response ended

-- Page fetched on Fri May 10 07:33:47 2024