dhcpd (Português)

O dhcpd é o servidor DHCP da Internet Systems Consortium. Ele é útil, por exemplo, em uma máquina agindo como um roteador em uma rede local.

Nota: dhcpd (DHCP (server) daemon) não é o mesmo que dhcpcd (DHCP cliente daemon).

Status de tradução: Esse artigo é uma tradução de dhcpd. Data da última tradução: 2019-08-17. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Instalação

Instale o pacote dhcp, disponível nos repositórios oficiais.

Uso

dhcpd inclui dois arquivos unit dhcpd4.service e dhcpd6.service, que podem ser usados para controlar o daemon. Eles iniciam o daemon em todas as interfaces de rede para IPv4 e IPv6, respectivamente. Veja #Ouvindo apenas em uma interface para uma alternativa.

Configuração

Atribua um endereço IPv4 estático para a interface que você deseja usar (em nossos exemplos, usaremos eth0). Os 3 primeiros bytes deste endereço não podem ser exatamente o mesmo que os de outra interface.

# ip link set up dev eth0
# ip addr add 139.96.30.100/24 dev eth0 # endereço arbitrário

Para ter seu IP estático atribuído na inicialização, veja Configuração de rede#Endereço IP estático.

O padrão contém muitos exemplos descomentados, então mude-o:

# cp /etc/dhcpd.conf /etc/dhcpd.conf.example

O arquivo de configuração mínimo pode se parecer com:

Se você precisar fornecer um endereço IP fixo para um dispositivo único específico, você pode usar a seguinte sintaxe:

A opção contém endereços de servidores DNS que são fornecidos aos clientes. No nosso exemplo, estamos usando os servidores DNS públicos do Google. Se você conhece um servidor DNS local (por exemplo, fornecido pelo seu provedor de internet), você deve usá-lo. Se você configurou seu próprio DNS em uma máquina local, use seu endereço em sua sub-rede (por exemplo, g. 139.96.30.100 em nosso exemplo).

e routers define uma máscara de sub-rede e uma lista de roteadores disponíveis na sub-rede. Na maioria dos casos, para pequenas redes, você pode usar  como uma máscara e especificar um endereço IP da máquina em que você está configurando o servidor DHCP como roteador.
define opções para sub-redes separadas, que são mapeadas para as interfaces de rede nas quais dhcpd está sendo executado. No nosso exemplo, esta é uma sub-rede  para interface única eth0, para a qual definimos o intervalo de endereços IP disponíveis. Os endereços desse intervalo serão atribuídos aos clientes conectados.

Ouvindo apenas em uma interface

Se o seu computador já faz parte de uma ou várias redes, pode ser um problema se seu computador começar a dar endereços IP para máquinas das outras redes. Isso pode ser feito configurando dhcpd ou iniciando como um daemon com systemctl.

Configurando dhcpd

Para excluir uma interface, você deve criar uma declaração vazia para a sub-rede que será configurada nessa interface.

Isso é feito editando o arquivo de configuração (por exemplo):

Arquivo de serviço

Não há arquivos .service fornecidos por padrão para usar dhcpd apenas em uma interface, então você precisa criar um:

Esse é um modelo de unit, que vincula-o a uma interface específica, por exemplo , sendoeth0 uma interface mostrada com .

Às vezes, queremos esperar que a rede seja configurada, neste caso, a solução é fazer o serviço aguardar a network-online.target em vez de network.target:

Para que isso funcione, devemos habilitar outro serviço para que funcione:

# systemctl enable systemd-networkd-wait-online

Usar para PXE

A configuração de PXE é feita com as duas opções a seguir:

/etc/dhcpd.conf
next-server 192.168.0.2;
filename "/pxelinux.0";

Essa seção pode tanto ser uma inteira ou apenas uma definição de . é o IP do servidor TFTP e filename é o nome de arquivo da imagem para inicializar. Para mais informações, veja PXE.

Veja também

gollark: Ah, so the reason your "compiler" is fast is that it's just a simple lazy thing to convert syntax to slightly different forms.
gollark: ... But if it's that simple your interpreter could do that...
gollark: It probably does, though, though they have a penalty due to theirs being more generalized.
gollark: Probably true, but *it's been written by developers better than you are at C*.
gollark: ```3. Python's object model can lead to inefficient memory access```
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.