fbpx

Comandos Linux – Comando dhclient

Comando dhclient do Linux

Atualizado: 05/04/2019 por Computer Hope

comando dhclient

O cliente DHCP do Internet Systems Consortium, dhclient , fornece um meio para configurar uma ou mais interfaces de rede usando o Dynamic Host Configuration Protocol, protocolo BOOTP ou, se esses protocolos falharem, atribuindo estaticamente um endereço .

Descrição

O protocolo DHCP permite que um host entre em contato com um servidor central que mantém uma lista de endereços IP que podem ser atribuídos em uma ou mais sub-redes . Um cliente DHCP pode solicitar um endereço desse pool e usá-lo temporariamente para comunicação na rede. O protocolo DHCP também fornece um mecanismo pelo qual um cliente pode aprender detalhes importantes sobre a rede à qual está conectado, como a localização de um roteador padrão, a localização de um servidor de nomes etc.

Na inicialização, o dhclient lê o arquivo dhclient.conf para obter instruções de configuração. Em seguida, ele obtém uma lista de todas as interfaces de rede configuradas no sistema atual. Para cada interface, ele tenta configurar a interface usando o protocolo DHCP.

Para acompanhar as concessões entre as reinicializações do sistema e o servidor, o dhclient mantém uma lista de concessões atribuídas no arquivo dhclient.leases . Na inicialização, depois de ler o arquivo dhclient.conf , o dhclient lê o arquivo dhclient.leases para atualizar sua memória sobre as concessões atribuídas a ele.

Quando uma nova concessão é adquirida, ela é anexada ao final do arquivo dhclient.leases . Para impedir que o arquivo se torne arbitrariamente grande, periodicamente o dhclient cria um novo arquivo dhclient.leases a partir do banco de dados de concessão no núcleo. A versão antiga do arquivo dhclient.leases é mantida com o nome dhclient.leases ~ até a próxima vez em que o dhclient reescreve o banco de dados.

Concessões antigas são mantidas por aí, caso o servidor DHCP esteja indisponível quando o dhclient é chamado pela primeira vez (geralmente durante o processo inicial de inicialização do sistema). Nesse caso, as concessões antigas do arquivo dhclient.leases que ainda não expiraram são testadas e, se forem determinadas como válidas, serão usadas até expirarem ou o servidor DHCP se tornar disponível.

Um host móvel que às vezes precise acessar uma rede na qual não exista um servidor DHCP pode ser pré-carregado com uma concessão para um endereço fixo nessa rede. Quando todas as tentativas de contato com um servidor DHCP falharem, o dhclient tentará validar a concessão estática e, se for bem-sucedida, utilizará essa concessão até que seja reiniciado.

Um host móvel também pode viajar para algumas redes nas quais o DHCP não está disponível, mas o BOOTP . Nesse caso, pode ser vantajoso combinar com o administrador da rede uma entrada no banco de dados BOOTP, para que o host possa inicializar rapidamente nessa rede em vez de percorrer a lista de concessões antigas.

Sintaxe

  dhclient [-4 |  -6] [-S] [-N [-N ...]] [-T [-T ...]] [-P [-P ...]]
          [-p porta ] [-d] [-e VAR = valor ] [-q] [-1] [-r |  -x]
          [-lf lease-file ] [-pf pid-file ] [-cf config-file ]
          [-sf script-file ] [-s server ] [-g relay ] [-n] [-nc] [-nw]
          [-w] [-B] [-I dhcp-client-identifier ] [-H host-name ]
          [ -Fqq .  fqdn ] [-V identificador de classe de fornecedor ]
          [-R pedido-opção-lista ] [-timeout timeout ] [-v] [- version ]
          [if0 [... ifN]]

Opções

