Vamos demonstrar como forçar o tráfego de Internet de um Cliente OpenVPN (site to site) a passar pelo Servidor OpenVPN no PfSense. Nesse caso, todo o tráfego do site_cliente_VPN sairá pelo Site_Server_OpenVPN.
Algumas pessoas podem perguntar: Quais os motivos para forçar o tráfego do cliente site to site VPN a passar pelo Servidor VPN?
Abaixo, vou listar alguns dos motivos.
- Focar na segurança do tráfego no Servidor OpenVPN.
- Usar um único proxy.
- Usar um único limitador de domínios.
- Garantir que a saida para determinados sites saiam sempre do Servidor OpenVPN.
Vamos usar o cenário que usamos para fazer a instalação do VPN Site to Site com pfSense.
Sugiro que vejam a configuração usada em “ VPN Site to Site com pfSense”.
Procurando a rota para o túnel VPN
Vamos no Client_Site_OpenVPN e vamos verificar as rotas para poder identificar o IP do túnel que liga ao Server_Site_OpenVPN.
Para isso, vamos clicar em “Diagnostics -> Routes”.
Agora, você verá uma tabela semelhante a da figura abaixo. Em seguida, vamos procurar a rota que aponta para o IP do túnel da sua VPN.
Essa rota está associada a rede privada do servidor OpenVPN. No meu caso, o servidor OpenVPN tem uma rede interna “192.168.56.0/24” . Podemos observar na figura acima que para atingir a rede “192.168.56.0/24” o clienteOpenVPN tem que enviar para o “10.0.8.1” na interface ovpnc1.
Lembrando que ovpnc1 é a interface do túnel openvpn.
Configurando o Servidor Openvpn
Agora vamos entrar no Server_Site_OpenVPN e clicar em VPN -> OpenVPN -> Client Specific Overrides.
Depois disso, vamos editar clicando no ícone de lápis como na figura abaixo.
Vamos descer lá para o final da página onde temos o campo “Advanced”.
E vamos adicionar as rotas para o IP do túnel OpenVPN.
push "route 0.0.0.0 128.0.0.0 10.0.8.1";
push "route 128.0.0.0 128.0.0.0 10.0.8.1";
Em seguida, vamos clicar em “SAVE”.
Nesse caso, incluímos as rotas para o tráfego default dividindo em duas subredes. A primeira vai de 0.0.0.0 até 127.255.255.255 e a segunda sub rede vai de 128.0.0.0 até 255.255.255.255.
O motivo de dividir as duas subredes é que queremos que durante a hierarquia da tabela de rotas da rede do cliente VPN o tráfego seja enviado pelo túnel VPN.
Criar regra no NAT para a rede do cliente VPN
Agora vamos ter que criar uma regra no NAT do Server_Site_OpenVPN para permitir que o tráfego que venha da rede LAN doClient_Site_OpenVPN possa passar pelo NAT do servidor.
Agora, vamos clicar em “Outbound” e em seguida vamos clicar em “Hybrid Outbound NAT” e depois clicar em “Save”.
Em seguida, dentro de “Mappings”, vamos clicar em “Add”.
Agora vamos inserir a regra para a rede LAN do Client_Site_OpenVPN (192.168.24.1).
Nota. Lembre-se de substituir a rede interna para a rede que você usa no seu cliente.
Depois de inserir a rede “192.168.24.0 /24 “ como “source”, vamos clicar em “Save”.
Reiniciar o Servidor VPN
Agora vamos reiniciar o Server_Site_OpenVPN.Para isso, vamos clicar em Status – > OpenVPN.
Em seguida, vamos clicar no ícone de restart como na figura abaixo.
Reiniciando o cliente Openvpn
Agora vamos voltar ao pfsense do Client_Site_OpenVPN e vamos reiniciar o serviço de VPN.
Para isso, como na figura abaixo, vamos clicar em Status – > OpenVPN.
Em seguida, vamos clicar no ícone de restart como na figura abaixo.
Testando o tráfego da rede do cliente VPN
Agora, vamos testar se o tráfego para a Internet está saindo pelo Servidor OpenVPN.
Para testar, podemos abrir um terminal em uma máquina que esteja na rede interna (LAN) do Client_Site_OpenVPN. Em seguida, vamos digitar o comando abaixo.
tracepath -n 8.8.8.8
Na figura acima, temos o primeiro salto como sendo a interface LAN do Client_Site_OpenVPN (192.168.24.1). Em seguida, temos interface WAN do Server_Site_OpenVPN (10.0.8.1).
Depois disso, temos o IP que estou usando como gateway da rede Network_NAT do meu VirtualBox (10.0.2.1).
E por fim podemos verificar que o tráfego da rede LAN do Client_Site_OpenVPN está saindo pelo Server_Site_OpenVPN.
Livros Indicados:
E-Books de Redes e Segurança
Juliana Mascarenhas
Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer
SSH: Como criar chave pública
Nesse tutorial vamos ensinar a criar e configurar o acesso a um servidor SSH usando…
Socket em Python criando chat UDP
Tutorial para a criação de um chat simples utilizando sockets em UDP em Python 3….
Socket em Python, criando um Chat
Tutorial para a criação de um chat simples utilizando sockets TCP em Python 3. O…
Como usar apt get com proxy
Ao longo dos tempos sempre me deparo nos laboratórios de rede com a necessidade de…
Qual a melhor IDE para Python?
Encontrar a IDE perfeita é uma jornada pessoal que depende de vários fatores, como suas…
Python: como obter metadados de imagens e PDFs
Mais Links: