Ambiente: A rede de uma empresa tem um dispositivo Firebox M-series com Total Security Suite na sede. Cada filial tem um Firebox da série T menor sem serviços de assinatura. Por esse motivo, todo o tráfego das filiais é roteado pelo dispositivo M-series na matriz. Alguns Fireboxes de filiais possuem um IP estático, outros o obtêm via DHCP.
Ocasionalmente, pode haver alguns problemas com o túnel (por exemplo, se a rede HQ estiver inativa). Portanto, os Fireboxes da filial precisam ser capazes de abandonar a 0.0.0.0/0
rota pelo túnel e trabalhar de forma autônoma por um tempo, já que a conectividade com a Internet do BO é crucial para o negócio. Isso funciona com BO Virtual Interface, mas não com 0.0.0.0/0
BO GW & Tunnel.
Configuração relacionada simplificada (apenas uma Externa e Confiável if), uma filial com DHCP.
- Firebox-HQ (
10.9.0.1
) - M670 [Fireware OS v12.2.1.B572649]- Interfaces (Modo Roteado)
eth0
: ISP1 [Externo] -198.51.100.123/24
(Estático)eth1
: Confiável [Confiável] -10.9.0.1/24
- Interface VPN (
bvpn20
): BovpnVif.BO20 [IKEv1]- Rota para
10.9.20.0/24
- Rota para
- Interfaces (Modo Roteado)
- Firebox-BO20 (
10.9.20.1
) - T55 [Fireware OS v12.2.1.B572649]- Interfaces (Modo Roteado)
- Servidores DNS:
192.0.2.10
&192.0.2.20
(servidores DNS do ISP2) eth0
: ISP2 [Externo] -203.0.113.33/24
(DHCP)eth1
: Confiável [Confiável] -10.9.20.1/24
- Servidores DNS:
- Interface VPN (
bvpn1
): BovpnVif.HQ [IKEv1]- Rota para
0.0.0.0/0
- Configurações VPN: [x] Remova as rotas VPN quando o túnel para um BOVPN vif estiver inativo.
- Rota para
- Interfaces (Modo Roteado)
Tudo funciona exatamente como esperado quando o túnel está inativo. O Firebox-BO20 pode funcionar como um resolvedor de DNS para sua eth1
rede. Tanto 10.9.20.0/24
o Firebox quanto o próprio podem acessar a Internet.
Problema: Quando o túnel está ativo e a 0.0.0.0/0
rota bvpn1
é adicionada, os clientes eth1
podem acessar a Internet através da VPN e todos os recursos (incluindo servidores DNS) no HQ.
IPv4 Routes
------------
Destination Gateway Genmask Flags Metric Interface
0.0.0.0 0.0.0.0 0.0.0.0 U 1 bvpn1
0.0.0.0 203.0.113.1 0.0.0.0 UG 5 eth0
10.9.20.0 0.0.0.0 255.255.255.0 U 0 eth1
203.0.113.0 0.0.0.0 255.255.255.0 U 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 lo
No entanto, o Firebox para de funcionar como um resolvedor de DNS e perde sua própria conectividade com a Internet . Isso se deve ao fato de as próprias conexões do Firebox começarem a usar a rota também.
- Os servidores DNS do ISP2
192.0.2.10
não192.0.2.20
podem ser acessados pelo ISP1. - Os dispositivos na rede
10.9.20.0/24
podem acessar a Internet através dobvpn1
. - O Firebox não usa seu IP interno
10.9.20.1
pelo túnel, mas o203.0.113.33
. - A regra de firewall
Any From Firebox-00
é codificada e não aparece no Policy Manager. Caso contrário, teria sido fácil forçá-lo a usareth0
com<policy-routing>
.
Existem políticas de firewall para permitir todo o tráfego necessário em ambos os appliances; o problema fica, portanto, delimitado apenas ao roteamento.
Para os servidores DNS do ISP2, você precisa adicionar rotas estáticas ao Firebox-BO20.
192.0.2.10
gateway .203.0.113.1
0
192.0.2.20
gateway .203.0.113.1
0
Depois de salvar as configurações no Firebox, a tabela de rotas com o túnel conectado fica assim:
Outra opção é usar servidores DNS públicos (como Cloudflare
1.1.1.1
/1.0.0.1
ou Google8.8.8.8
/8.8.4.4
) que funcionem em ambos os ISPs. Desta forma você não precisará adicionar as rotas no Firebox-BO20, mas a solução abaixo é obrigatória para ambas as abordagens .Para a conectividade com a Internet do Firebox-BO20 quando o túnel está conectado, as coisas são um pouco mais complicadas, pois o Firebox usa seu IP externo ao enviar seus pacotes pelo túnel. Se você tiver uma regra de correspondência com o logon, como um proxy HTTPS, verá isso nos logs, por exemplo:
Isso tem uma rota
0.0.0.0/0
no Firebox-BO20, mas nenhuma rota no túnel Firebox-HQbvpn20
.Você precisa editar a Interface Virtual BOVPN BovpnVif.BO20 e adicionar uma rota para o IP externo do Firebox-BO20 . Se o IP fosse estático, teria sido um único arquivo
203.0.113.33/32
.Neste caso, onde a interface externa do Firebox-BO20 está em DHCP, você precisaria de uma rota que cobrisse todos os IPs possíveis que poderia obter, todo o pool DHCP, por exemplo
203.0.113.0/24
. É claro que isso significa que o Firebox-HQ também usará essa rota para os outros endereços nesse intervalo. Isso pode causar problemas em alguns casos de uso - se isso acontecer, você precisará obter um IP estático.Por padrão, o Firebox adiciona NATs dinâmicos para redes
192.168.0.0/16
privadas172.16.0.0/12
e10.0.0.0/8
. Como o IP externo203.0.113.33
não está dentro dessas redes, você precisa adicionar (Network > NAT...) Dynamic NAT from BovpnVif.BO20 to Any-External . Felizmente, isso pode ser feito usando o alias interno existente para a Interface Virtual BOVPN.