tachtler:arpwatch_archlinux
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
tachtler:arpwatch_archlinux [2021/09/19 08:53] – [/etc/systemd/system/arpwatch@.service] klaus | tachtler:arpwatch_archlinux [2022/03/31 05:35] (aktuell) – [Installation] klaus | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
[[https:// | [[https:// | ||
+ | |||
+ | ^ Beschreibung | ||
+ | | Homepage | ||
+ | | Dokumentation | ||
+ | ===== Funktionsweise ===== | ||
+ | |||
+ | Folgende Ereignisse werden von ARPwatch überwacht: | ||
+ | |||
+ | ^ Ereignis | ||
+ | | new activity | ||
+ | | new station | ||
+ | | flip flop | Die Ethernet Adresse hat sich zu einer schon mal verwendeten Ethernet Adresse geändert | ||
+ | | changed ethernet address | ||
+ | |||
+ | Folgende '' | ||
+ | |||
+ | ^ Nachricht | ||
+ | | ethernet broadcast | ||
+ | | ip broadcast | ||
+ | | bogon | Die Quell-IP-Adresse ist keine Adresse eines lokalen '' | ||
+ | | ethernet broadcast | ||
+ | | ethernet mismatch | ||
+ | | reused old ethernet address | Die Ethernet Adresse wurde in eine bereits vorher oder weit vorher gesehene Adresse geändert | ||
+ | | suppreddes DECnet flip flop | Ein "flip flop" Report wurde ausgelöst da eine der beiden gesehenen Adressen eine DECnet Addresse ist | | ||
+ | |||
+ | :!: **HINWEIS** - Informationen zu DECnet-Adressen sind hier zu finden [[http:// | ||
===== Installation ===== | ===== Installation ===== | ||
Zeile 13: | Zeile 39: | ||
</ | </ | ||
- | :!: WICHTIG - **Es ist ein smtp-forwarder | + | :!: **WICHTIG** - **Es ist ein smtp-forwarder |
+ | |||
+ | :!: **HINWEIS** - **Nachfolgend soll dafür '' | ||
Folgender Befehl ist zur Installation auszuführen: | Folgender Befehl ist zur Installation auszuführen: | ||
+ | < | ||
+ | # pacman -S arpwatch | ||
+ | </ | ||
+ | ++++ Installationsverlauf | | ||
< | < | ||
# pacman -S arpwatch | # pacman -S arpwatch | ||
Zeile 70: | Zeile 102: | ||
==> root: 27 | ==> root: 27 | ||
</ | </ | ||
+ | ++++ | ||
Mit nachfolgendem Befehl kann überprüft werden, was der Inhalt des Pakets '' | Mit nachfolgendem Befehl kann überprüft werden, was der Inhalt des Pakets '' | ||
+ | < | ||
+ | # pacman -Qil arpwatch | ||
+ | </ | ||
+ | ++++ Installierte Dateien | | ||
< | < | ||
# pacman -Qil arpwatch | # pacman -Qil arpwatch | ||
Zeile 117: | Zeile 154: | ||
arpwatch / | arpwatch / | ||
</ | </ | ||
+ | ++++ | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
Zeile 138: | Zeile 176: | ||
# Tachtler | # Tachtler | ||
# default: After=network.target | # default: After=network.target | ||
- | After=network.target postfix.service | + | After=network.target network-online.target postfix.service |
+ | # Tachtler - new - | ||
+ | Wants=network-online.target | ||
[Service] | [Service] | ||
Zeile 146: | Zeile 186: | ||
# Tachtler | # Tachtler | ||
# default: ExecStart=/ | # default: ExecStart=/ | ||
- | ExecStart=/ | + | ExecStart=/ |
[Install] | [Install] | ||
Zeile 152: | Zeile 192: | ||
</ | </ | ||
+ | **__Erklärungen__**: | ||
+ | |||
+ | Nachfolgende Parameter wurden zum Aufruf von ''/ | ||
+ | |||
+ | * <code ini> | ||
+ | Wants=network-online.target | ||
+ | </ | ||
+ | |||
+ | Der Service soll nicht nur nach dem Start des Netzwerkes, sondern auch erst nach dem das Netzwerk ativ ist und nach dem Start des Dienstes [[http:// | ||
+ | |||
+ | * <code ini>-D / | ||
+ | |||
+ | Das Flag '' | ||
+ | |||
+ | * <code ini>-w klaus@tachtler.net</ | ||
+ | |||
+ | Das Flag '' | ||
+ | |||
+ | * <code ini>-W arpwatcher@tachtler.net</ | ||
+ | |||
+ | Das Flag '' | ||
+ | |||
+ | * <code ini> | ||
+ | |||
+ | Das Flag -Z verwendet mit Null aufgefüllte Ethernet-Adressen in arp.dat, z. B. 00: | ||
+ | |||
+ | Nach Abschluss der Änderungen, | ||
+ | < | ||
+ | # systemctl daemon-reload | ||
+ | </ | ||
+ | |||
+ | :!: **HINWEIS** - Keine Ausgabe bedeutet eine korrekte Ausführung des Befehls! | ||
+ | |||
+ | ===== ARPwatch starten ===== | ||
+ | |||
+ | ==== Dienst: postfix.service einrichten ==== | ||
+ | |||
+ | :!: **WICHTIG** - **Auf die Konfiguration von [[http:// | ||
+ | |||
+ | Bevor [[https:// | ||
+ | |||
+ | Falls dies nicht der Fall sein sollte, muss dies ebenfalls noch wie folgt eingerichtet werden, was mit nachfolgenden Befehlen erfolgen kann | ||
+ | |||
+ | Um das Starten von [[http:// | ||
+ | < | ||
+ | # systemctl enable postfix.service | ||
+ | Created symlink / | ||
+ | </ | ||
+ | |||
+ | Ein Überprüfung, | ||
+ | < | ||
+ | # systemctl list-unit-files --type=service | grep postfix | ||
+ | postfix.service | ||
+ | </ | ||
+ | bzw. | ||
+ | < | ||
+ | # systemctl is-enabled postfix.service | ||
+ | enabled | ||
+ | </ | ||
+ | |||
+ | ==== Dienst: postfix.service starten ==== | ||
+ | |||
+ | Um [[http:// | ||
+ | < | ||
+ | # systemctl start postfix.service | ||
+ | </ | ||
+ | |||
+ | Nachfolgender Befehl gibt den Status des [[http:// | ||
+ | < | ||
+ | # systemctl status postfix.service | ||
+ | ● postfix.service - Postfix Mail Transport Agent | ||
+ | | ||
+ | | ||
+ | Process: 64247 ExecStart=/ | ||
+ | Main PID: 64315 (master) | ||
+ | Tasks: 3 (limit: 2347) | ||
+ | | ||
+ | CPU: 245ms | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Sep 19 09:33:16 server systemd[1]: Starting Postfix Mail Transport Agent... | ||
+ | Sep 19 09:33:16 server postfix/ | ||
+ | Sep 19 09:33:16 server postfix/ | ||
+ | Sep 19 09:33:16 server systemd[1]: Started Postfix Mail Transport Agent. | ||
+ | </ | ||
+ | |||
+ | Im '' | ||
+ | < | ||
+ | # journalctl -u postfix | ||
+ | -- Journal begins at Fri 2021-09-17 06:22:32 CEST, ends at Sun 2021-09-19 09:33> | ||
+ | Sep 19 09:33:16 server systemd[1]: Starting Postfix Mail Transport Agent... | ||
+ | Sep 19 09:33:16 server postfix/ | ||
+ | Sep 19 09:33:16 server postfix/ | ||
+ | Sep 19 09:33:16 server systemd[1]: Started Postfix Mail Transport Agent. | ||
+ | </ | ||
+ | |||
+ | ==== Dienst: arpwatch@[interface].service einrichten ==== | ||
+ | |||
+ | Um das Starten von [[https:// | ||
+ | < | ||
+ | # systemctl enable arpwatch@eth0.service | ||
+ | Created symlink / | ||
+ | </ | ||
+ | Bei **__mehreren__ Netzwerk-Interfaces** muss der Befehl pro Interface einfach wiederholt werden, wie nachfolgend dargestellt: | ||
+ | < | ||
+ | # systemctl enable arpwatch@eth1.service | ||
+ | Created symlink / | ||
+ | </ | ||
+ | |||
+ | Ein Überprüfung, | ||
+ | < | ||
+ | # systemctl --state=loaded | grep arpwatch@ | ||
+ | arpwatch@eth0.service | ||
+ | arpwatch@eth1.service | ||
+ | </ | ||
+ | bzw. | ||
+ | < | ||
+ | # systemctl is-enabled arpwatch@eth0.service | ||
+ | enabled | ||
+ | </ | ||
+ | und bei **__mehreren__ Netzwerk-Interfaces** muss der Befehl pro Interface einfach wiederholt werden, wie nachfolgend dargestellt: | ||
+ | < | ||
+ | # systemctl is-enabled arpwatch@eth1.service | ||
+ | enabled | ||
+ | </ | ||
+ | |||
+ | ==== Dienst: arpwatch@[interface].service starten ==== | ||
+ | |||
+ | Um [[https:// | ||
+ | < | ||
+ | systemctl start arpwatch@eth0.service | ||
+ | </ | ||
+ | und bei **__mehreren__ Netzwerk-Interfaces** muss der Befehl pro Interface einfach wiederholt werden, wie nachfolgend dargestellt: | ||
+ | < | ||
+ | # systemctl start arpwatch@eth1.service | ||
+ | </ | ||
+ | |||
+ | Nachfolgender Befehl gibt den Status des [[https:// | ||
+ | < | ||
+ | # systemctl status arpwatch@eth0.service | ||
+ | ● arpwatch@eth0.service - Watch ARP on interface eth0 | ||
+ | | ||
+ | | ||
+ | Process: 64339 ExecStartPre=/ | ||
+ | Process: 64340 ExecStart=/ | ||
+ | Main PID: 64341 (arpwatch) | ||
+ | Tasks: 1 (limit: 2347) | ||
+ | | ||
+ | CPU: 24ms | ||
+ | | ||
+ | | ||
+ | |||
+ | Sep 19 09:36:18 server systemd[1]: Starting Watch ARP on interface eth0... | ||
+ | Sep 19 09:36:18 server systemd[1]: Started Watch ARP on interface eth0. | ||
+ | Sep 19 09:36:18 server arpwatch[64341]: | ||
+ | </ | ||
+ | und bei **__mehreren__ Netzwerk-Interfaces** muss der Befehl pro Daemon/ | ||
+ | < | ||
+ | | ||
+ | ● arpwatch@net1.service - Watch ARP on interface net1 | ||
+ | | ||
+ | | ||
+ | Process: 64361 ExecStartPre=/ | ||
+ | Process: 64362 ExecStart=/ | ||
+ | Main PID: 64363 (arpwatch) | ||
+ | Tasks: 1 (limit: 2347) | ||
+ | | ||
+ | CPU: 23ms | ||
+ | | ||
+ | | ||
+ | |||
+ | Sep 19 09:41:54 server systemd[1]: Starting Watch ARP on interface eth1... | ||
+ | Sep 19 09:41:54 server systemd[1]: Started Watch ARP on interface eth1. | ||
+ | Sep 19 09:41:54 server arpwatch[64363]: | ||
+ | </ | ||
+ | |||
+ | Im '' | ||
+ | < | ||
+ | # journalctl -u arpwatch* | ||
+ | -- Journal begins at Fri 2021-09-17 06:22:32 CEST, ends at Sun 2021-09-19 09:41> | ||
+ | Sep 19 09:36:18 server systemd[1]: Starting Watch ARP on interface eth0... | ||
+ | Sep 19 09:36:18 server systemd[1]: Started Watch ARP on interface eth0. | ||
+ | Sep 19 09:36:18 server arpwatch[64341]: | ||
+ | Sep 19 09:41:54 server systemd[1]: Starting Watch ARP on interface eth1... | ||
+ | Sep 19 09:41:54 server systemd[1]: Started Watch ARP on interface eth1. | ||
+ | Sep 19 09:41:54 server arpwatch[64363]: | ||
+ | </ | ||
+ | |||
+ | ===== ARPWatch überprüfen ===== | ||
+ | |||
+ | ==== ARPWatch: / | ||
+ | |||
+ | In der Datei, hier z.B. | ||
+ | * ''/ | ||
+ | * ''/ | ||
+ | werden standardmäßig alle Ethernet-MAC/ | ||
+ | <code ini> | ||
+ | 52: | ||
+ | 52: | ||
+ | </ | ||
+ | |||
+ | ==== ARPwatch: E-Mail ==== | ||
+ | |||
+ | Ein e-Mail-Benachrichtigung könnte wie folgt aussehen: | ||
+ | < | ||
+ | Date: Sun, 19 Sep 2021 09:47:35 +0200 (CEST) | ||
+ | From: arpwatch@tachtler.net (Arpwatch) | ||
+ | To: root@tachtler.net | ||
+ | Subject: new station (server.tachtler.net) | ||
+ | |||
+ | hostname: server.tachtler.net | ||
+ | ip address: 192.168.0.10 | ||
+ | ethernet address: 52: | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ==== ARPwatch: journald ==== | ||
+ | |||
+ | Meldungen im '' | ||
+ | < | ||
+ | # journalctl -u arpwatch* | ||
+ | ... | ||
+ | Sep 19 09:53:01 server arpwatch[64341]: | ||
+ | Sep 19 09:53:01 server arpwatch[64341]: | ||
+ | </ | ||
tachtler/arpwatch_archlinux.1632034423.txt.gz · Zuletzt geändert: 2021/09/19 08:53 von klaus