Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:dhcp_c6 [06.10.2011 14:13. ]
django [Status-eMail] aktualisiert
centos:dhcp_c6 [20.04.2018 10:37. ] (aktuell)
Zeile 1: Zeile 1:
 +====== DHCP-Server Konfigurieren unter CentOS 6.x ======
 +Für die Zuweisung der Netzwerkkonfiguration an den Klienten durch unseren Server bedienen wir uns des DHCP((**D**ynamic **H**ost **C**onfiguration **P**rotocol)),​ DHCP ist eine //​Ergänzung und Erweiterung//​ von BOOTP((Bootstrap Protocol)). DHCP wurde im RFC 2131 definiert und bekam von der Internet Assigned Numbers Authority die beiden UDP-Ports 67 und 68 zugewiesen.
 +
 +Mittels DHCP ist die automatische Einbindung eines neuen Klienten in unser bestehendes Netzwerk ohne große manuelle Konfiguration möglich. Am Klient muss daher nur der automatische Bezug der IP-Adresse eingestellt sein. Beim Start des Klienten am Netz kann dieser die IP-Adresse, die Netzmaske, das Gateway, DNS-Server und weitere Konfigurationsparameter vom DHCP-Server beziehen. Neben diesen klassischen Parametern zählen hierzu auch die Verwendung einer Reihe von weiteren IP-Variablen,​ wie z.B.: X-Display- , Time-, Swap-, NIS-Server und die Unterstützung von Vendor-Code-Identifiern zum Einsatz im Bereich PXE((**P**reboot e**X**ecution **E**nvironment)) finden.
 +
 +Beim Starten eines Klienten frägt dieser über einen Broadcast im gesamten Netzwerk nach (s)einer IP-Adresse. Als Antwort auf seinen Broadcast erhält er die beiden wichtigsten Parameter:
 +  * IP-Adresse
 +  * Lease-Time
 +Darüber hinaus können optional noch weitere Parameter mit übergeben werden, wie z.B.:
 +  * Default-Route
 +  * Netzmaske
 +  * DNS-Server-Adressen
 +  * WINS-Server
 +  * Broadcast-Adresse
 +  * IP-Varialen
 +  * sowie noch weitere Parameter
 +===== DHCP-Adressvergabe =====
 +Der grundsätzliche Ablauf bei der Adress-Anfrage folgt dabei folgendem Schema. Die Kommunikation zwischen dem Server (Port 67) und dem Klienten (Port 68) erfolgte mittels UPD((**U**nreliable **D**atagram **P**rotocol)).
 +
 +Beim Booten des Klienten frägt dieser mit einer //​**DHCPDISCOVER**-Nachricht//​ via Broadcast nach seiner Konfiguration. Zu diesem Zeitpunkt besitzt er noch keine eigene IP-Adresse und er kennt auch noch nicht, in welchem Netz er sich befindet. Lediglich seine MAC((**M**edia **A**ccess **C**ontrol))-Adresse seines Netzwerkinterfaces ist ihm bekannt. Aus diesem Grund sendet er ein Broadcastpaket mit der Quelladresse 0.0.0.0 und an die Zieladresse 255.255.255.255.
 +
 +{{ :​centos:​dhcp_1.png?​300 |1. Stufe der DHCP-Adressanfrage - DHCPDISCOVER}}
 +
 +   Sep 12 21:34:12 nss dhcpd: DHCPDISCOVER from 00:​04:​13:​23:​3f:​b5 via eth0
 +Dieses Broadcast-Paket beantwortet nun der DHCP-Server mit einer //​**DHCPOFFER**-Nachricht//​. Das Antwortpaket beinhaltet bereits als Zieladresse die IP, welche der Klient in Zukunft bekommen soll. Da bei der vorherigen Anfrage des Klienten, dieser seine eigene MAC-Adresse mitschickte,​ kann nun auf diese Weise die DHCPOFFER-Nachricht ihr Ziel finden.
 +
 +{{ :​centos:​dhcp_2.png?​300 |2. Stufe der DHCP-Adressanfrage - DHCPOFFER}}
 +
 +   Sep 12 21:34:12 nss dhcpd: DHCPOFFER on 192.168.10.61 to 00:​04:​13:​23:​3f:​b5 via eth0
 +Der Klient hat also vom DHCP-Server ein sogenanntes Angebot (//offer//) bekommen und entscheidet nun, ob es für ihn so in Ordnung ist. Trifft dies zu, sendet er eine //​**DHCPREQUEST**-Nachricht//,​ an den DHCP-Server um diesen mitzuteilen,​ daß er diese Konfiguration nutzen will.
 +
 +{{ :​centos:​dhcp_3.png |3. Stufe der DHCP-Adressanfrage - DHCPREQUEST}}
 +
 +   Sep 12 21:34:12 nss dhcpd: DHCPREQUEST for 192.168.10.61 (192.168.10.1) from 00:​04:​13:​23:​3f:​b5 via eth0
 +Der DHCP-Server bestätigt dies und sendet eine //​**DHCPACK**-Nachricht//,​ somit besitzt der Klient nun seine eigene IP-Adresse und kennt ggf. noch weitere Parameter für seine weitere Netzwerkkommunkation.
 +
 +{{ :​centos:​dhcp_4.png |3. Stufe der DHCP-Adressanfrage - DHCPACK}}
 +
 +   Sep 12 21:34:12 nss dhcpd: DHCPACK on 192.168.10.61 to 00:​04:​13:​23:​3f:​b5 via eth0
 +Der gesamte erfolgreiche Ablauf aus Sicht des DHCP-Servers entspricht folgendem Diagramm.
 +<uml w=600>
 +
 +title erfolgreiche Ablauf aus Sicht des DHCP-Servers\n
 +skin BlueModern
 +participant "​\n ​     DHCP - SERVER ​    ​\n"​ as links
 +participant "​\n ​     Client ​     \n" as rechts
 +
 +
 +
 +links <-- rechts : (Port 67)                           ​DHCPDISCOVER
 +note right : DHCPDISCOVER mit \nMAC 00:​04:​13:​23:​3f:​b5
 +links -> rechts : DHCPOFFER ​                                   (Port 68)
 +note left : DHCPOFFER mit Angabe \nder IP 192.168.10.61 \nan MAC 00:​04:​13:​23:​3f:​b5
 +links <-- rechts : (Port 67)                           ​DHCPREQUEST
 +note right : DHCPREQUEST mit Angabe \nder IP 192.168.10.61 \nund MAC 00:​04:​13:​23:​3f:​b5
 +links -> rechts : DHCPACK ​                                     (Port 68)
 +note left : DHCPACK mit Angabe \nder IP 192.168.10.61 \nund der MAC 00:​04:​13:​23:​3f:​b5
 +
 +</​uml>​
 +
 +
 +
 +Im **syslog** des DHCP-Servers wird der Ablauf wie folgt festgehalten:​
 +<​code>​Sep 12 21:34:12 nss dhcpd: DHCPDISCOVER from 00:​04:​13:​23:​3f:​b5 via eth0
 +Sep 12 21:34:12 nss dhcpd: DHCPOFFER on 192.168.10.61 to 00:​04:​13:​23:​3f:​b5 via eth0
 +Sep 12 21:34:12 nss dhcpd: DHCPREQUEST for 192.168.10.61 (192.168.10.1) from 00:​04:​13:​23:​3f:​b5 via eth0
 +Sep 12 21:34:12 nss dhcpd: DHCPACK on 192.168.10.61 to 00:​04:​13:​23:​3f:​b5 via eth0</​code>​
 +Sollte die ganze Prozedur Fehl schlagen, z.B. weil der Klient herausgefunden hat, daß die IP-Adresse doppelt vergeben ist, sendet er eine //​**DHCPDECLINE**-Nachricht//​ an der Server. Im Falle einer DHCPDECLINE-Nachricht,​ sperrt der Server die Adresse für die interne Vergabe und die gesamte Vergabeprozedur beginnt erneut von vorne.
 +
 +Zusammen mit seiner IP-Adresse erhält der Klient in der DHCPACK-Nachricht auch eine Lease-Time mitgeteilt, welche ihm mitteilt, wie lange die IP-Adresse für ihn reserviert ist. Im RFC Standard wurde definiert, daß der Klient nach der Hälfte der Lease-Time einen erneuten DHCPREQUEST sendet. So teilt er dem Server mit, daß er weiterhin die für ihn reservierte IP-Adresse behalten möchte. Nach Erhalt dieser Nachricht sendet der DHCP-Server eine identische DHCPACK-Nachricht an den Client zurück, in der dann die aktuelle neue Lease-Time mitgeteilt wird. Die IP-Adresse ist somit verlängert und der DCHP-Refresh ist komplett. Sollte der Klient es versäumen eine Verlängerung zu beantragen, muss er die Konfiguration des Netzwerkinterfaces verwerfen und der DHCP-Request startet erneut mit einer DHCPDISCOVER-Nachricht.
 +
 +Beim Herunterfahren eines Klienten kann dieser dem Server mit einer //​**DHCPRELEASE**-Nachricht//​ den Server informieren,​ damit dieser die Adresse wieder freigeben kann. 
 +   Sep 12 21:58:17 nss dhcpd: DHCPRELEASE of 192.168.10.238 from 00:​17:​a4:​7d:​26:​1a (hpc6180) via eth0 (found)
 +Der Klient hat aber auch die Möglichkeit,​ seine zuletzt zugewiesene IP-Adresse über den Reboot hinweg zu "​merken"​. Dies kann z.B. dann der Fall sein, wenn die Lease-Time, noch nicht abgelaufen ist, oder dem Klienten eine feste IP-Adresse zugeteilt wurde.
 +Dann entfallen die Initialisierungsschritte und der Klient schickt direkt eine //​**DHCPREQUEST**-Nachricht//​ an den DHCP-Server. Dieser bestätigt entweder die Anfrage oder sendet eine //​**DHCPNAK**-Nachricht//​ um dem Klienten mitzuteilen,​ daß dieser seine gespeicherten Konfigurationen zu löschen, und die Anfrage komplett von vorne zu beginnen hat. 
 +   Sep 12 22:01:13 nss dhcpd: DHCPREQUEST for 192.168.10.15 from 00:​17:​a4:​7d:​26:​1a via eth0
 +   Sep 12 22:01:13 nss dhcpd: DHCPACK on 192.168.10.15 to 00:​17:​a4:​7d:​26:​1a via eth0
 +
 +===== Installation =====
 +Die Installation und Konfiguration des DHCP-Servers gestaltet sich relativ einfach.
 +
 +Zuerst ist via **yum** der dhcp-Server zu installieren.
 +   # yum install dhcp -y
 +
 +===== Konfiguration =====
 +Damit der DHCP-Server richtig funktioniert,​ muss dessen Konfigurationsdatei noch angepasst werden. Diese hirarchisch aufgebaute config-Datei **dhcpd.conf** liegt unter **/etc**. Zuerst werden allgemein gültige globale Parameter festgelegt, welche für alle Klienten im Netz gelten, z.B. Domainname und Gateway-Adresse.
 +
 +Als nächstes folgen in dieser Hierarchie die Subnetze. Hier dürfen ebenfalls Parameter für die Klienten festgelegt werden, die sich in diesem Subnetz befidnen. So könnte z.B. jedes Subnetz einen eigenen Default-Router besitzen. Die Parameter innerhalb des Subnetzes überschreiben die global definierten Parameter! Bei solchen Subnetzen ist es wichtig, daß der DHCP-Server nur auf Anfragen aus dem Subnetz antwortet, welche in der dhcpd.conf definiert wurden. Wurde ein Subnetz nicht beschrieben,​ so werden Anfrage einfach ignoriert.
 +
 +Die nächste Hierarchiestufe ist der Pool, dieser wird innerhalb eines Subnetzes angelegt. In so einem Pool können auch Bereiche angelegt werden, so können z.B. auch mehrere Pools in einem Subnetz existieren.
 +
 +Als letzte Stufe in der Hierarchie gibt es die Host-Stufe. In dieser Stufe können einzelne Rechner konfiguriert werden, wenn z.B. diese immer die gleiche IP bekommen sollen. Diese //festen IP-Adressen//​ widersprichen zwar der Grundüberlegung von DHCP. Aber manchmal kann dies wünschenswert sein, wenn z.B. Zugriffsregeln auf andere Hosts oder Server (Paketfilter oder TCP-Wrapper Regeln) für eine bestimmte IP festgelegt wurden.
 +
 +Das "​group"​ Statement hilft dabei, neben der Unterteilung nach Subnetzen, Konfigurationsblöcke mit gleichen Parametern zusammenzufassen. So muss nicht für jeden Host die gesamte Palette wiederholt werden.
 +
 +Vergebene Adressen werden in der Datei **/​var/​lib/​dhcpd/​dhcpd.leases** gespeichert.
 +
 +==== Optimierung bei mehreren Netzwerkkarten ====
 +Sind im Server mehrere Netzwerkkarten vorhanden, binden wir den dhcp-Server an ein Interface. Dazu tragen wir in der **/​etc/​sysconfig/​dhcpd** folgende Option ein:
 +   # vim /​etc/​sysconfig/​dhcpd
 +
 +   # Command line options here
 +   ​DHCPDARGS=eth0
 +==== Konfigurationsdatei bearbeiten ====
 +Anschließend wird die Konfigurationsdatei unter **/​etc/​dhcpd.conf** entsprechend den eigenen Anforderungen angelegt.
 +   # vim /​etc/​dhcp/​dhcpd.conf
 +<file | /​etc/​dhcp/​dhcpd.conf>​
 +subnet 10.0.10.0 netmask 255.255.255.192 {
 +
 +        option routers ​                 10.0.10.1;
 +        option subnet-mask ​             255.255.255.192;​
 +
 +        option nis-domain ​              "​nausch.org";​
 +        option domain-name ​             "​nausch.org";​
 + option domain-search "​dmz.nausch.org",​ "​intra.nausch.org",​ "​nausch.org";​
 + option domain-name-servers ​     10.0.10.1;
 +
 +        option time-offset ​             -18000; # Eastern Standard Time
 +        option ntp-servers ​             10.0.10.1;
 +        option log-servers ​              ​10.0.10.1;​
 +
 +        range dynamic-bootp 10.0.10.50 10.0.10.62;
 +        default-lease-time 21600;
 +        max-lease-time 43200;
 +
 +        }
 +
 +  host pml010010
 +  { hardware ethernet 00:​22:​68:​5C:​A4:​8A;​
 +    fixed-address 10.0.10.10;
 +  }
 +</​file> ​   ​
 +
 +===== DHCP-Konfiguration überprüfen =====
 +Bevor wir nun unseren DHCP-Server das erste mal starten, überprüfen wir unsere Konfiguration mit:
 +   # service dhcpd configtest
 +
 +   ​Syntax:​ OK
 +===== DHCP-Server starten =====
 +Den ersten Start unseres DHCP-Server nehmen wir wie folgt vor.
 +   # service dhcpd start
 +
 +   dhcpd starten: ​                                            ​[ ​ OK  ]
 +Im syslog wird der erfolgreiche Start entsprechend quittiert:
 +<​code>​Oct ​ 6 15:36:23 vml000020 dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1
 +Oct  6 15:36:23 vml000020 dhcpd: Copyright 2004-2010 Internet Systems Consortium.
 +Oct  6 15:36:23 vml000020 dhcpd: All rights reserved.
 +Oct  6 15:36:23 vml000020 dhcpd: For info, please visit https://​www.isc.org/​software/​dhcp/​
 +Oct  6 15:36:23 vml000020 dhcpd: Not searching LDAP since ldap-server,​ ldap-port and ldap-base-dn were not specified in the config file
 +Oct  6 15:36:23 vml000020 dhcpd: Wrote 0 deleted host decls to leases file.
 +Oct  6 15:36:23 vml000020 dhcpd: Wrote 0 new dynamic host decls to leases file.
 +Oct  6 15:36:23 vml000020 dhcpd: Wrote 2 leases to leases file.
 +Oct  6 15:36:23 vml000020 dhcpd: Listening on LPF/​eth0/​52:​54:​00:​c0:​d5:​ae/​10.0.10.0/​26
 +Oct  6 15:36:23 vml000020 dhcpd: Sending on   ​LPF/​eth0/​52:​54:​00:​c0:​d5:​ae/​10.0.10.0/​26
 +Oct  6 15:36:23 vml000020 dhcpd: Sending on   ​Socket/​fallback/​fallback-net
 +</​code>​
 +Beim Starten eines Klienten, in unserem Faller der Host **proton** mit der MAC-Adresse **00:​22:​68:​5c:​a4:​8a**,​ wird das Aushandeln der IP-Adresse vermerkt:
 +<​code>​Oct ​ 4 21:36:14 vml000020 dhcpd: DHCPDISCOVER from 00:​22:​68:​5c:​a4:​8a via eth0
 +Oct  4 21:36:14 vml000020 dhcpd: DHCPOFFER on 10.0.10.10 to 00:​22:​68:​5c:​a4:​8a via eth0
 +Oct  4 21:36:14 vml000020 dhcpd: DHCPREQUEST for 10.0.10.10 (10.0.10.1) from 00:​22:​68:​5c:​a4:​8a via eth0
 +Oct  4 21:36:14 vml000020 dhcpd: DHCPACK on 10.0.10.10 to 00:​22:​68:​5c:​a4:​8a via eth0
 +</​code>​
 +
 +===== automatisches Starten des Dienste beim Systemstart ===== 
 +Damit nun unser DHCP-server beim Booten automatisch gestartet wird, nehmen wir noch folgende Konfigurationsschritte vor.
 +   # chkconfig dhcpd on
 +Anschließend überprüfen wir noch unsere Änderung:
 +   # chkconfig --list | grep dhcpd
 +
 +   ​dhcpd ​         0:​off 1:​off 2:​on 3:​on 4:​on 5:​on 6:​off
 +   ​dhcpd6 ​        ​ 0:​off 1:​off 2:​off 3:​off 4:​off 5:​off 6:​off
 +   
 +===== lease-File des DHCP Servers ===== 
 +Mit nachfolgendem Befehl, kann die sogenannte Lease-Datei eingesehene werden, die standardmäßig im den
 +Verzeichnis //​**/​var/​lib/​dhcpd/​**//,​ inklusive der zugehörigen Backup-Datei,​ welche am Namensende mit einem '​~'​-Zeichen gekennzeichnet ist, also:
 +  * /​var/​lib/​dhcpd/​dhcpd.leases
 +  * /​var/​lib/​dhcpd/​dhcpd.leases~
 +
 +   # cat /​var/​lib/​dhcpd/​dhcpd.leases
 +   
 +<file | /​var/​lib/​dhcpd/​dhcpd.leases>​
 +# The format of this file is documented in the dhcpd.leases(5) manual page.
 +# This lease file was written by isc-dhcp-4.1.1-P1
 +
 +lease 10.0.10.50 {
 +  starts 6 2011/08/20 20:34:41;
 +  ends 0 2011/08/21 02:34:41;
 +  tstp 0 2011/08/21 02:34:41;
 +  cltt 6 2011/08/20 20:34:41;
 +  binding state free;
 +  hardware ethernet 00:​11:​22:​33:​44:​55;​
 +}
 +lease 10.0.10.51 {
 +  starts 5 2011/08/26 03:01:55;
 +  ends 5 2011/08/26 09:01:55;
 +  tstp 5 2011/08/26 09:01:55;
 +  cltt 5 2011/08/26 03:01:55;
 +  binding state free;
 +  hardware ethernet f0:​11:​22:​33:​44:​55;​
 +}
 +server-duid "​\000\001\000\001\025\342\3146RT\000\300\325\256";​
 +
 +</​file>​
 +====== Überwachung der ARP Tabelle mit arpwatch ======
 +Mit dem Netzwerktool **//​arpwatch//​** können wir die MAC-Adressen mit den zugehörigen IP-Adressen im lokalen Netzwerk überwachen. Es setzt die Netzwerkkarte in den Promiscuous Mode und überwacht die ARP-Pakete, welche das lokale Netz passieren. **//​arpwatch//​** ist jedoch kein IDS((**I**ntrusion **D**etection **S**ystem, ein Computer-Programm zur Erkennung von Angriffen auf Computernetzwerke))-Programm,​ sondern ein Hilfsprogramm,​ das sich auf eine spezielle Art von Angriffen spezialisiert hat. So ist **//​arpwatch//​** nur in der Lage, Angriffe auf das ARP-Protokoll zu erkennen (z. B. ARP-Spoofing). Ausserdem erkennt es neu im Netz auftauchende Rechner.
 +
 +**//​arpwatch//​** wird bei Bedarf einben Alarm auslösen, wenn einer der folgenden Zustände bei der Überwachung der ARP-IP Tabelle auftritt.
 +
 +^ Meldung ​            ^ Beschreibung ​                                                                ^
 +| New Activity ​       | Das Adress Paar wird sechs Monate oder mehr wieder benutzt ​                  |
 +| New Station ​        | Diese MAC Adresse wurde zum ersten Mal beobachtet ​                           |
 +| Changed MAC Address | Die MAC Adresse hat sich geändert ​                                           |
 +| Flip Flop           | Die MAC Adresse hat sich zu einer schon mal verwendeten MAC Adresse geändert |
 +
 +Tritt mindestens eines dieser Ereignisse auf, kann der **BOfH**((**B**astard **O**perator **F**rom **H**ell)) unmittelbar via eMail gewarnt und informiert werden.
 +Ferner werden im Syslog folgende Ereignisse protokolliert:​
 + 
 +
 +^ Meldung ​               ^ Beschreibung ​   ^
 +| MAC broadcast ​         | Die MAC Adresse des Rechners ist die Broadcast Adresse oder besteht nur aus Nullen ​                                            |
 +| ip broadcast ​          | Die IP-Adresse des Hosts ist eine Broadcast Adresse ​                                                                           |
 +| Bogon                  | Die IP-Adresse des Hosts gehört nicht in dieses Subnetz ​                                                                       |
 +| MAC mismatch ​          | Die Quell MAC Adresse entspricht nicht der MAC Adresse innerhalb des ARP Pakets ​                                               |
 +| reused old MAC address | Die MAC Adresse hat sich auf eine MAC Adresse geändert, die entweder der drittletzten oder noch älteren MAC Adresse entspricht |
 +
 +Mit diesem Überwachungs-Programm können wir nun sehr schnell doppelte MAC- und IP-Adressen,​ oder weitere Netzwerkfehlkonfigurationen wie auch Angriffe von aktiven Sniffern erkennen.
 +
 +In der Datei //​**/​var/​arpwatch/​arp.dat**//​ legt **arpwatch** die Adresspaare ab, die es bisher im Netzwerk beobachtet hat. 
 +<​code>​0:​4:​13:​2a:​b:​6b ​ 192.168.100.174 ​  ​1254422914 ​     snom300-3
 +0:​4:​13:​40:​3:​35 ​ 192.168.100.170 ​  ​1254422890 ​     snom820
 +0:​4:​13:​23:​3f:​b5 192.168.100.171 ​  ​1254422865 ​     snom360
 +0:​4:​13:​25:​c:​90 ​ 192.168.100.173 ​  ​1254422441 ​     snom300-2
 +0:​9:​45:​40:​f2:​b3 192.168.100.176 ​  ​1254422688 ​     ST-100</​code>​
 +===== Installation =====
 +Die Installation unter CentOS geht am einfachsten via **yum**.
 +   # yum install arpwatch -y
 +Was uns das Programmpaket mitbringt, erkunden wir mit der Option **iql** beim Programm **rpm**.
 +   # rpm -qil arpwatch
 +<​code>​
 +Name        : arpwatch ​                    ​Relocations:​ (not relocatable)
 +Version ​    : 2.1a15 ​                           Vendor: CentOS
 +Release ​    : 14.el6 ​                       Build Date: Mon 23 Aug 2010 09:18:20 PM CEST
 +Install Date: Sat 20 Aug 2011 10:26:47 PM CEST      Build Host: c6b3.bsys.dev.centos.org
 +Group       : Applications/​System ​          ​Source RPM: arpwatch-2.1a15-14.el6.src.rpm
 +Size        : 462477 ​                          ​License:​ BSD with advertising
 +Signature ​  : RSA/8, Sun 03 Jul 2011 06:02:34 AM CEST, Key ID 0946fca2c105b9de
 +Packager ​   : CentOS BuildSystem <​http://​bugs.centos.org>​
 +URL         : http://​ee.lbl.gov/​
 +Summary ​    : Network monitoring tools for tracking IP addresses on a network
 +Description :
 +The arpwatch package contains arpwatch and arpsnmp. ​ Arpwatch and
 +arpsnmp are both network monitoring tools. ​ Both utilities monitor
 +Ethernet or FDDI network traffic and build databases of Ethernet/IP
 +address pairs, and can report certain changes via email.
 +
 +Install the arpwatch package if you need networking monitoring devices
 +which will automatically keep track of the IP addresses on your
 +network.
 +/​etc/​rc.d/​init.d/​arpwatch
 +/​etc/​sysconfig/​arpwatch
 +/​usr/​sbin/​arp2ethers
 +/​usr/​sbin/​arpsnmp
 +/​usr/​sbin/​arpwatch
 +/​usr/​sbin/​massagevendor
 +/​usr/​share/​doc/​arpwatch-2.1a15
 +/​usr/​share/​doc/​arpwatch-2.1a15/​CHANGES
 +/​usr/​share/​doc/​arpwatch-2.1a15/​README
 +/​usr/​share/​doc/​arpwatch-2.1a15/​arpfetch
 +/​usr/​share/​man/​man8/​arp2ethers.8.gz
 +/​usr/​share/​man/​man8/​arpsnmp.8.gz
 +/​usr/​share/​man/​man8/​arpwatch.8.gz
 +/​usr/​share/​man/​man8/​massagevendor.8.gz
 +/​var/​lib/​arpwatch
 +/​var/​lib/​arpwatch/​arp.dat
 +/​var/​lib/​arpwatch/​ethercodes.dat
 +</​code>​
 +
 +===== Konfiguration =====
 +Viel gibt es nicht zu Konfigurieren,​ lediglich in der Datrei **/​etc/​sysconfig/​arpwatch**,​ können wir angeben unter welchen User **arpwatch** laufen, wer die eMail bekommen und wer als Absender benutzt werden soll.
 +   # vim /​etc/​sysconfig/​arpwatch
 +<file | /​etc/​sysconfig/​arpwatch>​
 +# -u <​username>​ : defines with what user id arpwatch should run
 +# -e <​email> ​   : the <​email>​ where to send the reports
 +# -s <​from> ​    : the <​from>​-address ​
 +#​OPTIONS="​-u arpwatch -e root -s 'root (Arpwatch)'"​
 +# Django : 2011-08-20 arpwatch individualisiert
 +OPTIONS="​-u arpwatch -e root -s '​arpwatch (Arpwatch-Daemon on vml000020)'"​
 +</​file>​
 +
 +===== Programmstart =====
 +==== erster Programmstart ====
 +Den **arpwatch** daemon starten wir einfach mit dem Aufruf:
 +   # service arpwatch start
 +   ​arpwatch starten: ​                                         [  OK  ]
 +Der erfolgreiche Programmstart wird uns im syslog dokumentiert:​
 +<​code>​Oct ​ 1 20:33:37 nss kernel: device eth0 entered promiscuous mode
 +Oct  1 20:33:37 vml000020 arpwatch: listening on eth0
 +Oct  1 20:33:39 vml000020 arpwatch: new station 10.0.10.10 0:​4:​13:​2a:​4b:​6b
 +</​code>​
 +==== automatischer Programmstart ====
 +Damit nun unser **arpwatch**-Daemon beim Booten automatisch gestartet wird, nehmen wir noch folgende Konfigurationsschritte vor. 
 +   # chkconfig arpwatch on
 +Anschließend überprüfen wir noch unsere Änderung: ​
 +   # chkconfig --list | grep arpwatch
 +
 +   ​arpwatch ​      ​ 0:​off 1:​off 2:​on 3:​on 4:​on 5:​on 6:​off
 +===== Status-eMail =====
 +Beschafft sich nun ein Klient von unserem DHCP-Server eine Adresse, so wird nunmehr diese Aktion an den Sys-Admin per eMail gemeldet:
 +<​code>​
 +Datum  :  Sat, 20 Aug 2011 22:37:12 +0200 (CEST) [20.08.2011 22:37:12 CEST]
 +Von    :  "​Arpwatch-Daemon @ vml000020"​ <​arpwatch@nausch.org>​arpwatch@nausch.org ​
 +An     : ​ root@nausch.orgroot@nausch.org zu meinem Adressbuch hinzufügen
 +Betreff: ​ new station
 +
 +            hostname: proton.intra.nausch.org
 +          ip address: 10.0.10.51
 +    ethernet address: f0:​11:​22:​33:​44:​55
 +     ​ethernet vendor: <​unknown>​
 +           ​timestamp:​ Saturday, August 20, 2011 22:37:12 +0200 
 +</​code>​
 +====== Links ======
 +  * **[[wiki:​start|Zurück zu Projekte und Themenkapitel]]**
 +  * **[[http://​dokuwiki.nausch.org/​doku.php/​|Zurück zur Startseite]]**
 +
  
  • centos/dhcp_c6.txt
  • Zuletzt geändert: 20.04.2018 10:37.
  • (Externe Bearbeitung)