Você está na página 1de 16

GSR [2022] Slide 1

DHCP
Dynamic Host Configuration Protocol

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 2

§ Resumo

• Conceitos gerais

• Clientes DHCP

• Instalação e configuração

• Servidores DHCP

• Instalação e configuração

• DHCP Relay Agents

• DHCP Plano de endereçamento

• PXE

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

2
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 3

§ Conceitos Gerais

• O DHCP permite a configuração automática da rede em diversos equipamento

• Standard, independente do Sistema Operativo

• Funciona no modelo de cliente-servidor

• Utiliza o UDP como protocolo de transmissão

• Evolução do protocolo BOOTP (Boot Protocol RFC 951)

• Utilizado na configuração de clientes Linux diskless (Não fornece a imagem)

• Vantagens

• Melhoramento do suporte a mobilidade (Portáteis)

• Otimização da gestão do endereçamento IP (leases)

• Ponto central, mas distribuído, de gestão da configuração dos clientes: endereço IP, routing,

servidores DNS, etc

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 4

§ Conceitos Gerais

• O DHCP pode fornece aos clientes?

• Endereço IP

• Mascara de rede

• Default Gateway

• Servidor ou servidores de DNS

• Servidores de PXE

• Informações sobre domínio Microsoft

• Configurações particulares do Windows como NetBIOS

• Configurações particulares a um ou mais equipamentos

• Atualizações de configurações / firmware / etc.

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

4
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 5

§ Obtenção configuração de rede

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 6

§ Obtenção configuração de rede

[1] Discovery: O cliente envia uma mensagem “DHCP Discovery” (UDP/67) para a rede

em brodcast (255.255.255.2555), uma vez que ainda não tem endereço IP, utiliza o

endereço 0.0.0.0 como source IP.

[2] Offer: Um ou mais servidores respondem com a mensagem “DHCP Offer” (UDP/68)

na qual é incluído o endereço IP oferecido ao cliente, a mascara de rede, o endereço do

servidor de DHCP e o tempo de vida da lease, entre outros parâmetros. O servidor

reserva o endereço fornecido até o cliente aceitar / rejeitar a oferta.

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

6
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 7

§ Obtenção configuração de rede

[3] Request: O cliente escolhe uma das mensagens anteriormente oferecidas e envia por

broadcast uma mensagem “DHCP Request”. Esta mensagem identifica o endereço

selecionado assim como o servidor que o ofereceu.

A mensagem é enviada por broadcast para que os restantes servidores não selecionados

possam libertar os recursos alocados.

[4] Acknowledgment: O servidor confirma a lease com uma mensagem “DHCP Ack”

A partir deste momento o passa a utilizar a configuração de rede definida pelo servidor

O endereço pode ser renovado antes da data de expiração

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 8

§ Obtenção configuração de rede

• Existem 3 fases no DHCP

• Initialization

• Renewing

• Rebinding

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

8
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 9

§ Obtenção configuração de rede | Timers

• Timers

• T1 Timer (Renewal): Após uma determinada parte do tempo de concessão ter expirado, o

cliente entra em contacto com o servodor que concedeu a lease para renovar e assim continuar

a utilizar. (Unicast Request!)

• T2 Timer (Rebinding): Se a renovação com o servidor de leasing original falhar (Está down, por

exemplo), tem que se selecionar 1 novo servidor na rede que consiga estender a concessão

atualmente em vigor. (Broadcast Request!)

• Timer T1 < Timer T2

• Timer T1 = 50% do valor total da lease

• Timer T2 = 87.50% do valor total da lease

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 10

§ Obtenção configuração de rede | Server side

• O servidor de DHCP mantem uma lista de todos os endereços que pode atribuir

• Um endereço atribuído a um cliente pelo servidor de DHCP é designado por lease

• Cada lease tem um tempo de vida máximo, monitorizado pelo servidor.

• Após este tempo o cliente já não a pode usar sem que primeiro efetue um pedido de renewal

• É possível atribuir sempre a mesma configuração a um cliente

• Neste caso o cliente é identificado pelo seu endereço físico (MAC address)

• A lease pode ser ou não persistente entre reboots

• Depende da implementação do cliente e servidor

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

10
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 11

§ Servidores DHCP

• A implementação do servidor e cliente mais utilizada em Linux é a do ISC

• Implementação do cliente incluída por defeito com todas as distribuições.

• Implementação do cliente também disponível em todos SO Microsoft

• Implementação do servidor nas versões Windows Server

• Implementação ISC

• DHCP server [/usr/sbin/dhcpd]

• DHCP cliente [/sbin/dhclient]

• DHCP relay agente [/usr/sbin/dhcrelay]

• Ficheiro configuração servidor [/etc/dhcp/dhcpd.conf]

• Ficheiro com a leases atribuídas [/var/lib/dhcp/dhcpd.leases]

• Os nomes e localização dos ficheiros podem variar consoante o sistema operativo


Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

11

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 12

§ Clientes DHCP

• Implementação ISC

• Configuração da interface de rede [/etc/sysconfig/network-scripts/cfg-eth0]


DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

