Saltar para o conteudo
Avanet

Configurar e testar o DHCP Relay no Sophos Firewall

Um DHCP Relay encaminha pedidos DHCP de uma rede de clientes para um servidor noutra rede. No Sophos Firewall, abre-se Network > DHCP, cria-se em Relay um agente para a interface dos clientes e introduz-se o endereço IP do servidor DHCP.

Procedimento rápido: selecionar a interface dos clientes, introduzir o servidor DHCP, verificar no servidor o scope correto e o caminho de retorno, renovar o lease e capturar a comunicação com port 67 or port 68. Relay through IPsec só é ativado com IPsec policy-based, não com uma VPN route-based.

O exemplo utiliza a rede de clientes 10.20.0.0/24, a interface relay 10.20.0.1 e o servidor DHCP 172.16.16.17.

Pré-requisitos e limites

O servidor DHCP deve ter um scope para 10.20.0.0/24. O Sophos Firewall não distribui o lease diretamente; utiliza o endereço da interface relay para que o servidor selecione o scope correto. Se, em vez disso, o firewall tiver de distribuir endereços diretamente na rede de clientes ligada, consultar Configurar o Sophos Firewall como servidor DHCP. As opções DHCP são configuradas no servidor que atribui o lease.

Aplicam-se os seguintes limites à configuração:

  • A interface relay encontra-se na mesma sub-rede dos clientes e não pode ser a interface do servidor DHCP.
  • Os agentes relay podem ser configurados em interfaces físicas e virtuais, como VLAN, Wireless ou Bridge, mas não num Interface Alias.
  • Não se cria um agente relay na sub-rede do servidor DHCP.
  • É criado um agente relay separado para cada sub-rede de clientes.
  • Podem ser configurados até oito servidores DHCP por agente relay. O pedido é enviado a todos e o cliente utiliza o primeiro Offer.
  • O servidor DHCPv4 e o DHCPv4 Relay podem funcionar em simultâneo no mesmo firewall, mas não na mesma interface.
  • O servidor DHCPv6 e o DHCPv6 Relay não podem estar ativos em simultâneo no mesmo firewall.
  • Entre o cliente e o relay são necessários UDP 67 e 68; relay e servidor comunicam através de UDP 67. O servidor necessita de um caminho de retorno para o IP do relay 10.20.0.1.

Vários destinos relay devem fornecer scopes e opções idênticos ao mesmo cliente. Caso contrário, respostas diferentes provocam um comportamento difícil de reproduzir.

Configurar DHCP Relay sem VPN

  1. Abrir Network > DHCP.
  2. Em Relay, clicar em Add.
  3. Introduzir um nome inequívoco, como relay-clients-vlan20.
  4. Selecionar IP version.
  5. Em Interface, selecionar a interface dos clientes VLAN20 - 10.20.0.1.
  6. Em DHCP server IP, adicionar o servidor 172.16.16.17.
  7. Manter Relay through IPsec desativado e guardar.

Em seguida, renovar um lease com um cliente de teste. Se o cliente não receber um endereço, verificar primeiro se o servidor tem um scope para 10.20.0.0/24 e conhece uma rota para a interface relay. Em caso de problemas com VLAN, consultar Configurar uma interface VLAN no Sophos Firewall.

DHCP Relay através de IPsec route-based

Desde o SFOS 21.0, a Sophos documenta DHCP Relay através de XFRM para um servidor DHCP externo atrás do firewall central. A arquitetura documentada utiliza um túnel route-based Any-to-Any. Os Traffic Selectors route-based não estão confirmados para este procedimento.

São necessários:

  1. Ligações IPsec Any-to-Any em ambos os firewalls.
  2. Interfaces XFRM endereçadas com gateway.
  3. Rotas estáticas, SD-WAN ou dinâmicas do relay para o servidor DHCP e do servidor de volta para o IP do relay 10.20.0.1.
  4. Acesso IPsec permitido em Administration > Device access para as interfaces WAN envolvidas.
  5. Uma regra na sede central de VPN para a zona do servidor com Source 10.20.0.1, Destination 172.16.16.17 e Service DHCP.

Na filial, configura-se a interface dos clientes como agente relay; Relay through IPsec permanece desativado. O pedido relay é tráfego gerado pelo sistema e não necessita de uma regra de firewall própria na filial. A configuração do túnel e das rotas XFRM é descrita em detalhe em Configurar IPsec Site-to-Site no Sophos Firewall.

⚠️ Este procedimento route-based aplica-se a um servidor DHCP externo atrás do firewall central. Uma interface do Sophos Firewall como servidor DHCP central não é suportada neste cenário.

