Configurando uma VPN de verdade no Mikrotik

Fazer VPN com PPTP e nada é quase a mesma coisa. Vamos configurar uma VPN de responsa, com o OpenVPN.

O método de autenticação escolhido foi através de certificado auto-assinado, além de usuário e senha. Façamos como Jack, em partes.

É possível gerar o certificado diretamente no RouterOS, mas como uso Linux, vou fazê-lo usando o pacote easy-rsa.

Primeiro vamos instalar o easy-rsa para gerar o certificado. Se estiver usando Debian ou Ubuntu execute o seguinte comando:

sudo apt-get install easy-rsa

Eu, como uso o Sabayon, rodo o comando abaixo:

sudo equo i easy-rsa

Depois copiamos o diretório para o nosso home:

cp -r /usr/share/easy-rsa ~/.

E, entrando no diretório copiado, editamos o arquivo vars. Eu uso o vim, mas você pode escolher o seu editor preferido.

cd easy-rsa
vim vars

Deixe ele parecido com o exemplo abaixo:

export KEY_COUNTRY="BR"
export KEY_PROVINCE="BA"
export KEY_CITY="Ilheus"
export KEY_ORG="MinhaEmpresa"
export KEY_EMAIL="exemplo@meudominio.com.br"
export KEY_OU="MEUSETOR"

Salve o arquivo e rode o comando abaixo:

source vars
./clean-all
./build-ca

Tecle ENTER até voltar ao prompt

./build-key-server NOMEDOSERVIDOR

Tecle ENTER até aparecer a mensagem Sign the certificate? [y/n]
então tecle y e ENTER
e quando aparecer a mensagem 1 out of 1 certificate requests certified, commit? [y/n]
tecle y e ENTER novamente.

Entre no diretório keys e copie os arquivos para o RouterOS. Habilite o serviço de SSH.

cd keys
scp *crt NOMEDOSERVIDOR.key usuario@xxx.xxx.xxx.xxx:

Onde xxx.xxx.xxx.xxx é o endereço IP do RouterOS

Depois entre no RouterOS via SSH

ssh usuario@xxx.xxx.xxx.xxx

E dê os seguintes comandos para importar os certificados e a chave:

/certificate import file-name=ca.crt
/certificate import file-name=NOMEDOSERVIDOR.crt
/certificate import file-name=NOMEDOSERVIDOR.key

Quando pedir senha digite apenas ENTER

Agora vamos configurar o servidor da VPN propriamente.
Primeiro vamos criar um pool de IPs para ser atribuído às conexões.

/ip pool add name=OpenVPN range=10.20.30.2-10.20.30.254

Crie o perfil para o serviço

/ppp profile add name="OpenVPN" local-address=10.20.30.1 remote-address=OpenVPN

E crie um usuário para usar na conexão. Nesse método não vamos usar certificado no lado do cliente, então teremos que usar login e senha.

/ppp secret add name=usuario password=senha profile=OpenVPN service=ovpn

E finalmente levantar o servidor da OpenVPN

/interface ovpn-server server set default-profile=OpenVPN certificate=NOMEDOSERVIDOR.crt netmask=24 mode=ip require-client-certificate=no enabled=yes

Pronto. O resto é a configuração do cliente, que é trivial. Lembre-se que o RouterOS só suporta conexões TCP e não esqueça de informar o certificado ca.crt no cliente.

7 respostas para “Configurando uma VPN de verdade no Mikrotik”

  1. Muito bom tutorial, mas preciso de ajuda no seguinte setup:
    – 1 OpenVPN server em Linux com IP válido.
    – Varios clientes openvpn no mikrotik.
    – Minha maquina windows como cliente tb para acesso aos mikrotiks.

    Preciso acessar varios mikrotiks para manutenção e configuração usando a minha maquina (winbox). Todos ligados ao servidor OpenVPN em Linux, inclusive a minha maquina, obvio.

    Não acertei até o momento.
    Obrigado

  2. Prezado Daniel,

    Sei que informou que a configuração do cliente é trivial, mas poderia informar a configuração do cliente no Windows, pois estou com dificuldades pra configurar. Obrigado

Deixe uma resposta

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