5.1. Quais são os parâmetros de configuração básica do servidor de DHCP?

### CL9 e anteriores ###

DHCP significa Dynamic Host Configuration, ou seja: Protocolo de Configuração de Hospedeiro Dinâmico. em uma rede baseada no protocolo TCP/IP, todo computador tem de possuir um endereço IP distinto. Isto significa que, antes de colocar uma nova estação na rede, seria necessário atribuir um endereço IP que não estivesse já sendo utilizado por outra máquina. Em pequenas redes isso é possivel de ser feito, mas em grandes redes isso se torna uma tarefa trabalhosa, e bastante sujeita a falhas. Para evitar este problema, foi criado o DHCP, que tem como principal função fornecer um endereço IP dinamicamente a uma estação no momento de sua conexão à rede. O servidor de DHCP verifica qual o endereço IP disponível, numa tabela cadastrada préviamente dentro do mesmo, e informa ao solicitante esse endereço e o torna indisponível para futuras solicitações. Desta maneira, a administração dos endereços IPs é feita automaticamente e não existem problemas de conflito. Quando a máquina solicitante sai da rede o servidor DHCP torna seu endereço IP disponível novamente.

Pacotes necessários para instalação.

    
    dhcp   (Servidor DHCP)
    
    dhcpcd (Cliente  DHCP)
   

O daemon do DHCP será instalado no diretório /usr/sbin/, representado pelo programa dhcpd.

Executada a instalação, teremos que definir como utilizaremos nosso servidor de DHCP. O mais importante é definir a faixa de endereços IPs que podem ser cedidos aos clientes. quando um cliente se conecta a rede e detecta um servidor de DHCP, este cede o endereço para utilização temporária. A partir daí o cliente utiliza este endereço para navegar, fazer ftps, etc. Normalmente os provedores de acesso a internet utilizam os servidores DHCP para cada conexão feita por um cliente. O DHCP ainda pode mapear para os clientes os servidores de DNS, roteadores, etc.

1. Configuração do Servidor DHCP

1.2 Arquivos de configurações:

    
    /etc/dhcpd.conf   - Arquivo principal, onde são definidas todas as 
    
                        informações de redes e opções de endereços que 
    
                        serão liberados para os clientes DHCP.
    
    
    
    /etc/dhcpd.leases - Caso esse arquivo não seja criado na instalação, 
    
                        deve-se cria-lo com o comando touch,
    
    
    
    
    
     [root@localhost]# touch /etc/dhcpd.leases
    
    
    
                       nesse arquivo é onde são adicionados os endereços que 
    
                       estão sendo utilizados no momento. 
   

1.3 Configurando um Servidor DHCP

Para se configurar o DHCP deve-se criar ou editar o arquivo /etc/dhcpd.conf.

     [root@localhost]# mcedit /etc/dhcpd.conf


Comumente se deseja definir endereços IP de forma aleatória. Isso pode ser feito da seguinte forma:

    
    default-lease-time 600;
    
    # Libera um endereço por 600 segundos (dez minutos), caso o cliente não 
    
    # defina um tempo específico de utilização de endereço.   
    
    
    
    max-lease-time 7200;
    
    # Tempo máximo em segundos para liberação do endereço IP, caso esse tempo 
    
    # seja ultrapassado, o servidor DHCP irá fornecer um novo endereço, para o 
    
    # cliente DHCP.
    
    
    
    option subnet-mask 255.255.255.0;
    
    # Define a máscara da subrede.
    
    
    
    option broadcast-address 192.168.1.255;
    
    # Define o endereço de distribuição.
    
    
    
    option routers 192.168.1.254;
    
    # Define Roteador ou caminho padrão
    
    
    
    option domain-name-servers 192.168.1.1, 192.168.1.2;
    
    # Define o(s) servidor(es) de DNS.
    
    
    
    option domain-name "dominio.org.br";
    
    # Define o nome de Dominio da subrede.
    
    
    
    subnet 192.168.1.0 netmask 255.255.255.0 {
    
       range 192.168.1.10 192.168.1.100;
    
       range 192.168.1.150 192.168.1.200;
    
    }
    
    # subnet  - número da rede 
    
    # netmask - máscara da rede   
    
    # range   - Restringir faixas de endereços IPs que serão cedidos
   


Para o Conectiva 8 e 9 adicione a seguinte linha

     ddns-update-style ad-hoc;


