Endereço IP Fixo conforme MAC da placa de rede : DHCP server - Parte 2

continuando nosso artigo veremos neste texto como configurar nosso servidor DHCP para que ele tenha uma faixa livre de IPs e que determinados endereços fiquem fixos em algumas máquinas de acordo com o MAC de placa de rede. (Ubuntu 10.04 LTS)

Olá pessoal, continuando nosso artigo veremos neste texto como configurar nosso servidor DHCP para que ele tenha uma faixa livre de IPs e que determinados endereços fiquem fixos em algumas máquinas de acordo com o MAC de placa de rede.
 
Esse recurso é usado em redes de terminais leves, para que o servidor "reconheça" os terminais e possa enviar a configuração adequada a cada um, mas pode ser usado em outras situações, como, por exemplo, em uma pequena rede, onde alguns micros compartilham impressoras e arquivos e, por isso, não podem ficar mudando de endereço IP a cada reboot.
Configurar o servidor DHCP para dar a eles sempre o mesmo IP pode ser mais prático que configurá-los para usar IP fixo manualmente, pois eles continuarão recebendo o mesmo IP mesmo que você reinstale o sistema (pois, apesar da mudança de sistema operacional, a placa de rede continuará a mesma).
Para usar este recurso basta adicionar as seguintes linhas no final do arquivo dhcpd.conf, sendo cada conjunto de linhas responsável por uma máquina:
 
host maquina01{
hardware ethernet 00:03:0D:7C:CF:A5;
fixed-address 192.168.1.10;
}

Segue baixo um arquivo de exemplo:

###ARQUIVO EXEMPLO SIMPLES DE CONFIGURAÇÃO DO SERVIDOR DHCP authoritative; ddns-update-style none; default-lease-time 600; max-lease-time 7200; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.0.199; option routers 192.168.1.1; option domain-name-servers 200.204.0.10, 200.204.0.138; option broadcast-address 192.168.0.255; host maquina01 { hardware ethernet 00:03:0D:7C:CF:A5; fixed-address 192.168.1.10; } host maquina02 { hardware ethernet 00:0F:B0:45:BC:17; fixed-address 192.168.1.11; } } ###FIM


host: coloca o nome da maquina. (não pode ter espaços em branco entre o nome).
hardware ethernet: coloca o MAC da placa de rede.
fixed-address: coloca o endereço Ip que ficara fixo para aquela placa.

Feito isso basta salvar o arquivo e reiniciar o servidor DHCP com o comando:

$ sudo gedit /etc/default/dhcp3-server

Nosso arquivo exemplo tem como características:
distribuir Ips automáticos da faixa 192.168.1.100 até 192.168.100.199
reservar 2 Ip, sendo para maquina01 - 192.168.1.10 e para maquina02 192.168.1.11
Os demais endereços poderam ser programados manualmente.

Obs1:
Verificar se realmente a placa que será usada pelo servidor DHCP está correta verificando o arquivo dhcp3-server com o comando:

$sudo gedit /etc/default/dhcp3-server

No caso acima usei a interface "eth1".
Dica:
Quando você troca uma placa de rede o Linux poderá automaticamente renomeá-la para (ethX), fazendo com que sua conexão continue sem funcionar, isso acontece porque o Linux identifica a placa de rede pelo seu endereço MAC (que é único).
Para alterar o nome da placa de rede basta alterar o seguinte arquivo com o comando:

$sudo gedit /etc/udev/rules.d/70-persistent-net.rules

Obs2: No comando acima onde está o número 70 pode mudar conforme a distribuição Linux.

O seguinte arquivo será aberto, bastando ir em NAME e alterar o nome da placa e em seguida salvar.

#################################################### # This file maintains persistent names for network interfaces. # See udev(7) for syntax. # # Entries are automatically added by the 75-persistent-net-generator.rules # file; however you are also free to add your own entries. # PCI device 0x13f0:0x0200 (sundance) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:06:4f:4b:8e:1f", ATTR=="0x0", ATTR=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x1106:0x3065 (via-rhine) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:11:d8:af:4d:e9", ATTR=="0x0", ATTR=="1", KERNEL=="eth*", NAME="eth1" # PCI device 0x10ec:0x8185 (rtl8180) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:18:e7:1c:2f:a6", ATTR=="0x0", ATTR=="1", KERNEL=="wlan*", NAME="wlan0" ####################################################

Espero que tenham gostado, qualquer crítica ou sugestão deixem um comentário. Até o próximo artigo.

Artigos relacionados