• Configuração em runtime da interface eth0

• /sbin/dhclient eth0

• Windows

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

12
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 13

§ Servidores DHCP | Configuração

• Ficheiro de configuração principal /etc/dhcp/dhcpd.conf

• Este ficheiro é composto por 3 partes

• parameters: definição das variáveis locais ou globais do comportamento do servidor, como por

exemplo valor para o tempo das leases.

• options: definição dos valores de configuração que são enviados para o cliente, como por

exemplo o endereço IP ou o IP do servidor de DNS.

• declarations: definição das redes, servidores ou grupos de servidores. É normal por vezes

apenas parte da rede estar atribuida ao servidor de DHCP. A restante parte é gerida

manualmente.

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

13

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 14

§ Servidores DHCP | Exemplo configuração [1/4]


#Start DHCPD Server Configuration
authoritative;
ddns-update-style none;
# Global Options
option domain-name "dei.uc.pt";
option domain-name-servers 193.136.212.1, 193.136.212.21;
option netbios-name-servers master.dei.uc.pt;
option ntp-servers ntp.dei.uc.pt;
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
option nbgrub-menu code 150 = text;
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
option PXE.mtftp-ip 0.0.0.0;
Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

14
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 15

§ Servidores DHCP | Exemplo configuração [2/4]


# VLAN Students
subnet 10.7.0.0 netmask 255.255.255.0 {
range 10.7.0.50 10.7.0.69; #Dynamic range
default-lease-time 3600; # 1h lease time
max-lease-time 4000; # 1h : 10 min maximum lease time
option subnet-mask 255.255.255.0;
option broadcast-address 10.7.0.255;
option routers 10.7.0.254; # Default gateway
option netbios-node-type 2;

host digimed {
hardware ethernet 00:13:8F:2B:DC:10;
fixed-address 10.7.0.2;
}

host android {
hardware ethernet 00:13:8F:A2:5A:13;
fixed-address 10.7.0.55;
}
}
Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

15

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 16

§ Servidores DHCP | Exemplo configuração [3/4]

• Conteúdo do ficheiro de leases do servidor [/var/lib/dhcpd/dhcpd.leases]

lease 10.7.0.52 {
starts 2 2013/12/17 12:16:26;
ends 2 2013/12/17 14:21:26;
tstp 2 2013/12/17 14:21:26;
binding state free;
hardware ethernet 7c:fa:df:67:86:95;
uid "\001|\372\337g\206\225";
}

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

16
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 17

§ Servidores DHCP | Exemplo configuração [4/4]

• Conteúdo do ficheiro de leases do cliente [/var/lib/dhclient/dhclient-eth0.leases]

lease { lease {
interface "eth0"; interface "eth0";
fixed-address 10.3.3.183; fixed-address 10.3.3.183;
option subnet-mask 255.255.0.0; option subnet-mask 255.255.0.0;
option dhcp-lease-time 3600; option dhcp-lease-time 3600;
option routers 10.3.0.254; option routers 10.3.0.254;
option dhcp-message-type 5; option dhcp-message-type 5;
option dhcp-server-identifier 10.3.0.254; option domain-name-servers 193.136.212.1,193.136.212.21;
option domain-name-servers 193.136.212.1,193.136.212.21; option dhcp-server-identifier 10.3.0.254;
option broadcast-address 10.3.255.255; option ntp-servers 193.137.203.254;
option ntp-servers 193.137.203.254; option broadcast-address 10.3.255.255;
option domain-name "dei.uc.pt"; option domain-name "dei.uc.pt";
renew 5 2012/09/21 11:14:33; renew 5 2012/09/21 11:43:19;
rebind 5 2012/09/21 11:38:43; rebind 5 2012/09/21 12:06:00;
expire 5 2012/09/21 11:46:13; expire 5 2012/09/21 12:13:30;
} }

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

17

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 18

§ DHCP e DDNS