O exemplo acima, fará com que o servidor DHCP forneça ao cliente um endereço IP na faixa de 192.168.1.10-192.168.1.100 ou 192.168.1.150-192.168.1.200. Ele liberará um endereço por 600 segundos (dez minutos), caso o cliente não defina um tempo específico de utilização de endereço. De qualquer forma o tempo máximo permitido será de 7.200 segundos (Duas horas). O servidor irá "avisar" ao cliente que ele pode usar 255.255.255.0 como máscara de subrede, 192.168.1.255 como endereço de distribuição, 192.168.1.254 como roteador ou caminho padrão, 192.168.1.1 e 192.168.1.2 como servidores DNS.

Pode-se ainda definir endereços IP's específicos para cada máquina na rede, para fazer essa configuração é necessário a utilização dos endereços ethernet das mesmas, por exemplo:

    
    host conec {
    
       hardware ethernet 08:00:2b:4c:59:23;
    
       fixed-address 192.168.1.222;
    
    }
    
    # Define o endereço 192.168.1.222 para o cliente
    
    # com endereço Ethernet igual a 08:00:2b:4c:59:23.
   

Pode-se misturar os procedimentos, definindo-se certos clientes com endereços IP estáticos (por exemplo servidores) e outros com endereços dinâmicos (como por exemplo portáteis). Há diversas opções como: endereços de servidores Windows, servidores de data e horário, etc... Caso se necessite alguma destas opções verifique a página de manual on line do dhcpd.conf.

       [root@localhost]# man dhcpd.conf

As configurações do servidor DHCP, mostradas acima podem ser feitas também através do aplicativo linuxconf.

Para isso deve-se ter o seguinte pacote instalado:

     linuxconf-dhcpd

Primeiramente deve-se adicionar o módulo:

    
    [root@localhost]# linuxconf
    
                         Gerenciamento do Linuxconf
    
                           Módulos
    
    
    
                         [X] configuração do servidor DHCP para e rede local
    
    
    
            Aceitar
    
          Fechar
    
        Sair
   

Entre novamente no linuxconf e siga os passos:

    
            Rede
    
              -> Servidor DHCP/BOOTP
   

Entre com as informações do servidor e depois selecione a opção <Adicionar Rede.

1.4 Inicializando o Servidor

Para acionar o servidor DHCP:

    
    [root@localhost]# cds
    
    [root@localhost]# ./dhcpd start

Para incluir o mesmo nos programas de inicialização do sistema:

        [root@localhost]# ntsysv

marcar a opção dhcpd.

1.5 Configurando o Cliente DHCP

Tudo que se necessita fazer é chamar:

    
      [root@localhost]# linuxconf 
    
                          Rede
    
                            Nome da máquina e dispositivos IP de rede 
    
     

e na interface ethernet desejada informar apenas o protocolo DHCP, os demais parâmentros devem ser deixados em branco.

Nota: Caso exista mais de um servidor de DHCP, rodando na mesma rede, é necessário informar o número de máscara da subrede, caso não seja informada, o cliente DHCP receberá um número IP, do primeiro servidor que receber a requisição.

Após a reinicialização da máquina, a interface de rede deve ser configurada.

Com o comando ifconfig, pode-se verificar a configuração da interface.

      [root@localhost]# ifconfig

Caso se tenha algum número normal no campo endereço inet, então a máquina estará configurada. Caso se obtenha um endereço igual a 0.0.0.0 não se desespere, trata-se de uma configuração temporária antes que o dhcpcd obtenha o endereço IP. Se mesmo após alguns minutos seja possível visualizar somente o endereço 0.0.0.0, verifique se as configu- rações de sua rede, se estão corretas. DHCPCD é um servidor que seguirá rodando enquanto o computador estiver ligado. Mesmo três horas depois ele irá contatar o servidor DHCP e tentará renovar o endereço IP. Todas as mensagens serão registradas no arquivo do syslog (/var/log/syslog).

Um detalhe final. É necessário especificar os servidores de nomes. Há duas formas de fazê-lo. Pode-se solicitar ao provedor para informar os endereços do servidor de nomes e colocá-los no /etc/resolv.conf, ou o Dhcpcd obterá uma lista dos servidores pelo dhcpcd da seguinte forma:

Gere uma cópia do arquivo /etc/resolv.conf

      [root@localhost]# mv /etc/resolv.conf resolv.conf.bkp

Caso o diretório /etc/dhcpc não exista ele deve ser criado:

      [root@localhost]# mkdir /etc/dhcpc

Crie uma ligação de /etc/dhcpc/resolv.conf para /etc/resolv.conf:

      [root@localhost]# ln -s /etc/dhcpc/resolv.conf /etc/resolv.conf