-4Use o protocolo DHCPv4 para obter um endereço IPv4 e parâmetros de configuração (padrão).
-6Use o protocolo DHCPv6 para obter os endereços IPv6 disponíveis, juntamente com os parâmetros de configuração. A funcionalidade do modo DHCPv6 pode ser modificada com as opções -S , -T e -N .
-SExecute uma solicitação somente de informações pelo DHCPv6 para obter parâmetros de configuração sem estado. Não é recomendável combinar essa opção com as opções -N , -P ou -T ou compartilhar arquivos de concessão entre diferentes modos de operação. Válido apenas com a opção -6 .
-NExecute uma consulta de endereço normal (IA_NA) no DHCPv6. Não é recomendável combinar essa opção com as opções -P , -S ou -T ou compartilhar arquivos de concessão entre diferentes modos de operação. Válido apenas com a opção -6 .
-TExecute uma consulta de endereço temporária (IA_TA) no DHCPv6 (desativa a consulta de endereço normal). Não é recomendável combinar esta opção com as opções -N , -P ou -S ou compartilhar arquivos de concessão entre diferentes modos de operação. Válido apenas com a opção -6 .
-PAtive a delegação de prefixo IPv6 (desativa a consulta de endereço normal). Não é recomendável combinar essa opção com as opções -N , -S ou -T ou compartilhar arquivos de concessão entre diferentes modos de operação. Válido apenas com a opção -6 .
-p <número da porta>O número da porta UDP que o cliente DHCP deve escutar e transmitir. Se não for especificado, o dhclient usa a porta padrão 68. Essa opção é principalmente útil para fins de depuração. Se uma porta diferente for especificada para o cliente escutar e transmitir, o cliente também usará uma porta de destino diferente: uma a menos que a porta especificada.
-dForce o dhclient a executar como um processo em primeiro plano . Isso é útil ao executar o cliente em um depurador ou ao executá-lo na inittab nos sistemas System V.
-e VAR = valorDefina variáveis ​​de ambiente adicionais para o ambiente em que o dhclient-script é executado. Você pode especificar várias opções -e na linha de comando. Por exemplo: -e IF_METRIC = 1
-qSuprima todas as saídas de terminal e log, exceto mensagens de erro.
-1Tente uma vez para conseguir um contrato. Uma falha, saia com o código 2.
-rDiga ao dhclient para liberar a concessão atual que possui do servidor. Isso não é exigido pelo protocolo DHCP, mas alguns ISPs exigem que seus clientes notifiquem o servidor se desejam liberar um endereço IP atribuído.
-lf <lease-file>Caminho para o arquivo de banco de dados de concessão. Se não especificado, o /var/lib/dhclient/dhclient.leases padrão será usado.
-pf <pid-file>Caminho para o arquivo de identificação do processo. Se não especificado, o padrão /var/run/dhclient.pid é usado.
-cf <arquivo de configuração>Caminho para o arquivo de configuração do cliente. Se não for especificado, o /etc/dhcp/dhclient.conf padrão será usado.
-sf <script-file>Caminho para o script de configuração de rede chamado pelo dhclient quando ele recebe uma concessão. Se não for especificado, o script / sbin / dhclient- default será usado.
-s <servidor>Especifique o endereço IP do servidor ou o nome de domínio totalmente qualificado para transmitir mensagens do protocolo DHCP. Normalmente, o dhclient transmite essas mensagens para 255.255.255.255 (o endereço de transmissão limitado por IP). Substituir isso é útil principalmente para fins de depuração.
-g <relé>Somente para depuração. Defina o campo giaddr de todos os pacotes que o cliente envia para o endereço IP especificado. Isso não deve funcionar de maneira consistente ou útil.
-nNão configure nenhuma interface. Mais útil combinado com a opção -w .
-ncNão descarte recursos.

Normalmente, se o dhclient foi compilado com suporte à libcap-ng , o dhclient eliminará a maioria dos recursos imediatamente após a inicialização. Embora mais seguro, isso restringe bastante as ações adicionais que podem ser executadas pelo dhclient-script . (Por exemplo, qualquer daemons que o dhclient-script inicie ou reinicie também herdará os recursos restritos, o que pode interferir na operação correta.) Assim, a opção -nc pode ser usada para impedir que o dhclient descarte os recursos.

A opção -nc será ignorada se o dhclient não tiver sido compilado com o suporte libcap-ng .

