Wstęp

Wstęp

Nazwa Projektu: Ipwatchd - narzędzie wykrywania konfliktów IP
Autor: Jaroslav Imrich
Strona główna projektu: Ipwatchd

Wstęp

Korzystając z systemu operacyjnego GNU/Linux, od czasu do czasu możesz natknąć się na sytuację, w której łączność sieciowa została przerwana z powodu konfliktu IP. Zdarzenie konfliktu IP występuje, gdy dwa lub więcej hostów w tej samej sieci jest skonfigurowane z identycznych adresów IP. Obecnie wydaje się, że w jądrze Linux nie ma kodu, który zajmuje się tą sytuacją za pomocą odpowiedniej nieuzasadnionej odpowiedzi ARP . Bardzo często administrator sieci pozostaje w całkowitej ignorancji przez jądro Linux i musi rozwiązywać problemy z konfliktem IP na własnej skórze. Na szczęście istnieje prosty demon o nazwie ipwatchd, który głównym celem jest złapanie i ocena pakietów w sieci, a ten sposób jest w stanie zapobiec występowaniu konfliktu IP. Odbywa się to za pomocą biblioteki libpcap. Ipwatchd Demon jest napisany w języku C i może działać w trybach pasywnych lub aktywnych. Różnica między trybem pasywnym i aktywnym polega na tym, że w trybie pasywnym ipwatchd tylko rejestruje każde zdarzenie konfliktu IP poprzez angażowanie demona syslog, aw trybie aktywnym ipwatchd idzie o krok dalej i odpowiada na nieuzasadnione żądanie ARP, które jest głównym blokiem konstrukcyjnym, gdy nadchodzi do zapobiegania konfliktowi IP. W tym artykule zbadano ten prosty demon pod względem instalacji, konfiguracji i użycia.

Wymagania wstępne

Zanim będziemy mogli zainstalować ipwatchd w systemie operacyjnym GNU/Linux, zaleca się potwierdzenie, że wszystkie wymagania wstępne potrzebne przez ipwatchD są instalowane w systemie. Oto lista pakietów, które musisz zainstalować na Ubuntu 8.10.

 * Build -Isential - C kompilator i inne narzędzia programistyczne
* Libpcap -dev - biblioteka przechwytywania pakietów sieciowych
* Libnet1 -dev - biblioteka konstrukcji pakietów sieciowych
* libnotify -dev - wysyła powiadomienia komputerowe do demona powiadomienia

Na Ubuntu lub Debian Linux możesz zainstalować te pakiety z następującym poleceniem Linux:

# apt-get instaluj kompilację libpcap-dev libnet1-dev libnotif-dev 
 

Instalacja

Teraz, że zainstalowaliśmy wszystkie wymagane warunki wstępne, nadszedł czas, aby skompilować i zainstalować demona ipwatchd. Istnieją dwa rodzaje instalacji ipwatchd.

  • Wersja komputerowa z powiadomieniem komunikatów GUI w GUI
  • Wersja serwera, która obejmuje tylko demon ipwatchd bez powiadomienia o komunikatach GUI

Różnica między wersją komputerową a serwerem polega na tym, że w wersji komputerowej ipwatchd reaguje na zdarzenie konfliktu IP, wyświetlając komunikat na GUI, a także do odpowiednich długich plików. Wręcz przeciwną wersję komputerów stacjonarnych, wersja serwerowa rejestruje tylko zdarzenie konfliktu IP do odpowiednich plików dziennika.

Wersja komputerowa ipwatchd

Procedura instalacji ipwatchD zarówno dla wersji komputerowych, jak i serwerów jest bardzo podobna. Pobierz kod źródłowy ipwatchd tarball i wprowadź następujące polecenia Linux:

$ bunzip2 ipwatchd-x.X.smoła.BZ2
$ tar xvjf ipwatchd-x.X.smoła
$ cd ipwatchd-x.x/src
$ MAK

Po skompilowaniu binarnym zaloguj się jako superuser (root) i wprowadź:

# Zrób instalację 

Wersja serwera ipwatchd

Aby zainstalować wersję serwera ipwatchd, skompiluj kod źródłowy ipwatchd według:

$ bunzip2 ipwatchd-x.X.smoła.BZ2
$ tar xvjf ipwatchd-x.X.smoła
$ cd ipwatchd-x.x/src
$ Make Daemon

Po skompilowaniu plik binarnego zaloguj się do superuseru (root) i wprowadź:

