Configurando OpenVPN no RouterOS: Versões 6 e 7


Hoje, vamos aprender a configurar o OpenVPN no RouterOS, tanto na versão 6 quanto na 7. Com vasta experiência junto a ISPs, percebo que muitos ainda utilizam protocolos como PPTP, SSTP e L2TP, que oferecem menor segurança. Optar pelo OpenVPN é uma escolha superior, pois ele não só fornece criptografia robusta e configurações altamente personalizáveis, mas também garante uma proteção mais eficaz contra as vulnerabilidades comuns nesses protocolos menos seguros.

Para configurar nosso servidor OpenVPN, precisaremos de um IP público para acessar o servidor. Uma vantagem interessante é que esse IP pode estar em “blackhole“, o que significa que ele não responderá a nenhuma porta indiscriminadamente, economizando recursos da CPU ao evitar a criação extensiva de regras de firewall. Vou ilustrar essa configuração com um exemplo prático:

Imagine que você adquiriu um MikroTik Hex RB750Gr3 para gerenciar sua rede interna. Você conecta esse dispositivo ao seu roteador de borda. Para configurar a comunicação, você estabelece um segmento de rede /30, por exemplo, 10.7.7.0/30. No roteador de borda, você configura o IP 10.7.7.1/30, e no seu Hex RB750Gr3, você configura o IP 10.7.7.2/30. Em seguida, você adiciona um gateway padrão com o IP 10.7.7.1 e configura na tabela de rotas o IP 250.250.250.250 em balckhole.

No roteador de borda, você cria uma rota estática com destino a 250.250.250.250 com gateway 10.7.7.2. Com isso, você estabelece um caminho direto para o seu IP público, mas sem responder a nenhuma solicitação de conexão externa.

Se você precisar acessar o dispositivo via Winbox, basta criar uma regra de redirecionamento (redirect) para essa porta específica, permitindo o acesso externo somente por ela. Usar um IP em “blackhole” é como ter um firewall que automaticamente descarta qualquer pacote não solicitado, proporcionando uma camada extra de segurança e eficiência.

Exemplo acima ficaria da seguinte forma:

Borda

Hex RB750Gr3

Configurando o Servidor OpenVPN

Para a criação do servidor OpenVPN, será necessário gerar três certificados distintos. Seguem os passos detalhados:

Crie o certificado CA (Certificado de Autoridade)

Para iniciar, crie o certificado da Autoridade Certificadora (CA), que será a base da confiança dos certificados subsequentes:

Após criar o certificado CA, você deve assiná-lo. Substitua 250.250.250.250 pelo seu IP público:

Crie e assine o certificado SERVIDOR

Este certificado será usado para autenticar o servidor durante as conexões:

Crie e assine o certificado CLIENTE

Em seguida, crie o certificado do cliente, que será utilizado pelos clientes para estabelecer uma conexão segura com o servidor:

Exportação dos certificados

Por fim, exporte os certificados para arquivos PEM, o que facilitará a importação em diferentes clientes. Não se esqueça de substituir sup3s3nha0p3nvpn pela senha que protegerá o certificado do cliente:

Este processo garante que tanto o servidor quanto os clientes possam estabelecer uma conexão VPN segura através do uso de certificados confiáveis.

Irá ser criado 3 arquivos CA.crt, CLIENTE.crt e CLIENTE.key

Pelo menu FILE do winbox faça download do mesmo se você estiver utilizando a versão 6 do RouterOS, para versão 7 não é necessário baixar, pois o mesmo tem um gerador que iremos ver mais a frente.

Agora vamos as configurações que serão entregues ao cliente. Crie uma pool qual será entregue.

Crie um o profile especifico para OPEN_VPN, no exemplo estou definindo também uma velocidade de 50MB de upload e download.

Se você deseja ser notificado via Telegram sempre que alguém se conectar ao seu servidor VPN (algo que eu recomendo e costumo fazer), você pode facilmente configurar essa integração editando o perfil no servidor e incluindo um script para enviar alertas. Para isso, siga os passos abaixo:

1. Acesse o perfil do servidor VPN (OPEN_VPN) e localize a aba “Scripts”.
2. Insira o script fornecido, substituindo XXXXXXXXXXXXXXXXXXXXXX pelo token do seu bot no Telegram, e -10000000000 pelo ID do seu grupo ou usuário do Telegram.
# On Up:

# On Down:

Esse ajuste permitirá que você receba uma notificação imediata sempre que ocorrer uma conexão, aumentando o controle e a segurança da sua rede.

Faça uma regra de NAT (src-nat) para fornecer internet ao cliente, onde 250.250.250.250 é nosso querido IP que está em blackhole, e ether1 seria minha interface WAN (Upstream)

Iremos ativar o servidor OpenVPN agora, a porta padrão é a 1194, porem estarei adotando a boa pratica de utilizar outra como a 61194

Para RouterOS v7 (Recomendado) ✅

Para RouterOS v6 (Não recomendo) ❌

Crie seus usuários, vou criar um de exemplo:

Você pode também utilizar os usuários via Radius, basta fazer a integração. Exemplo:

Na versão 7 do routerOS podemos criar nosso arquivo.ovpn direto pelo botão Export .ovpn

Altere server-address para seu endereço de ip público.

Se estiver utilizando o ip em blackhole vc precisa fazer o redirect para porta que irá utilizar ex.: “61194”

Veja os arquivos novamente.

Perceba que temos agora um novo arquivo client1712413538.ovpn, faça donwload do mesmo e pule a próxima etapa da versão 6 direto para configuração do cliente OpenVPN.

Para versão 6 do RouterOS você ira precisar baixar os arquivos CA.crt CLIENTE.crt CLIENTE.key para criar o arquivo de configuração do OpneVPN.
Abra os arquivos CA.crt CLIENTE.crt CLIENTE.key em um editor de texto (recomendo o sublime-text, ou VS code) em seguida crie um novo arquivo e adicione as seguintes informações, fazendo a alteração do seu IP público bem como a porta, e pegando o que tem dentro de cada arquivo CA.crt CLIENTE.crt CLIENTE.key e adiconao aos respectivos CA.crt, CLIENTE.crt e CLIENTE.key

Vai ficar um arquivo parecido com esse:

Cliente OpenVPN

Acessando https://openvpn.net/client/ voce encontra cliente para Windows, MacOS, Linux, Android, iOS e ChromeOS.

Com o cliente instalado basta você importar o arquivo .ovpn e infomar seu usuário e senha, ao conectar pela primeira vez irá solicitar a chave do certificado.

No linux você pode configurar também automaticamente nas configurações de rede sem a necessidade de instalar nenhum programa.

Gostou? Quer ajudar manter o blog? 🙂

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

1 Resultado

  1. Iuri Silveira Santos disse:

    e é possivel fazer funcionar não só com ipv4, mas com ipv6 também

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *