Ранее я уже описывал как поднять сервер VPN на микротике, в этой статье я опишу как настроить centos для подключения к микротику.
установка
Итак первым делом нам потребуется установить пакет
yum install openvpn
у меня он был в дистрибутиве…
и… во-первых: очень старый
во-вторых: писал в лог вот такую ошибку
Jan 16 13:47:17 localhost openvpn[5618]: Sorry, ‘Auth’ password cannot be read from a file
Jan 16 13:47:17 localhost openvpn[5618]: Exiting
Ну и конечно отказывался стартовать.
В общем, мало того что старая версия, так ещё и собрана без поддержки логина-пароля, а на микротике без этого никак. Но проблема очень просто решается, надо добавить репозиторий EPEL
yum install epel-release
либо
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
а затем снова набираем
yum install openvpn
настройка, конфиг файл
После установки нормальной версии openvpn мы перекидываем публичные сертификаты CA и клиента, и закрытый ключ клиента в /etc/openvpn/ и там же создаём файл auth.cfg вида
user 123
Процесс по созданию сертификатов описан здесь.
Следующим этапом создаём файл client.conf
nano /etc/openvpn/client.conf
следующего содержания:
proto tcp-client # в этой строчке мы указываем адрес в интернете нашего микротика remote 123.123.123.123 dev tap nobind persist-key tls-client #указываем имена публичного CA сертификата ca ca.crt # публичного сертификата клиента cert client.crt # и его закрытый ключ key client.key #каждые 10 секунд проверять туннель, если нет ответа 120 секунд, переподключаться keepalive 10 120 verb 3 #проверка сертификата сервера #https://openvpn.net/index.php/open-source/documentation/howto.html#mitm remote-cert-tls server cipher AES-256-CBC auth SHA1 pull # эта строка задаёт файл с логином-паролем которые мы прописывали в PPP-Secrets на микротике auth-user-pass auth.cfg # в этой части мы задаём настройки сетей которые находятся за микротиком, # в моём случае 192.168.1.0 с маской 255.255.255.0 это сеть, # а 192.168.221.1 это адрес микротика который мы указывали в PPP профиле route-delay 2 route 192.168.1.0 255.255.255.0 192.168.221.1
после того как конфиг файл сохранён, можно запускать службу
service openvpn start
Должен появится новый интерфейс в системе, проверяем командой ifconfig
Если интерфейс не появился — смотрим ошибки в логах:
tail -n 100 /var/log/messages
VERIFY ERROR: depth=0, error=certificate signature failure:
OpenSSL: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
TLS_ERROR: BIO read tls_read_plaintext error
TLS Error: TLS object -> incoming plaintext read error
TLS Error: TLS handshake failed
необходимо включить поддержку md5, выполнив команду:
echo -e «LegacySigningMDs md2 md5\nMinimumDHBits 512\n» >> /etc/pki/tls/legacy-settings
Добавить сервис в автозапуск можно например с помощью Webmin или командой:
chkconfig --level 35 openvpn on
Проверяем — Всё должно работать. Как и прежде любые вопросы или пожелания можно оставлять ниже в комментариях.