Como configurar um servidor DHCP no Linux
Como configurar um servidor DHCP no Linux
Neste artigo aprenderemos a instalar e configurar um servidor DHCP simples no Linux. Para tal será empregada a distribuição Linux Debian no processo.
Primeiramente, vamos configurar a interface de rede que servirá aos clientes do DHCP. Abra o arquivo /etc/network/interfaces com um editor de textos:
# vi /etc/network/interfaces
e logo em seguida configure ao menos um IP fixo nele, como no exemplo abaixo:
auto enp0s8 #Ubuntu ou allow-hotplug enp0s8 #Debian iface eth0 inet static address 192.168.1.10 network 192.168.1.0/24 netmask 255.255.255.0 broadcast 192.168.1.255
Como instalar o software do servidor DHCP
Vamos usar o pacote popular de servidor DHCP isc-dhcp-server. Trata-se da implementação open source de DHCP mais usada na Internet e em redes locais com DHCP Linux também.
Instalação:
# apt-get install isc-dhcp-server
Agora vamos configurar o servidor DHCP. Editaremos o arquivo de configuração /etc/dhcp/dhcpd.conf. Faça uma cópia de segurança do arquivo antes de prosseguir:
# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old
E então abra-o em um editor de textos, como o nano:
# nano /etc/dhcp/dhcpd.conf
Localize e edite as opções de configuração conforme abaixo para um servidor DHCP bem simples:
# Tipo de atualização do DNS: nenhuma ddns-update-style none; # Configurando o período de concessão. Mude os valores conforme sua necessidade (em # segundos) default-lease-time 86400; max-lease-time 604800; # O servidor será autoritativo: authoritative; # Para onde enviar mensagens de log: log-facility local7; # Configurando nome de domínio e endereços dos servidores DNS para a rede: option domain-name "boson.com"; option domain-name-servers 192.168.1.100, 8.8.8.8; # Configurando um escopo DHCP. Crie quantos escopos quiser seguindo esse mesmo # Esquema do escopo: subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.20; option subnet-mask 255.255.255.0; option routers 192.168.1.100; option broadcast-address 192.168.1.255; }
Explicando alguns dos itens configurados no arquivo:
- subnet – Endereço da subrede
- netmask – Máscara de subrede.
- range – Faixa de IPs do escopo (no caso, IPs de 192.168.1.10 até 192.168.1.20 serão distribuídos)
- option routers – Gateway padrão da rede
- option broadcast-address – Endereço de broadcast do escopo
- option domain-name-servers – Servidores DNS usados pelas estações, separados por vírgulas
Após configurar o arquivo, salve-o e feche-o.
Agora vamos verificar se há erros de sintaxe no arquivo. Para isso, execute o seguinte comando:
# dhcpd -t
Deverá aparecer a tela a seguir se tudo correr bem:
Se forem mostrados erros, volte ao arquivo de configuração e corrija-os.
Se estiver tudo certo, vamos especificar as interfaces que serão usadas para distribuir as configurações de DHCP para as máquinas clientes. Abra o arquivo /etc/default/isc-dhcp-server com um editor de textos e localize a linha INTERFACES=””. Adicione o nome da interface que responderá pelo DHCP entre as aspas. Se mais de uma interface for usada, digite seus nomes separados por um espaço.
# vi /etc/default/isc-dhcp-server
Configuração de exemplo:
INTERFACES="enp0s8";
Salve o arquivo e feche-o após a edição.
Se o sistema estiver com um firewall ativo, não se esqueça de liberar a porta necessária à operação do DHCP – no caso, porta UDP 68. Por exemplo, você pode emitir o seguinte comando para liberar a porta 68 no iptables:
# iptables -A INPUT -s 192.168.1.0/24 -i enp0s8 -p udp --sport 68 --dport 67 -j ACCEPT
Reinicie agora o serviço do DHCP. Você pode parar, reiniciar, iniciar ou verificar o status do serviço com os comandos a seguir:
# service isc-dhcp-server start # service isc-dhcp-server stop # service isc-dhcp-server restart # service isc-dhcp-server status
Testando o servidor DHCP
Agora é hora de testar o servidor DHCP! Ligue uma máquina cliente na mesma rede do servidor, coloque-a em modo “obter endereço IP automaticamente” e verifique se obtém as configurações de seu servidor DHCP. Não se esqueça de desligar quaisquer outros servidores DHCP que existam em sua rede local.
Se estiver realizando testes no Virtualbox ou VMware Workstation, coloque as placas de rede em modo de Rede Interna para facilitar.
Caso haja algum problema, consulte o arquivo de logs para pesquisar possíveis causas:
# grep dhcpd /var/log/syslog
Se tudo correu bem, você pode verificar as concessões ativas no servidor DHCP. Para isso, entre no diretório /var/lib/dhcp e abra o arquivo dhcpd.leases:
# cat /var/lib/dhcp/dhcpd.leases | less
É isso aí! Servidor DHCP configurado com sucesso em uma máquina Linux.
Há muitas outras opções disponíveis para configuração, sobre as quais falaremos no próximo artigo sobre DHCP.
Até!
Ola meu nome e Emilia comecei recentemente a usar o linux.
Um dos PCs travou em um dos usuarios, que sao com doi terminais
nao consigo colocar na tela inicial, que seria a verde do governo que pede em qual usuario deseja entrar. Esta travada da em “aluno1” somente uma tela funciona. poderia me orientar fazendo favor como arrumar. Muito obrigada.
Porfessor, somente com essa configuração ai os cliente terá acesso a intenert?
estou com dificuldade nessa parte, os cliente recebem os ips certinho, mais não navegam de forma alguma.
Precisa ativar o serviço de roteamento no servidor também, Heuder. Dê uma olhada neste artigo aqui, talvez ajude: http://www.bosontreinamentos.com.br/linux/firewall-iptables-no-linux-parte-05-compartilhamento-de-internet/
Abraço!
INTERFACES=”enp0s8″;
Essa linha NÃO TEM semicolon (ponto e virgula) se colocar vai dar ERRO, de resto funciona tudo ok, obrigado pela dica
Boa tarde, professor eu queria desativaro meu servidor DHCP ubuntu e não estou conseguindo, esse comando de para o serviço serve para o meu caso. Eu não vou MAIS usar o ubuntu como DHCP foi usar um aparelho SD-WAN. Meu medo é se eu somente parar o serviço quando eu reiniciar o servidor ele não vai subir novamente e dar conflito na minha rede.
Desinstale o DHCP server, Fernando, pois como você não vai mais usar esse serviço, é melhor não tê-lo no servidor. Experimente o comando a seguir:
$ sudo apt remove isc-dhcp-server
Para maiores informações, leia isso (em inglês): https://www.thelinuxfaq.com/ubuntu/ubuntu-17-04-zesty-zapus/isc-dhcp-server