На 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 # cat /etc/openvpn/server.conf# mkdir -p /etc/openvpn/clients # vi /etc/openvpn/clients/client # cat /etc/openvpn/clients/client/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# systemctl -f enable openvpn@server.service # systemctl start openvpn@server.service # vi /etc/firewalld/services/openvpn.xml # cat /etc/firewalld/services/openvpn.xml/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# vi /etc/firewalld/zones/public.xml # cat /etc/firewalld/zones/public.xml/etc/firewalld/services/openvpn.xml
<?xml version="1.0" encoding="utf-8"?> <service> <short>OpenVPN</short> <description>OpenVPN custom 1</description> <port protocol="tcp" port="1194"/> </service># systemctl reload firewalld # sysctl -w net.ipv4.ip_forward=1 # echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf/etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>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.</description> <service name="dhcpv6-client"/> <service name="ssh"/> <service name="openvpn"/> </zone>
На микротике:
Копируем файлы 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
Если все правильно, то туннель поднимается. Дальнейшие действия зависит от назначения туннеля.
бГТФ
ыудХ
щЗзк
пеХх
Т
щкшЛ