# Zrób instalację 

W tym momencie wszystkie pliki binarne ipwatchd są kopiowane do/usr/lokal/sbin. Plik konfiguracyjny można znaleźć w katalogu/usr/lokalnym/etc.

NOTATKA: Aby odinstalować ipwatchd, po prostu jako użytkownik root wydaw polecenie:

Zrób UNITILL 

Konfiguracja

Jak już wspomniano powyżej, demon ipwatchd może działać w dwóch trybach. Aby poinstruować ten demon, aby słuchał ETH0 w trybie aktywnym, zmień plik konfiguracyjny/usr/local/etc/ipwatchd.conf to następująca linia:

ETH0 Active 

Ipwatchd Demon jest również w stanie pracować z wirtualnymi interfejsami. Więc dodaj wiersz „ETH0: 1 pasywny”, jeśli chcesz słuchać ipwatchd na ETH0: 1 interfejs sieciowy w trybie pasywnym.

Stosowanie

Zastrzerzona wersja ipwatchd 1.1.1 nie zaczyna się od siebie. Aby uruchomić ipwatchd, uruchom następujące polecenie Linux jako użytkownik root:

#/usr/local/sbin/ipwatchd -c/usr/local/etc/ipwatchd.conf 

Potwierdź, że ipwatchd działa w twoim systemie przez polecenie PS:

PS Aux | Grep ipwatchd 

Powinieneś uzyskać wyjście podobne do tego poniżej:

root 10814 0.0 0.2 2032 572 ? SS 19:27 0:00
/usr/local/sbin/ipwatchd -c/usr/local/etc/ipwatchd.conf
root 10818 0.0 0.3 3240 796 pkt/1 r+ 19:27 0:00 Grep ipwatchd

Logika tutaj jest następująca, nowoczesne systemy operacyjne próbują uniknąć konfliktu IP, wysyłając specjalny typ pakietów nadawców ARP w czasie rozruchu lub podczas rekonfiguracji interfejsu sieciowego. Ten rodzaj specjalnego pakietu transmisji nazywa się [http: // wiki.Wireshark.org/gratituous_arp nie graturuszy ARP]. Celem nieuzasadnionego pakietu ARP jest odkrycie, jeśli adres IP, który zamierzają nabyć.

Alternatywą dla komunikatu powiadomienia GUI jest plik syslog. Ipwatchd rejestruje również wszystkie odpowiednie zdarzenia konfliktu IP w pliku syslog. Oto przykładowy komunikat generowany przez IPwatchd Daemon:

11 20:50:47 LinuxConfig-Desktop ipwatchd [13215]: MAC Adres 8: 0: 27: B6: 5A: 6C Przyczyny
Konflikt IP z adresem 10.1.1.6 Ustaw na interfejsie ETH0 - Tryb aktywny - Odpowiedź wysłana
11 stycznia 20:50:47 LinuxConfig-Desktop Avahi-Daemon [3965]: Adres wycofujący
Zapis dla 10.1.1.6 na ETH0.

NOTATKA: Aby zatrzymać demon ipwatchd, możesz użyć komendy zabójcy. W ten sposób Demon ipwatchd odbiera sygnał SIGTERM, który wdzięcznie powstrzyma ten proces, zwolni używaną pamięć i przestanie słuchać w interfejsie sieciowym. Na dłuższą metę, aby był automatyczny, możesz również stworzyć prosty demon init init.d skrypt i połącz go z odpowiedniego katalogu RunLevel w twoim systemie.

Wniosek

Ipwatchd to z pewnością poręczne narzędzie, które czasami może cię zaoszczędzić dziennie. Istnieją jednak również pewne ograniczenia. Aktualna wersja ipwatchd 1.1.1 jest ograniczony tylko do graficznego interfejsu użytkownika GNOME. Niemniej jednak nadal można użyć wersji serwera i odwołać się do pliku syslog w przypadku nieoczekiwanych problemów z łącznością.

Powiązane samouczki Linux:

  • Jak zapobiegać sprawdzaniu łączności NetworkManager
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • Przykład pliku hosta w Linux
  • Jak obsługiwać zdarzenia ACPI w Linux
  • Pobierz Linux
  • Jak zbudować aplikację Tkinter za pomocą obiektu zorientowanego na…
  • Jak pracować z WooCommerce Rest API z Pythonem
  • Rzeczy do zainstalowania na Ubuntu 22.04