Introdução
- 1670
- 446
- Loren Botsford
Nome do Projeto: IPWatchd - Ferramenta de detecção de conflito IP
Autor: Jaroslav Imrich
Página inicial do projeto: Ipwatchd
Introdução
Ao usar um sistema operacional GNU/Linux, de tempos em tempos, você pode encontrar uma situação em que a conectividade da rede foi interrompida devido ao conflito de IP. Um evento de conflito IP ocorre quando dois ou mais hosts na mesma rede são configurados com endereços IP idênticos. No momento, parece não haver código no kernel Linux para cuidar dessa situação por meio de resposta ARP gratuita apropriada . Muitas vezes, um administrador de rede é deixado na ignorância completa pelo kernel Linux e precisa solucionar problemas de conflito da IP da maneira mais difícil. Felizmente, existe um daemon simples chamado ipwatchd, qual objetivo principal é capturar e avaliar pacotes na rede e dessa maneira é capaz de impedir uma ocorrência de conflito de IP. Isso é feito por ajuda da biblioteca libpcap. O daemon ipwatchd é escrito em linguagem C e pode ser executado em modos passivos ou ativos. A diferença entre um modo passivo e ativo é que, no modo passivo, o ipwatchd registra apenas todos os eventos de conflito IP, envolvendo o daemon syslog e, no modo ativo, o ipwatchd leva um passo adiante e responde à solicitação ARP gratuita, que é o principal bloco de construção quando chegar para a prevenção de conflitos de IP. Este artigo explorará este daemon simples em termos de instalação, configuração e uso.
Pré -requisitos
Antes de podermos instalar o ipwatchd no sistema operacional GNU/Linux, recomenda -se confirmar que todos os pré -requisitos necessários para o ipwatchd estão instalados no sistema. Aqui está uma lista de pacotes que você precisa instalar no Ubuntu 8.10.
* Build -Essencial - C Compilador e outras ferramentas de desenvolvimento
* libpcap -dev - biblioteca de captura de pacotes de rede
* libnet1 -dev - biblioteca de construção de pacotes de rede
* libnotify -dev - envia notificações de desktop para um daemon de notificação
No Ubuntu ou Debian Linux, você pode instalar esses pacotes com um comando Linux seguinte:
# instalação apt-get Build-essencial libpcap-dev libnet1-dev libnotify-dev
Instalação
Agora, que instalamos todos os pré -requisitos necessários, é hora de compilar e instalar o daemon ipwatchd. Existem dois tipos de instalações ipwatchd.
- Versão da área
- Versão do servidor que abrange apenas o daemon ipwatchd sem uma notificação de mensagem da GUI
A diferença entre o desktop e a versão do servidor é a versão do desktop ipwatchd reage ao evento de conflito IP exibindo uma mensagem na GUI, bem como nos arquivos longos relevantes. Pelo contrário da versão da área.
Versão da área de trabalho do ipwatchd
A rotina de instalação do ipwatchd para as versões de desktop e servidor é muito semelhante. Faça o download do código fonte do ipwatchd e entre os seguintes comandos Linux:
$ bunzip2 ipwatchd-x.x.alcatrão.BZ2
$ tar xvjf ipwatchd-x.x.alcatrão
$ cd ipwatchd-x.x/src
$ make
Depois que um binário é compilado, faça o login como um superusuário (root) e digite:
# faça instalar
Versão do servidor ipwatchd
Para instalar uma versão do servidor ipwatchd compilar um código fonte do ipwatchd por:
$ bunzip2 ipwatchd-x.x.alcatrão.BZ2
$ tar xvjf ipwatchd-x.x.alcatrão
$ cd ipwatchd-x.x/src
$ Make Daemon
Depois que um binário for compilado, login um superusuário (root) e digite:
# faça instalar
Neste ponto. O arquivo de configuração pode ser encontrado no diretório/usr/local/etc.
OBSERVAÇÃO: Para desinstalar o ipwatchd, simplesmente como um usuário raiz emitir um comando:
fazer unistall
Configuração
Como já foi mencionado acima, um daemon ipwatchd pode funcionar em dois modos. Para instruir este daemon a ouvir no ETH0 no modo ativo alterar um arquivo de configuração/usr/local/etc/ipwatchd.Conf com uma linha seguinte:
eth0 ativo
O daemon ipwatchd também pode trabalhar com interfaces virtuais. Portanto, sinta -se à vontade para adicionar linha “eth0: 1 passive” se você deseja que o ipwatchd ouça na interface de rede eth0: 1 em um modo passivo.
Uso
Versão curente do ipwatchd 1.1.1 não começa por si mesmo. Para iniciar o ipwatchd executar um comando linux a seguir como usuário root:
#/usr/local/sbin/ipwatchd -c/usr/local/etc/ipwatchd.conf
Confirme que o ipwatchd está sendo executado no seu sistema pelo comando ps:
ps aux | Grep ipwatchd
Você deve obter uma saída semelhante à abaixo:
Raiz 10814 0.0 0.2 2032 572 ? Ss 19:27 0:00
/usr/local/sbin/ipwatchd -c/usr/local/etc/ipwatchd.conf
Raiz 10818 0.0 0.3 3240 796 pts/1 r+ 19:27 0:00 Grep ipwatchd
Para a lógica aqui é a seguinte, os sistemas operacionais modernos estão tentando evitar um conflito de IP enviando um tipo especial de pacotes de transmissão ARP no horário de inicialização ou durante uma interface de rede de reconfiguração. Este tipo de pacote de transmissão especial é chamado [http: // wiki.Wireshark.org/grabuitous_arp ARP gratuito]. O objetivo do pacote ARP gratuito é descobrir, se um endereço IP que eles estão prestes a adquirir ainda não forem tomados por mais um host.
Uma alternativa à mensagem de notificação da GUI é um arquivo syslog. Ipwatchd também registra todos os eventos de conflito de IP relevantes no arquivo syslog. Aqui está uma mensagem de amostra gerada pelo daemon ipwatchd:
Um 11 20:50:47 LinuxConfig-Desktop ipwatchd [13215]: Endereço MAC 8: 0: 27: B6: 5a: 6c Causas
Conflito de IP com o endereço 10.1.1.6 definido na interface eth0 - modo ativo - resposta enviada
11 de janeiro 20:50:47 LinuxConfig-Desktop Avahi-Daemon [3965]: Retirando o endereço
registro para 10.1.1.6 no eth0.
OBSERVAÇÃO: Para impedir o daemon ipwatchd, você pode usar o comando Kill. Desta forma. A longo prazo, para torná -lo automático, você também pode criar um Daemon Init simples.D script e vincule -o de um diretório de nível apropriado em seu sistema.
Conclusão
Ipwatchd é certamente uma ferramenta útil que às vezes pode economizar um dia. No entanto, também existem algumas limitações. Versão atual do ipwatchd 1.1.1 é limitado a apenas interface de usuário gráfica gnome. No entanto, ainda é possível usar uma versão do servidor e consultar o arquivo syslog em caso de alguns problemas inesperados de conectividade.
Tutoriais do Linux relacionados:
- Como impedir a verificação de conectividade do NetworkManager
- Coisas para instalar no Ubuntu 20.04
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Arquivos de configuração do Linux: os 30 primeiros mais importantes
- Exemplo de arquivo hosts no Linux
- Como lidar com eventos ACPI no Linux
- Download do Linux
- Como construir um aplicativo Tknter usando um objeto orientado…
- Como trabalhar com a API de Rest WooCommerce com Python
- Coisas para instalar no Ubuntu 22.04