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
67e68; relay e servidor comunicam através de UDP67. O servidor necessita de um caminho de retorno para o IP do relay10.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
- Abrir
Network > DHCP. - Em Relay, clicar em Add.
- Introduzir um nome inequívoco, como
relay-clients-vlan20. - Selecionar IP version.
- Em Interface, selecionar a interface dos clientes
VLAN20 - 10.20.0.1. - Em DHCP server IP, adicionar o servidor
172.16.16.17. - 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:
- Ligações IPsec Any-to-Any em ambos os firewalls.
- Interfaces XFRM endereçadas com gateway.
- 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. - Acesso IPsec permitido em
Administration > Device accesspara as interfaces WAN envolvidas. - Uma regra na sede central de
VPNpara a zona do servidor com Source10.20.0.1, Destination172.16.16.17e ServiceDHCP.
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
VPNpara a zona do servidor: rede relay para servidor DHCP, ServiceDHCP. - Da zona do servidor para
VPN: servidor DHCP para rede de clientes, ServiceDHCP.
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 addaltera 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?
Onde são configuradas as opções DHCP ao utilizar um relay?
Por que motivo o cliente não recebe um lease apesar de o servidor DHCP estar acessível?
67/68.