-
Notifications
You must be signed in to change notification settings - Fork 0
Servidores \ Neo Server \ DHCP Server Master
Atenção: Num segmento de rede só deve existir um único servidor DHCP, pelo que poderá eventualmente ser necessário desactivar o servidor DHCP do router ADSL.
root@server:~# apt-get install isc-dhcp-server
O serviço DHCP só deverá estar disponível para a rede interna. Por isso só deverá aceitar ligações pela interface interna (eth0, neste caso), o que é definido no ficheiro de configuração /etc/default/isc-dhcp-server:
root@server:~# cp /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server.original
root@server:~# nano /etc/default/isc-dhcp-server
# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# [...]
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"
A parte principal da configuração é mantida no ficheiro /etc/dhcp/dhcpd.conf.
Neste ficheiro é indicado o nome de domínio (option domain-name “rthomaz.local”;), os endereços dos servidores DNS (option domain-name-servers da intranet). Na opção domain-name-servers poderá indicar o nome do servidor dns local (exemplo: ns.rtserver1.local) em vez do endereço ip;
É também definida a duração normal e máxima da atribuição do endereço IP atribuído (default-lease-time 600 e max-lease-time 7200;). O cliente poderá sempre pedir uma nova atribuição antes da atual expirar, podendo receber ou não o mesmo endereço IP.
root@server:~# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root@server:~# nano /etc/dhcp/dhcpd.conf
#
# Sample configuration file for ISC dhcpd for Debian
#
#
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;
# option definitions common to all supported networks...
option domain-name "rthomaz.local";
option domain-name-servers 192.168.0.101 192.168.0.100;
default-lease-time 600;
max-lease-time 7200;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# [...]
A configuração do failover é relativamente simples. A principal diferença é que será adicionada uma nova declaração denominada "failover peer", onde definiremos a função do servidor (primário ou secundário) e as portas em que ambos os servidores parceiros irão conversar para sincronizar os empréstimos de endereços.
root@server:~# nano /etc/dhcp/dhcpd.conf
# [...]
## Failover
failover peer "RTDHCP"
{
primary; #define servidor como primário
address 192.168.0.101; #endereço do servidor local
port 647; #porta do servidor local
peer address 192.168.0.100; #endereço do servidor parceiro
peer port 647; #porta do servidor parceiro
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
mclt 1800;
split 128;
}
# [...]
Os parâmetros mclt e split somente devem ser configurados no servidor primário. O parâmetro mclt (maximum client lead time) corresponde à extensão do tempo de lease concedido aos clientes no caso de falha do servidor responsável. O parâmetro split é uma métrica que define a proporção de balanceamento de carga entre os dois servidores, podendo variar de 0 (toda a carga no servidor secundário) até 255 (toda a carga no servidor primário), sendo que 128 equivale ao balanceamento simétrico (50/50).
Finalmente, para o segmento de rede 192.168.0.0, é indicada a gama de endereços disponível para a atribuição (range 192.168.0.10 192.168.0.99;), qual o router a utilizar (option routers 192.168.0.1;) e qual o endereço de broadcast (option broadcast-address 192.168.0.255;)
# [...]
## SubNet local
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
option netbios-name-servers 192.168.0.101;
pool
{
failover peer "RTDHCP";
range 192.168.0.10 192.168.0.99;
}
}
# [...]
Finalmente, adicionaremos também a configuração para proxy automático:
# [...]
## Proxy auto configuration
option wpad code 252 = text;
option wpad "http://wpad.rthomaz.local/wpad.dat";
Reiniciar o serviço dhcp:
root@server:~# service isc-dhcp-server restart