DHCP Relay através de IPsec policy-based

Com IPsec policy-based, ativa-se Relay through IPsec na filial. As sub-redes locais e remotas da ligação IPsec devem incluir a interface relay e o servidor DHCP. Se existir um servidor DHCP externo atrás do firewall central, são necessárias duas regras:

  • De VPN para a zona do servidor: rede relay para servidor DHCP, Service DHCP.
  • Da zona do servidor para VPN: servidor DHCP para rede de clientes, Service DHCP.

No procedimento policy-based documentado, o endereço de origem do tráfego relay gerado pelo sistema tem de ser definido para o IP do relay com sys-traffic-nat. Os comandos seguintes são executados na Device Console após o login SSH. No SFOS 22.0, este tráfego gerado pelo sistema não necessita de uma system ipsec_route adicional.

Antes da alteração, guardar o estado atual:

show advanced-firewall

⚠️ sys-traffic-nat add altera a configuração NAT global para o tráfego gerado pelo sistema. Destination e endereço de origem têm de corresponder ao túnel IPsec e ao caminho de retorno.

No exemplo, o endereço de origem da interface relay é definido para o tráfego destinado ao servidor DHCP:

set advanced-firewall sys-traffic-nat add destination 172.16.16.17 snatip 10.20.0.1

Em seguida, executar novamente show advanced-firewall e verificar se existe exatamente esta entrada. O servidor tem de conseguir alcançar 10.20.0.1 através do túnel.

Rollback:

set advanced-firewall sys-traffic-nat delete destination 172.16.16.17 snatip 10.20.0.1

Outros casos específicos de routing policy-based e procedimentos de versões SFOS anteriores são explicados em Criar uma IPsec Route no Sophos Firewall.

Quando a sede central é o servidor DHCP

Se o Sophos Firewall central funcionar como servidor DHCP com IPsec policy-based, cria-se ou edita-se um scope do servidor em Network > DHCP > Server. Ativar Accept client request via relay, introduzir um intervalo de leases de 10.20.0.0/24 e definir 10.20.0.1 como gateway. No agente relay, introduzir a interface de servidor do firewall central como DHCP server IP; no exemplo NAT anterior, o respetivo endereço substitui 172.16.16.17.

Em seguida, apresentar o estado na Device Console central:

system dhcp lease-over-IPSec show

⚠️ A definição seguinte afeta globalmente os leases DHCP através de IPsec. Ativá-la apenas no firewall que atribui os leases.

Ativar e depois verificar com o comando show anterior:

system dhcp lease-over-IPSec enable

Rollback:

system dhcp lease-over-IPSec disable

Testar o funcionamento e resolver problemas

Um agente relay guardado não comprova que a configuração funciona. Renovar o lease num cliente de teste e definir em Diagnostics > Packet capture > Configure, no campo Enter BPF string, um filtro restrito:

port 67 or port 68

No fluxo de pacotes devem aparecer, por esta ordem, o pedido do cliente, o pedido encaminhado, o Server Offer e o caminho de retorno. A utilização e os campos são explicados em Packet Capture no WebAdmin do Sophos Firewall.

Os erros típicos podem ser isolados da seguinte forma:

  • Não é visível qualquer pedido do cliente: verificar VLAN, porta do switch, interface dos clientes ou cliente DHCP local.
  • O pedido chega ao firewall, mas não é encaminhado: verificar interface relay, IP do servidor, rota e, com IPsec policy-based, Relay through IPsec.
  • O servidor recebe o pedido, mas não responde: verificar o scope para a sub-rede relay, a autorização do servidor e o firewall local do servidor.
  • O Offer chega à sede central, mas não ao cliente: verificar rota de retorno, regras do firewall central, sub-redes IPsec e entrada NAT.
  • O cliente recebe uma configuração incorreta: determinar qual servidor responde primeiro e comparar scopes e opções DHCP em todos os destinos relay.

Perguntas frequentes

É necessário ativar Relay through IPsec em todas as VPN?

Não. A opção é ativada com IPsec policy-based. Na arquitetura route-based Any-to-Any documentada, permanece desativada.

Onde são configuradas as opções DHCP ao utilizar um relay?

No servidor DHCP que atribui o lease. O Sophos Firewall apenas encaminha as mensagens DHCP entre o cliente e o servidor.

Por que motivo o cliente não recebe um lease apesar de o servidor DHCP estar acessível?

Normalmente falta um scope adequado para a sub-rede relay ou o caminho de retorno para a interface relay. Em seguida, verificar regras de firewall, sub-redes IPsec e UDP 67/68.