segunda-feira, 13 de dezembro de 2010

Configurando um servidor dhcpd no Freebsd

# cd /usr/ports/net/isc-dhcp30-server
# make install clean

# pico /usr/local/etc/dhcpd.conf

configuração utilizada:

option domain-name "iphosting.com.br";
option domain-name-servers 8.8.8.8;
option subnet-mask 255.255.255.0;

default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;

authoritative;
log-facility daemon;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.30 192.168.0.200;
  option routers 192.168.0.1;
}

#Atribuir um ip especifico para uma maquina na rede, utilizando seu mac
host php {
        hardware ethernet ee:97:69:e4:75:a7;
        fixed-address 192.168.0.61;
        default-lease-time 86400;
        max-lease-time 864000;
}

Se quiser veja o arquivo de exemplo:

# pico /usr/local/etc/dhcpd.conf.sample

Deve ser criado um arquivo em branco onde o DHCP irá armazenar as informações sobre as alocações, para seu controle. Execute os seguintes comandos:

# touch /var/db/dhcpd.leases
# chmod 600 /var/db/dhcpd.leases

Para que o log seja direcionado para um arquivo específico, edite o arquivo /etc/syslog.conf e adicione as seguintes linhas:

!dhcpd
*.*                /var/log/dhcp/dhcpd.log

Crie então o diretório /var/log/dhcp e o arquivo dhcpd.log, ambos com permissão 600, e reinicialize o syslog:

# mkdir /var/log/dhcp
# touch /var/log/dhcp/dhcpd.log
# chmod -R 600 /var/log/dhcp
# killall -HUP syslogd

Poderá ser criado um script para rotacionar o log do DHCP, para o mesmo não se tornar demasiado grande.

Após isso, inicialize o seu servidor DHCP executando o comando abaixo (substitua xl0 pela sua interface de rede que irá servir DHCP):

# /usr/local/sbin/dhcpd xl0

Efetue alguns testes, com máquinas clientes utilizando configuração automática de IP. Verifique o arquivo de log, em /var/log/dhcp/dhcpd.log. Verifique também o arquivo de alocações, em /var/db/dhcpd.leases. Toda vez que for feita alguma modificação no arquivo dhcpd.conf, o dhcpd deverá ser parado e inicializado novamente.

Faça um script de inicialização, com os seguintes comandos para inicialização e shutdown, respectivamente (substitua xl0 pela sua interface de rede que irá servir DHCP):

/usr/local/sbin/dhcpd xl0 -q

e

killall dhcpd

Nenhum comentário: