Conectar os dispositivos do evento

LinuxBeginner
Pratique Agora

Introdução

Maple Yard está preparando um evento de fim de semana. A estação de referência já recebe suas configurações de rede automaticamente. Dois novos dispositivos de visitantes precisam do mesmo serviço, sem ocupar endereços reservados para o roteador ou estações fixas.

Você configurará uma pequena faixa de endereços DHCP, fará os dois clientes obterem concessões reais e baixará a programação pelo gateway e DNS recebidos. Só são necessários comandos básicos no terminal e a troca entre abas com nome. Não é preciso programar nem ter experiência em administração DHCP.

Use Network Desk para editar a configuração do servidor, Guest A e Guest B para comandos dos clientes e Network Map para observar os nós ativos. São nós de rede Linux isolados que compartilham um kernel. Seus diretórios e estados de rede são separados. Abrir ou reconectar uma aba não reinicia o curso.

Abrir espaço para os novos dispositivos

Nesta etapa, você escolherá uma faixa dinâmica segura e fará o servidor DHCP oferecê-la. Comece em Network Map. Localize o cartão reference e selecione Request programme. A programação de Maple Yard deverá aparecer. Esse é um exemplo existente que funciona, ainda não é seu novo resultado.

Um endereço IPv4 identifica um dispositivo nesta rede. O /24 em 10.77.0.10/24 significa que endereços iniciados por 10.77.0 pertencem a esta sub-rede local. O gateway leva o tráfego ao servidor da programação em outra sub-rede. DNS converte um nome como programme.event.test em seu endereço. Receber um endereço não prova que as outras configurações são úteis.

Mude para Network Desk. Este terminal começa em /home/labex/project/event-network. pwd mostra o diretório atual; cat mostra um arquivo de texto:

pwd
cat devices.tsv

O endereço MAC é a identidade de camada de enlace do dispositivo nesta rede preparada. Ele difere do endereço IPv4 e do nome amigável da aba. A estação de referência usa 10.77.0.10; o roteador e DNS usam 10.77.0.1. Preserve esses endereços fixos. A faixa de visitantes vai de 10.77.0.100 a 10.77.0.109, incluindo as extremidades, com máscara 255.255.255.0, equivalente a /24.

Leia o arquivo editável do servidor:

cat dhcp.conf

A linha conf-file inclui o serviço de referência preparado. Preserve-a. dhcp-range define o primeiro endereço, o último, a máscara e a duração da concessão. Uma concessão é uma atribuição temporária; 2h significa duas horas, não propriedade permanente.

O here-document a seguir escreve o pequeno arquivo completo. > substitui o conteúdo anterior. As aspas em 'CONF' mantêm o bloco literal; o CONF final deve ficar sozinho no início da linha. Copie o bloco inteiro:

cat > dhcp.conf <<'CONF'
conf-file=/opt/labex/event-network/server-base.conf
dhcp-range=10.77.0.100,10.77.0.109,255.255.255.0,2h
CONF

--test verifica a sintaxe sem iniciar outro servidor. --conf-file seleciona seu arquivo:

dnsmasq --test --conf-file=dhcp.conf

Você deverá ver dnsmasq: syntax check OK.. Se houver erro, leia o arquivo salvo com cat, restaure o bloco mostrado e teste novamente. Não reinicie um serviço que funciona com um erro de sintaxe conhecido.

sudo executa este único comando administrativo. systemctl restart carrega a configuração alterada no serviço do curso, chamado event-dhcp:

sudo systemctl restart event-dhcp

Um reinício bem-sucedido normalmente não imprime nada. Ele não solicita concessões para os visitantes. Você preparou o que o servidor pode oferecer; os clientes ainda precisam pedir. Neste primeiro laboratório, dnsmasq anuncia seu endereço local preparado como gateway e DNS padrão. O próximo ensina como opções explícitas do servidor controlam esses valores.

Fazer cada visitante pedir uma concessão

Nesta etapa, você conectará os dois novos clientes por solicitações DHCP reais. Mude para Guest A. Este é o shell de administrador desse cliente isolado, já em sua área de trabalho. Sua eth0 é o enlace do curso, não a interface da plataforma. Não execute estes comandos em Network Desk.

dhclient é o cliente ISC DHCP fornecido. O curso usa uma cópia local inalterada com um hook preparado que aplica apenas opções recebidas a este nó isolado. Ele não inventa endereços nem muda o resolvedor da plataforma. -4 seleciona IPv4, -v mostra a troca e -1 encerra esta tentativa de aquisição se nenhum servidor responder. -cf client.conf seleciona as configurações fornecidas; -pf client.pid e -lf client.leases mantêm o estado do processo e das concessões deste cliente em seu próprio diretório. O arquivo preparado começa vazio; o cliente grava nele sua concessão real recebida. Preserve esses arquivos preparados.

Execute em uma única linha:

dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0

Procure DHCPDISCOVER, DHCPOFFER, DHCPREQUEST e DHCPACK. Na primeira troca, o cliente procura um servidor, recebe uma oferta, solicita essa oferta e recebe a confirmação. Uma concessão existente pode encurtar uma troca posterior. O bound to 10.77.0... final identifica o endereço atribuído. O endereço exato e o tempo de renovação podem variar dentro da faixa.

ip -4 addr show exibe os endereços IPv4 da interface selecionada:

ip -4 addr show dev eth0

Espere um endereço de 10.77.0.100–10.77.0.109 com /24.

Mude para Guest B, que tem seu próprio diretório e estado de cliente. Execute também ali o comando completo:

dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0
ip -4 addr show dev eth0

Os dois endereços devem estar na faixa e ser diferentes. Se aparecer No DHCPOFFERS received, confirme primeiro a aba correta e volte a Network Desk para ler dhcp.conf, testar a sintaxe e reiniciar event-dhcp. Repita a aquisição apenas no cliente que ainda espera. Não apague arquivos de concessões nem reinicie a VM para corrigir um erro de digitação.

Em Network Map, recarregue a página. Os dois cartões de visitantes deverão mostrar os endereços reais. Essa observação não solicita nem repara uma concessão.

Usar as configurações para obter a programação

Nesta etapa, você provará que cada cliente pode usar a configuração recebida e guardará um arquivo real da programação. Comece em Guest A.

ip route show default mostra o gateway usado para destinos fora desta sub-rede local. /etc/resolv.conf lista o resolvedor DNS deste cliente:

ip route show default
cat /etc/resolv.conf

Espere o gateway 10.77.0.1 em eth0 e nameserver 10.77.0.1. O roteador preparado também fornece DNS. A programação fica em outra sub-rede, portanto a solicitação precisa das duas configurações.

curl solicita um recurso HTTP. --noproxy '*' evita qualquer proxy externo neste exercício local; as aspas mantêm * literal. -f trata erros HTTP como falhas, -s oculta o indicador de progresso e -S ainda mostra os erros. --max-time 5 limita a espera a cinco segundos. -o programme.txt salva os bytes da resposta no diretório atual do cliente:

curl --noproxy '*' -fsS --max-time 5 -o programme.txt http://programme.event.test:8080/programme.txt
cat programme.txt

Conteúdo esperado:

MAPLE YARD | Weekend programme
10:00 Welcome desk opens
11:00 Bicycle repair
13:00 Seed exchange
15:00 Community workshop

Mude para Guest B e inspecione as configurações recebidas independentemente:

ip route show default
cat /etc/resolv.conf

Baixe e leia a programação ali também:

curl --noproxy '*' -fsS --max-time 5 -o programme.txt http://programme.event.test:8080/programme.txt
cat programme.txt

Could not resolve host indica resolução de nomes; um tempo de conexão esgotado pode indicar um problema no caminho ou gateway; Connection refused significa que o destino escolhido não tem um serviço aceitando conexões naquela porta. Uma resposta HTTP bem-sucedida ainda pode conter o recurso errado: leia todas as entradas da programação.

Se houver endereço, mas a solicitação falhar, compare gateway e DNS com os valores acima. Volte ao arquivo correto do servidor em vez de atribuir configurações manualmente ao cliente. Se precisar liberar e solicitar uma concessão novamente, -r libera a concessão atual deste cliente e encerra seu processo antigo:

dhclient -4 -v -r -cf client.conf -pf client.pid -lf client.leases eth0

Depois use o comando de aquisição já aprendido e repita o download. Execute essas ações de recuperação apenas na aba do visitante afetado.

Por fim, recarregue Network Map. Selecione Request programme nos dois visitantes e na estação de referência. Os três devem devolver a programação completa. Os arquivos salvos e as solicitações reais demonstram configuração utilizável, além de um arquivo de servidor aparentemente correto.

Network Map após as solicitações reais dos clientes

Compare endereço IPv4, gateway e DNS em cada cartão e leia a resposta da programação abaixo do botão. Os endereços atribuídos aos visitantes podem diferir deste exemplo.

Resumo

Você selecionou uma faixa que exclui os dispositivos fixos, obteve concessões DHCP reais distintas, leu gateway e DNS aplicados e baixou a programação completa nos dois clientes. Também preservou a estação de referência funcionando.

São configurações temporárias dentro da VM de treinamento atual. Elas não garantem persistência após reiniciar, acesso público à Internet nem compatibilidade com todo cliente DHCP. O próximo laboratório guiado prepara outro ambiente independente para uma reserva de dispositivo e recuperação da configuração.