-nwTorne-se um processo daemon imediatamente (agora), em vez de esperar até que um endereço IP seja adquirido.
-WContinue executando mesmo se nenhuma interface de rede for encontrada. O programa omshell pode ser usado para notificar o cliente quando uma interface de rede é adicionada ou removida, para que ele possa tentar configurar um endereço IP nessa interface.
-BDefina o sinalizador de transmissão BOOTP em pacotes de solicitação para que os servidores sempre transmitam respostas.
-I <dhcp-client-identifier>Especifique a opção dhcp-client-identifier para enviar ao servidor DHCP.
-H <nome do host>Especifique a opção de nome do host a ser enviada ao servidor DHCP. A cadeia de nome do host contém apenas o prefixo do nome do host do cliente, ao qual o servidor anexará as opções ddns-domainname ou domain-name , se houver, para derivar o nome de domínio completo do cliente. A opção -H não pode ser usada com a opção -F .
-F <fqdn.fqdn>Especifique a opção fqdn.fqdn para enviar ao servidor DHCP. Esta opção não pode ser usada com a opção -H . A opção fqdn.fqdn deve especificar o nome completo do domínio do host do cliente, que o servidor pode usar para atualizações dinâmicas do DNS.
-V <identificador de classe do fornecedor>Especifique a opção de identificador de classe de fornecedor a ser enviada ao servidor DHCP.
-R <opção> [ , <opção> …]Especifique a lista de opções que o cliente deve solicitar do servidor. A lista de opções deve ser uma única sequência que consiste em nomes de opções separados por pelo menos um comando e caracteres de espaço opcionais. A lista de opções padrão é:

máscara de sub-rede , endereço de broadcast , deslocamento de tempo , roteadores , nome de domínio , servidores de nomes de domínio , nome do host , domínio nis, servidores nis, servidores nis, servidores ntp , interface-mtu

A opção -R não anexa opções à solicitação padrão, substitui a lista de solicitações padrão. Lembre-se disso se desejar solicitar uma opção adicional além da lista de solicitações padrão. Você deve especificar todos os nomes de opções para o parâmetro -R .

-timeout <timeout>Especifique o tempo após o qual o dhclient decidirá que nenhum servidor DHCP poderá ser contatado quando nenhuma resposta for recebida.
-vAtivar mensagens de log detalhadas.

Se o cliente for morto por um sinal (por exemplo, no encerramento ou reinicialização), ele não executará o script dhclient na saída. No entanto, se você desligar o cliente normalmente com -r ou -x , o dhclient-script será executado no desligamento, com o motivo específico para chamar o script definido na tabela de ambiente.

Omapi

O cliente DHCP fornece alguma capacidade de controlá-lo enquanto está em execução, sem pará-lo. Esse recurso é fornecido usando o OMAPI, uma API para manipular objetos remotos. Os clientes OMAPI se conectam ao cliente usando TCP / IPS , autenticam e, em seguida, podem examinar o status atual do cliente e fazer alterações nele.

Em vez de implementar diretamente o protocolo OMAPI subjacente, os programas do usuário devem usar a API dhcpctl ou a própria OMAPI. Dhcpctl é um wrapper que lida com algumas tarefas domésticas que o OMAPI não executa automaticamente. A maioria das coisas que você gostaria de fazer com o cliente pode ser feita diretamente usando o comando omshell , em vez de precisar escrever um programa especial.

O objeto de controle

O objeto de controle permite desligar o cliente, liberando todas as concessões que possui e excluindo quaisquer registros DNS que possam ter sido adicionados. Também permite que você pause o cliente – isso desconfigura todas as interfaces que o cliente está usando. Você pode então reiniciá-lo, o que faz com que reconfigure essas interfaces. Você normalmente faria uma pausa no cliente antes de entrar em hibernação ou dormir em um laptop . Você o reiniciaria depois que a energia voltar. Isso permite que as placas de PC sejam desligadas enquanto o computador estiver em hibernação ou em suspensão e, em seguida, reinicializadas para o estado anterior assim que o computador sair da hibernação ou suspensão.

O objeto de controle possui um atributo – o atributo state . Para desligar o cliente, defina seu atributo state como 2 . Ele fará automaticamente um DHCPRELEASE . Para pausar, defina seu atributo state como 3 . Para retomar, defina seu atributo state como 4 .

Exemplos

  dhclient eth0

Renova o endereço IP atribuído dinamicamente de um dispositivo Ethernet primário.

ifconfig – exibe ou modifica a configuração das interfaces de rede.

18 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900

Copyright © Linux Force Security  - Desde 2011.