Os nossos computadores são cada vez mais máquinas verdadeiramente versáteis e que têm a responsabilidade de suprir as nossas necessidades, sejam elas quais forem!
Deixámos de ter máquinas dedicadas a uma função exclusiva, assumindo cada uma delas vários papéis, sejam eles no plano do divertimento ou do trabalho. Temos, por isso, de conseguir tornar essas máquinas verdadeiros canivetes suíços, preparados com todos os tipos de ferramentas.
Hoje quisemos trazer algo diferente, uma dica que pode ser útil em determinadas situações mais particulares, mas que temos a certeza que pode ser útil. Vamos explicar como configurar um servidor de DHCP no OSX.
São várias as situações em que podem usar esta dica que vos trazemos. Desde a criação de uma pequena rede num qualquer local sem condições de rede, para ligarem várias máquinas de forma automática, ou até para configurarem equipamentos de rede que necessitem de um endereço IP atribuído via DHCP para posterior configuração.
Os cenários em que podem usar este servidor são muitos, dependendo apenas da vossa imaginação e, principalmente, do vosso engenho e necessidade!
Seria de esperar que fosse necessário instalar um qualquer software para conseguirem ter um servidor DHCP no OSX, mas a Apple resolveu incluí-lo no próprio sistema operativo, pronto a ser configurado e usado conforme as vossas necessidades. Esta é apenas mais uma das muitas ferramentas que podem encontrar nativamente neste sistema operativo.
Ponto importante que convêm esclarecer para todos os que quiserem usar este servidor de DHCP, que no OSX se chama bootpd, é que é totalmente configurado e controlado através do terminal. Não existe qualquer interface gráfica criada ou desenhada para a sua gestão.
Comecem então por abrir um terminal, que se encontram dentro da pasta de aplicações, dentro da pasta Utilitários, e preparem-se para começarem a trabalhar nele.
Configurar
O primeiro e mais importante passo que podem dar na utilização do bootpd é a sua configuração. Esta reside totalmente no ficheiro bootpd.plist, que se encontra dentro da pasta /etc.
Comecem por editar ou criar esse ficheiro nessa localização, usando para isso o vosso editor de texto preferido do terminal. Vamos deixar aqui um exemplo usando o VI. Este comando deve ter permissões de administrador.
sudo vi /etc/bootpd.plist
Podem encontrar abaixo um exemplo de configuração a usar no servidor de DHCP. Notem apenas alguns pontos que estão a ser utilizados nesta configuração:
- a interface de rede por onde os pedidos e as respostas de/para o DHCP é a en0 (tipicamente a interface de rede por cabo),
- a rede que está a ser usada é: 10.0.11.0/24,
- a interface en0 deverá ter o endereço IP 10.0.11.1
- estão a ser atribuídos os endereços entre o IP 10.0.11.2 e 10.0.11.254
/etc/bootpd.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>bootp_enabled</key> <false/> <key>detect_other_dhcp_server</key> <integer>1</integer> <key>dhcp_enabled</key> <array> <string>en0</string> </array> <key>reply_threshold_seconds</key> <integer>0</integer> <key>Subnets</key> <array> <dict> <key>allocate</key> <true/> <key>lease_max</key> <integer>86400</integer> <key>lease_min</key> <integer>86400</integer> <key>name</key> <string>10.0.11</string> <key>net_address</key> <string>10.0.11.0</string> <key>net_mask</key> <string>255.255.255.0</string> <key>net_range</key> <array> <string>10.0.11.2</string> <string>10.0.11.254</string> </array> </dict> </array> </dict> </plist>
Podem alterar essas configurações de acordo com o que pretendem, sempre respeitando a semântica do ficheiro bootpd.plist.
No final gravem o ficheiro e preparem-se para passarmos para o passo seguinte.
Criar atribuições estáticas
O passo seguinte é facultativo e apenas deverá ser usado por quem pretende reservar endereços para certas e determinadas máquinas na rede.
Com esta configuração específica estão a forçar a atribuição de um determinado endereço IP a um equipamento específico, sendo este identificado com o seu endereço MAC.
Esta definição é feita num outro ficheiro, na mesma zona de configuração onde criaram/editaram o anterior. O ficheiro em causa tem o nome bootptab e fica também na directoria /etc.
Mais uma vez devem editar ou criar o ficheiro, caso ele não existam. Voltem a usar o vosso editor de texto favorito e coloquem nele o exemplo que deixamos abaixo, adaptando-o para o que pretendem.
O comando para editar pode ser, usando o VI, o seguinte:
sudo vi /etc/bootptab
Mais uma vez devem respeitar a semântica que apresentamos. Criem uma linha para cada dispositivo onde quiserem forçar um endereço IP. É importante terem convosco o endereço MAC de cada um desses dispositivos.
NOTA: os “%%” no início do ficheiro são essenciais e a sua ausência leva a que o servidor não funcione.
/etc/bootptab
%% # machine entries have the following format: # # hostname hwtype hwaddr ipaddr bootfile cliente1 1 00:01:02:03:04:05 10.0.11.20 cliente2 1 00:a0:b2:ef:ff:0a 10.0.11.21
Lembrem-se que apenas podem reservar endereços que estejam dentro da pool que o servidor de DHCP está a controlar. Neste caso seria entre o IP 2 e o 254.
Se preferirem podem sempre diminuir a pool em uso e configurar manualmente um desses endereços nos dispositivos.
Lançar/Parar serviço DHCP
Depois de seguidos os passos referentes à configuração é chegada a hora de finalmente termos o servidor de DHCP a funcionar e a servir a rede.
O comando de lançamento e de fim do servidor são praticamente idênticos, variando apenas um elemento (load/unload).
Encontram abaixo os comandos necessários para essas funções. Ambos requerem que tenham a password de administrador da máquina.
Iniciar:
sudo /bin/launchctl load -w /System/Library/LaunchDaemons/bootps.plist
Terminar:
sudo /bin/launchctl unload -w /System/Library/LaunchDaemons/bootps.plist
Como podem ver não é nada complicado arrancar ou terminar este servidor! Mais uma vez lembramos que não existe qualquer interface gráfica para fazer este controlo.
Validar a atribuição de endereços
Mas agora que o servidor está a funcionar é preciso que entendam se ele está a servir correctamente os endereços às máquinas que estão ligadas à vossa rede.
Esta informação pode ser consultada de forma mais ou menos simples, através dos registos do sistema. Abram então a aplicação Consola, que se encontra na pasta Utilitários, nas Aplicações.
Uma vez na aplicação procurem por system.log, na coluna esquerda e vejam aí os logs do servidor bootpd. As linhas referentes vão estar identificadas com este nome.
Como podem ver na imagem acima, o processo é sempre idêntico. As máquinas na rede enviam pedidos de descoberta que depois têm respostas de oferta por parte do servidor (1).
Depois segue-se um pedido e a resposta final é a confirmação de atribuição do endereço que vai ser atribuído à máquina e usado por este (2).
Com esta informação vão facilmente conseguir mapear a atribuição de endereços IP por máquinas (endereço MAC)
Como puderam ver é extremamente simples ter um servidor DHCP a correr no vosso OSX e preparado para atribuir endereços numa rede aos equipamentos que deles precisarem.
Mais uma vez fica mostrado que os sistemas operativos estão quase sempre preparados para suprir as necessidades dos utilizadores, mesmo que estas sejam muito específicas.
O OSX em particular, como já vos mostrámos várias vezes, está munido de ferramentas que apenas se esperavam encontrar em versões servidor, o que deixam os seus utilizadores prontos para enfrentar qualquer adversidade tecnológica, seja ela qual for.