Prosjektnavn: IPWATCHD - IP Conflict Detection Tool
Forfatter: Jaroslav Imrich
Prosjektets hjemmeside: Ipwatchd
Introduksjon
Når du bruker et GNU/Linux -operativsystem, kan du fra tid til annen komme over en situasjon der nettverkstilkobling ble avbrutt på grunn av IP -konflikten. En IP -konflikthendelse oppstår når to eller flere verter i samme nettverk er konfigurert med identiske IP -adresser. For tiden ser det ikke ut til å være noen kode i Linux -kjernen for å ta vare på denne situasjonen ved hjelp av passende gratuitous ARP -respons . Svært ofte blir en nettverksadministrator igjen i fullstendig uvitenhet av Linux -kjernen og må feilsøke IP -konflikt på den harde måten. Heldigvis er det en enkel demon som heter iPwatchd som hovedformål er å fange og evaluere pakker på nettverket, og denne måten er i stand til å forhindre en IP -konfliktforekomst. Dette gjøres ved hjelp av libpcap -biblioteket. IPwatchd Daemon er skrevet på C -språk og kan kjøre i passive eller aktive modus. Forskjellen mellom en passiv og aktiv modus er at i den passive modus ipwatchd bare logger hver IP -konflikthendelse ved å engasjere syslog -demon, og i aktiv modus tar iPwatchd et skritt videre og svarer på tilfredsstillende ARP -forespørsel som er hovedbyggingsblokken når den kommer til IP -konfliktforebygging. Denne artikkelen vil utforske denne enkle demonen når det gjelder installasjon, konfigurasjon og bruk.
Forutsetninger
Før vi kan installere iPwatchd under GNU/Linux -operativsystemet, anbefales det å bekrefte at alle forutsetninger som er nødvendige av iPwatchD er installert på systemet. Her er en liste over pakker du trenger å installere på Ubuntu 8.10.
* Bygg -essensiell - C -kompilator og andre utviklingsverktøy
* libpcap -dev - nettverkspakkefangstbibliotek
* Libnet1 -Dev - Network Packet Construction Library
* libnotify -dev - sender stasjonære varsler til en varslingsdemon
På Ubuntu eller Debian Linux kan du installere pakkene med en følgende Linux -kommando:
# apt-get install build-essensial libpcap-dev libnet1-dev libnotify-dev
Installasjon
Nå, at vi har installert alle nødvendige forutsetninger, er det på tide å samle og installere iPwatchd Daemon. Det er to typer ipwatchd -installasjoner.
- Desktop-versjon med innebygde GUI-meldingsvarsel
- Serverversjon som omfatter bare iPwatchd -demonet uten en GUI -meldingsvarsel
Forskjell mellom desktop og serverversjon er at IPWATCHD i skrivebordet reagerer på IP -konflikthendelsen ved å vise en melding på GUI så vel som på de relevante lange filene. I motsetning til skrivebordsversjonen logger serverversjon bare en IP -konflikthendelse til de aktuelle loggfilene.
IPWATCHD Desktop -versjon
Installasjonsrutinen til iPwatchd for både skrivebords- og serverversjoner er veldig lik. Last ned iPwatchd kildekode tarball og skriv inn Linux -kommandoer:
$ bunzip2 ipwatchd-x.x.tjære.BZ2
$ tar xvjf ipwatchd-x.x.tjære
$ CD IPWATCHD-X.x/src
$ make
Når en binær er samlet, logger du inn som en superbruker (rot) og går inn:
# Lag installasjon
IPwatchd Server -versjon
For å installere en iPwatchD -serverversjon, kompilerer en iPwatchD -kildekode av:
$ bunzip2 ipwatchd-x.x.tjære.BZ2
$ tar xvjf ipwatchd-x.x.tjære
$ CD IPWATCHD-X.x/src
$ lage demon
Når en binær er samlet, logger du inn en superbruker (rot) og går inn:
# Lag installasjon
På dette tidspunktet kopieres alle iPwatchd -kjørbare binærfiler til/usr/local/sbin. Konfigurasjonsfilen finner du i/usr/lokal/etc -katalogen.
MERK: For å avinstallere iPwatchd, ganske enkelt som et rotbrukerutstedelse en kommando:
Gjør unistall
Konfigurasjon
Som det allerede ble nevnt ovenfor, kan en ipwatchd -demon fungere i to modus. For å instruere denne demonen om å lytte på Eth0 i aktiv modus, endre en konfigurasjonsfil/usr/local/etc/ipwatchd.Konf med en følgende linje:
Eth0 aktiv
IPwatchd Daemon er også i stand til å jobbe med virtuelle grensesnitt. Så legg gjerne til linje “Eth0: 1 Passiv” hvis du vil ha iPwatchd Lytt på Eth0: 1 Nettverksgrensesnitt i en passiv modus.
Bruk
Curent versjon av ipwatchd 1.1.1 starter ikke med det selv. For å starte iPwatchd kjør en følgende Linux -kommando som rotbruker:
#/usr/local/sbin/ipwatchd -c/usr/local/etc/ipwatchd.konf
Bekreft at iPwatchd kjører på systemet ditt ved PS -kommando:
ps aux | grep ipwatchd
Du bør få en utgang som ligner på den nedenfor:
ROOT 10814 0.0 0.2 2032 572 ? SS 19:27 0:00
/usr/local/sbin/ipwatchd -c/usr/local/etc/ipwatchd.konf
ROOT 10818 0.0 0.3 3240 796 pkt/1 R+ 19:27 0:00 grep ipwatchd
For logikk her er som følger, prøver moderne operativsystem. Denne typen spesielle kringkastingspakker kalles [http: // wiki.Wireshark.org/gratuitous_arp gratuitous arp]. Hensikten med den tilfredsstillende ARP -pakken er å oppdage, hvis en IP -adresse de er i ferd med å skaffe seg ikke allerede er tatt av enda en vert.
Et alternativ til GUI -varslingsmeldingen er en syslog -fil. IPWATCHD logger også alle relevante IP -konflikthendelser i syslog -filen. Her er en prøvemelding generert av iPwatchd Daemon:
En 11 20:50:47 LinuxConfig-Desktop iPwatchd [13215]: MAC-adresse 8: 0: 27: B6: 5a: 6c årsaker
IP -konflikt med adresse 10.1.1.6 Sett på grensesnitteth0 - Aktiv modus - Svar sendt
11. jan 20:50:47 LinuxConfig-Desktop Avahi-Daemon [3965]: Uttak adresse
Rekord for 10.1.1.6 på Eth0.
MERK: For å stoppe iPwatchd Daemon kan du bruke Kill Command. På denne måten mottar iPwatchd Daemon sigtermsignal som vil grasiøst stoppe denne prosessen, frigjøre et brukt minne og slutte å lytte på et nettverksgrensesnitt. På lang sikt, for å gjøre det automatisk, kan du også opprette noen enkle demoner.D -skript og koble det fra en passende RunLevel -katalog på systemet ditt.
Konklusjon
IPwatchd er absolutt et praktisk verktøy som noen ganger kan spare deg for en dag. Imidlertid er det også noen begrensninger. Gjeldende versjon av iPwatchd 1.1.1 er begrenset til bare gnom grafisk brukergrensesnitt. Likevel er det fortsatt mulig å bruke en serverversjon og referere til syslog -filen i tilfelle noen uventede tilkoblingsproblemer.