Настройка VPN между mikrotik и CentOS 7 на базе openvpn

На CentOS 7:

# yum install epel-release
# yum install openvpn easy-rsa
# mkdir -p /etc/openvpn/easy-rsa/keys
# cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
# vi /etc/openvpn/easy-rsa/varsexport KEY_SIZE=4096
# cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf
# vi /etc/openvpn/easy-rsa/openssl.cnf
# cd /etc/openvpn/easy-rsa

# source ./vars

# ./clean-all
# ./build-ca
# ./build-key-server server
# ./build-dh
# cd /etc/openvpn/easy-rsa/keys
# cp dh4096.pem ca.crt server.crt server.key /etc/openvpn
# cd /etc/openvpn/easy-rsa
# ./build-key client
# cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
# vi /etc/openvpn/server.conf
# cat /etc/openvpn/server.conf

/etc/openvpn/server.conf

port 1194

# Mikrotik пока еще не поддерживает UDPproto tcpdev tunca ca.crtcert server.crtkey server.key
# This file should be kept secretdh dh4096.pemserver 10.0.0.0 255.255.255.0client-config-dir clientsroute 192.168.0.0 255.255.255.0keepalive 10 120tun-mtu 1500mssfix 1450cipher AES-256-CBC

# AESauth sha1

# Компрессия микротиком пока не поддерживается;comp-lzouser nobodygroup nobody#Сохраняем туннель при обрыве на время keepalivepersist-key#Не пересчитываем ключи при обрыве связиpersist-tunstatus /var/log/openvpn-status.loglog /var/log/openvpn.logverb 3mute 10port 1194
# Mikrotik пока еще не поддерживает UDPproto tcpdev tunca ca.crtcert server.crtkey server.key
# This file should be kept secretdh dh4096.pemserver 10.0.0.0 255.255.255.0client-config-dir clientsroute 192.168.0.0 255.255.255.0keepalive 10 120tun-mtu 1500mssfix 1450cipher AES-256-CBC
# AESauth sha1

# Компрессия микротиком пока не поддерживается;comp-lzouser nobodygroup nobody#Сохраняем туннель при обрыве на время keepalivepersist-key#Не пересчитываем ключи при обрыве связиpersist-tunstatus /var/log/openvpn-status.loglog /var/log/openvpn.logverb 3mute 10

# mkdir -p /etc/openvpn/clients
# vi /etc/openvpn/clients/client
# cat /etc/openvpn/clients/client /etc/openvpn/clients/client
# LAN behind mikrotikiroute 192.168.0.0 255.255.255.0
# vpn ip for mikrotik ifconfig-push 10.0.0.2 10.0.0.1
# LAN behind mikrotikiroute 192.168.0.0 255.255.255.0
# vpn ip for mikrotik ifconfig-push 10.0.0.2 10.0.0.1
# systemctl -f enable openvpn@server.service
# systemctl start openvpn@server.service
# vi /etc/firewalld/services/openvpn.xml
# cat /etc/firewalld/services/openvpn.xml /etc/firewalld/services/openvpn.xml OpenVPN OpenVPN custom 1 OpenVPN OpenVPN custom 1
# vi /etc/firewalld/zones/public.xml
# cat /etc/firewalld/zones/public.xml /etc/firewalld/zones/public.xml

Public For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

PublicFor use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

# systemctl reload firewalld
# sysctl -w net.ipv4.ip_forward=1
# echo «net.ipv4.ip_forward=1» >> /etc/sysctl.conf

На микротике:

Копируем файлы ca.crt client.crt и client.key по защищенному каналу на файловую систему микротика.
Импортируем сертификаты и ключ: System->Certifates

Далее: Interfaces-> + OVPN Client

Заполняем поля

Вкладка Dial Out:
Connect To: [CentOS WAN IP]
Port: [server port]
User: openvpn
Certificate: client
Cipher: aes 256

Если все правильно, то туннель поднимается. Дальнейшие действия зависит от назначения туннеля.

Друзья помогите этому контенту стать доступнее в социальных сетях.

Не проходи мимо жмакни по кнопке возможно кому то еще он будет полезен!