• Mecanismo de update standard definido pelo IETF (RFC 2136

• Servidor de DHCP configurado para dinamicamente atualizar mapas de zonas do

serviço de DNS

• Necessário atualizar resource records de mapeamento direto (A)

• Necessário atualizar resource records de mapeamento inverso (PTR)

• Apenas os clientes ativos (lease ativas) tem associado um RR no DNS

• Necessário garantir ligação segura entre o servidor de DHCP e DNS

• Qual a vantagem desta configuração?

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

18
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 19

§ DHCP relay agents

• DHCP utiliza o broadcast para o processo de atribuição inicial do endereço


• Isto assume que o servidor e os clientes estão na mesma rede

• Em situações reais isto pode ser impossível ou inconveniente.

• Os DHCP relay agents posicionam-se nas redes locais onde estão localizados os
clientes, atuando como mediadores entre esses clientes e os servidores de DHCP
• Recebem os pedidos de broadcast dos clientes e reenviam-nos para os servidores de DHCP por
unicast
• Qual a melhor localização para posicionar um DHCP relay agente?

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

19

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 20

§ DHCP & BOOTP & PXE

• Preboot EXecution Environment

• Baseado numa ROM inserida na placa de rede

• Mecanismo que permite carregar da rede uma imagem de um sistemas operativo

• Diskless workstations; X-terminals

• Thin clients

• Instalação automatizada em PC com disco rígido (HDD) local

• Práticas correntes

• BOOTP encontra-se neste momento integrado com o DHCP

• Possibilidade de associar o endereço físico de um cliente com um URL onde se encontra a

imagem do SO

• O cliente carrega posteriormente esta imagem através de um servidor de TFTP


Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

20
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 21

§ DHCP & BOOTP & PXE

• UNDI (Universal Network Device Interface) é uma API (Application Programming

Interface) para as interfaces de rede utilizada pelo protocolo PXE

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

21

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 22

§ DHCP & BOOTP & PXE | Exemplo

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

22
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 23

§ DHCP & BOOTP & PXE | Exemplo

• Ativar mecanismo na configuração do DHCP

• Ficheiro configuração DHCP [/etc/dhcp/dhcpd.conf]


# PXE group
(…)
group {
next-server 10.1.0.252;
server-name "10.1.0.252";
server-identifier 10.1.0.252;
host thin-client01 {
hardware ethernet 00:11:2f:d7:a5:32;
fixed-address 10.1.41.7;
filename "pxes/pxelinux.0";
}
}

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

23

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 24

§ DHCP & BOOTP & PXE | Exemplo

• next-server, define o servidor TFTP

• filename "pxes/pxelinux.0“ localizado no servidor de TFTP em /tftpboot (default)

• Ficheiros de configuração definidos em /tftpboot/pxes/pxelinux.cfg

• Porque mais do que um sistema pode fazer boot do mesmo servidor, o nome do ficheiro de

configuração depende do endereço IP do sistema que pretende fazer boot.

• O ficheiro de configuração do cliente é pesquisado no servidor, seguindo diversos

critérios

• Assumindo que o MAC address do cliente é 88:99:AA:BB:CC:DD

• E que o endereço IP do cliente é 192.0.2.91

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

24
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 25

§ DHCP & BOOTP & PXE | Exemplo


• Ficheiro de configuração igual ao endereço MAC do cliente. Neste caso 88-99-AA-BB-CC-DD
• Caso não exista, converte o endereço IP para o equivalente hexadecimal, através da função
gethostip (por exemplo). Neste caso C0A80101
• Caso não exista, remove um caracter hexadecimal, e volta a tentar de novo, até se esgotarem os
caracteres
• No final procura pelo ficheiro de nome default

/tftpboot/pxes/pxelinux.cfg/01-88-99-aa-bb-cc-dd
/tftpboot/pxes/pxelinux.cfg/C000025B
/tftpboot/pxes/pxelinux.cfg/C000025
/tftpboot/pxes/pxelinux.cfg/C00002
/tftpboot/pxes/pxelinux.cfg/C0000
/tftpboot/pxes/pxelinux.cfg/C000
/tftpboot/pxes/pxelinux.cfg/C00
/tftpboot/pxes/pxelinux.cfg/C0
/tftpboot/pxes/pxelinux.cfg/C
/tftpboot/pxes/pxelinux.cfg/default

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

25

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 26

§ DHCP & BOOTP & PXE | Exemplo

• Ficheiro configuração PXE DHCP [/tftpboot/pxes/pxelinux.cfg/default]


default 1
prompt 1
display boot.msg
timeout 100
label 1
LOCALBOOT 0
label 2
kernel memdisk
append initrd=diskop.IMA
label 3
kernel memdisk
append initrd=IntelP5G.IMA
label 6
kernel install-fc7/vmlinuz
append initrd=install-fc7/initrd.img ks=http://10.1.0.252/fc7/ks-small.cfg
label 7
kernel install-fc8/vmlinuz
append initrd=install-fc8/initrd.img ks=http://10.1.0.252/fc8/ks-ask.cfg
Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

26
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 27

§ DHCP & BOOTP & PXE | Exemplo

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

27

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 28

§ DHCP & BOOTP & PXE | Exemplo

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

28
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 29

§ DHCP Snooping

• O que impede um cliente de uma rede ethernet oferecer um serviço de DHCP? (rogue

DHCP)

• Quais as implicações que esta situação pode causar?

• Como se pode resolver ou mitigar?

• Conjunto de técnicas para melhorar a segurança da infraestrutura do DHCP

• Permite excluir da rede rouge DHCP Servers e tráfego DHCP mal formado.

• Além disso, as informações sobre os hosts que concluíram com sucesso a transação

DHCP são registadas e armazenada numa base de dados de ligações

• Estes dados podem posteriormente ser utilizados por outro recursos de segurança ou

contabilidade. (ARP Inspection, por exemplo)

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

29

DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 30

§ DHCP Snooping

• Qual o melhor local da infraestrutura de comunicações para ativar este serviço?

• Exemplo:

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

30
DHCP| Dynamic Host Configuration Protocol GSR [2022] Slide 31

§ DHCP Snooping | ARP Inspection

• :

Gestão de Sistemas e Redes | © Ricardo Ruivo, ISCTEM

31

Você também pode gostar