Vpn Mikrotik – Linux (openvpn)

No Firewall

1 – No Firewall foi criado um novo diretório /etc/openvpnmkt para armazenar os arquivos de configurações e certificados onde /etc/openvpnmkt/servidor.conf é o arquivo de configuração do servidor VPN:

/usr/sbin/openvpn –writepid /var/run/openvpnmkt.servidor.pid –daemon ovpnmkt-servidor –cd /etc/openvpnmkt –config /etc/openvpnmkt/servidor.conf

OBS. Esta instância sobe automaticamente no arquivo /etc/rc.local, caso a máquina reinicie.

2 – Detalheos do arquivo de configuração /etc/openvpnmkt/servidor.conf

Para não conflitar com a porta 1194/UDP da instância OpenVPN principal, foi usado uma outra porta, a 1193/TCP:

port 1193
proto tcp

Identifica a interface de conexão OpenVPN para Mikrotik:

dev tunmkt

Certificados do servidor (/etc/openvpnmkt/keys)

ca keys/ca.crt
cert keys/servidor.crt
key keys/servidor.key
dh keys/dh1024.pem

Rede do túnel VPN

server 10.10.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
cipher none
auth SHA1
user nobody
group nobody
persist-key
persist-tun

Cria a rota tanto no servidor quanto no cliente RouterOS

push “route 192.168.8.0 255.255.252.0”
client-config-dir ccd
route 192.168.42.0 255.255.255.0

status /var/log/openvpnmkt.log
verb 3

Certificado do cliente Mikrotik

3 – Ainda no servidor acesse o diretório /etc/openvpnmkt/easy-rsa e siga os passos abaixo:

Suba as variáveis globais que armazenam as informações do certificado:

source vars

Limpe os certificados existentes:

./clean-all

Copie a chave do Autoridade Certificadora (CA):

cp -a /etc/openvpnmkt/keys/ca.* /etc/openvpnmkt/easy-rsa/keys/

Crie o certificado para o cliente ( Ex. maceio):

./pkitool maceio
Generating a 1024 bit RSA private key
…..++++++
…………………..++++++

writing new private key to ‘maceio.key’

Using configuration from /etc/openvpnmkt/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’BR’
stateOrProvinceName :PRINTABLE:’MG’
localityName :PRINTABLE:’BeloHorizonte’
organizationName :PRINTABLE:’Globalcob’
commonName :PRINTABLE:’maceio’
emailAddress :IA5STRING:’suporte.infra@globalcob.com.br’
Certificate is to be certified until Jun 29 17:51:15 2023 GMT (3650 days)

Confirme visualmente a criação do certificado:

ls keys/
01.pem ca.crt ca.key index.txt index.txt.attr index.txt.old maceio.crt maceio.csr maceio.key serial serial.old

Converta a chave privada do cliente criada para o formato .pem

OBS. O RouterOS apenas aceita este formato.

openssl rsa -in keys/maceio.key -out keys/maceio.pem

Faça o upload dos arquivos ca.crt, maceio.crt e maceio.pem via FTP ou winbox.exe:

OBS. Exemplo filial Maceio, use o usuário admin

ftp mc.mikrotik.com.br
Name (mc.globalcob.com.br:celio): admin
331 Password required for admin
Password: *********
ftp> mput ca.crt maceio.crt maceio.pem
mput ca.crt? y
227 Entering Passive Mode (177,207,252,55,199,206).
150 Opening ASCII mode data connection for ‘/ca.crt’
226 ASCII transfer complete
1316 bytes sent in 5.4e-05 secs (24370.37 Kbytes/sec)
mput maceio.crt? y
227 Entering Passive Mode (177,207,252,55,210,90).
150 Opening ASCII mode data connection for ‘/maceio.crt’
226 ASCII transfer complete
3937 bytes sent in 0.000125 secs (31496.00 Kbytes/sec)
mput maceio.pem? y
227 Entering Passive Mode (177,207,252,55,172,235).
150 Opening ASCII mode data connection for ‘/maceio.pem’
226 ASCII transfer complete
902 bytes sent in 6.2e-05 secs (14548.39 Kbytes/sec)

ftp> ls
227 Entering Passive Mode (177,207,252,55,195,195).
150 Opening data connection
-rw-rw—- 1 root root 887 Jan 2 23:02 maceio.pem
-rw-rw—- 1 root root 3865 Jan 2 23:02 maceio.crt
-rw-rw—- 1 root root 1294 Jan 2 23:02 ca.crt

No Mikrotik RouterOS

4 – Importe os certificados enviados:

@MikroTik] > certificate import file=maceio.crt
@MikroTik] > certificate import file=maceio.pem
@MikroTik] > certificate import file=ca.crt

Via Winbox.exe altere o nome do certificado recém importado para melhor identificação. Ex. certMaceio

Verifique a importação:

@MikroTik] > certificate print
Flags: K – decrypted-private-key, Q – private-key, R – rsa, D – dsa, C – crl
0 KR name=”certMaceio” subject=C=BR,ST=MG,L=BeloHorizonte,O=Globalcob,CN=maceio,emailAddress=suporte.infra@globalcob.com.br
issuer=C=BR,ST=MG,L=BeloHorizonte,O=Globalcob,CN=Globalcob CA,emailAddress=suporte.infra@globalcob.com.br serial-number=”02″
email=suporte.infra@globalcob.com.br invalid-before=jun/28/2013 19:30:46 invalid-after=jun/26/2023 19:30:46 trusted=yes

4 – Crie a interface do túnel OpenVPN no Mikrotik. Ex. tun0

interface ovpn-client add name=”tun0″ max-mtu=1500 connect-to=189.23.11.166 port=1193 mode=ip user=”maceio” password=”” profile=default certificate=certMaceio auth=sha1 cipher=none add-default-route=no

Cheque a regra criada:

@MikroTik] > interface print
Flags: D – dynamic, X – disabled, R – running, S – slave

NAME TYPE MTU L2MTU MAX-L2MTU MAC-ADDRESS

0 R GVT ether 1500 1600 4076 D4:CA:6D:71:E9:17
1 R RedeInterna ether 1500 1598 2028 D4:CA:6D:71:E9:18
2 R Velox ether 1500 1598 2028 D4:CA:6D:71:E9:19
3 ether4 ether 1500 1598 2028 D4:CA:6D:71:E9:1A
4 ether5 ether 1500 1598 2028 D4:CA:6D:71:E9:1B
5 R tun0 ovpn-out 1500 FE:13:40:38:C5:44

Cheque se pegou IP

@MikroTik] > ip addr print
Flags: X – disabled, I – invalid, D – dynamic

ADDRESS NETWORK INTERFACE

0 192.168.42.253/24 192.168.42.0 RedeInterna
1 192.168.2.10/24 192.168.2.0 GVT
2 192.168.1.10/24 192.168.1.0 Velox
3 D 10.10.10.6/32 10.10.10.1 tun0

Trace a rota para um destino da rede Matriz:

@MikroTik] > tool tracero 192.168.10.199

ADDRESS RT1 RT2 RT3 STATUS

1 10.10.10.1 94ms 92ms 91ms
2 192.168.10.199 93ms 91ms 92ms

Tks to: Fillipe Ferraz

Deixe seu comentário ;)

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s