TimVin

Рассмотрим пример настройки openvpn между mikrotik и CentOS 7.

На 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/vars

export 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 

/etc/openvpn/server.conf

port 1194
# Mikrotik пока еще не поддерживает  UDP
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
# This file should be kept secret
dh dh4096.pem
server 10.0.0.0 255.255.255.0
client-config-dir clients
route 192.168.0.0 255.255.255.0
keepalive 10 120
tun-mtu 1500
mssfix 1450
cipher AES-256-CBC # AES
auth sha1
# Компрессия микротиком пока не поддерживается
;comp-lzo
user nobody
group nobody
#Сохраняем туннель при обрыве на время keepalive
persist-key
#Не пересчитываем ключи при обрыве связи
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
mute 10

Настройка конфигурации клиента

# mkdir -p /etc/openvpn/clients
# vi /etc/openvpn/clients/client

/etc/openvpn/clients/client

# LAN behind mikrotik
iroute 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
Включим forward
# 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

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

Рубрики: LinuxMikroTik