OpenVPN клиент на CentOS 6

Ранее я уже описывал как поднять сервер VPN на микротике, в этой статье я опишу как настроить centos для подключения к микротику.

установка

Итак первым делом нам потребуется установить пакет

у меня он был в дистрибутиве…
yum install openvpn
и… во-первых: очень старый

во-вторых: писал в лог вот такую ошибку

Jan 16 13:47:17 localhost openvpn[5618]: OpenVPN 2.0.9 x86_64-redhat-linux-gnu [SSL] [LZO] [EPOLL] built on Nov 12 2010
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

либо

centos add epel

а затем снова набираем

ovpn centos yum install

настройка, конфиг файл

После установки нормальной версии openvpn мы перекидываем публичные сертификаты CA и клиента, и закрытый ключ клиента в /etc/openvpn/ и там же создаём файл auth.cfg вида

Процесс по созданию сертификатов описан здесь.
Следующим этапом создаём файл client.conf

следующего содержания:

после того как конфиг файл сохранён, можно запускать службу

Должен появится новый интерфейс в системе, проверяем командой ifconfig

service openvpn start

Если интерфейс не появился — смотрим ошибки в логах:

При получении ошибки:
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 или командой:

Проверяем — Всё должно работать. Как и прежде любые вопросы или пожелания можно оставлять ниже в комментариях.

  • http://vk.com/id138764665 Сергей Кузьмин

    День добрый подскажите пожалуйста с ОС windows подключаемся без проблем а вот с CentOS не могу.Выкладываю конфиг и лог.

    proto tcp-client
    remote ***********************
    dev tap

    nobind
    persist-key

    tls-client
    ca poligon_ca.crt
    cert poligon_client.crt
    key poligon_client.key
    ping 10
    verb 3
    ns-cert-type server
    cipher AES-256-CBC
    auth SHA1
    pull

    auth-user-pass auth.cfg

    route-delay 2
    route 192.168.1.0 255.255.255.0 10.5.0.1
    status openvpn-status.log
    log-append openvpn.log

    • Алексей

      К микротику же идёт подключение? IP адресов в пуле хватает?

      • http://vk.com/id138764665 Сергей Кузьмин

        Да конечно хватает я же с OS windows подключаюсь

        • http://vk.com/id3942838 Алексей Варич

          у меня конфиг 1 в 1 и всё работает, значит проблема не на линуксе.
          проверьте пул айпи адрсесов на миркотие, логин пароль на мироктике, шифрование (aes-256 и sha1).
          ну и собственно в логе микротика должна быть ошибка, что он пишет?

          • http://vk.com/id138764665 Сергей Кузьмин

            Вот как то так

          • http://vk.com/id3942838 Алексей Варич

            http://prntscr.com/79yxvn
            вот так сделайте в system-logging и потом скиньте лог из микротика
            лог подобный вашему у меня воспроизводится только если пара-логин пароль неверная.

          • http://vk.com/id138764665 Сергей Кузьмин

            Спасибо дело было в нем.не знаю почему но файл auth.cfg при копировании с OC Windows на CentOS в логине появились непонятные символы.Убрал все работает вообще огонь спасибо вам большое!

          • http://vk.com/id138764665 Сергей Кузьмин

            Есть идеи?

      • http://vk.com/id138764665 Сергей Кузьмин

        Конфиг вроде правильный в логах то же ошибок не вижу

  • http://vk.com/id138764665 Сергей Кузьмин

    Thu May 21 13:35:06 2015 OpenVPN 2.3.6 i686-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Dec 2 2014
    Thu May 21 13:35:06 2015 library versions: OpenSSL 1.0.1e-fips 11 Feb 2013, LZO 2.03
    Thu May 21 13:35:06 2015 WARNING: file ‘auth.cfg’ is group or others accessible
    Thu May 21 13:35:06 2015 WARNING: —ping should normally be used with —ping-restart or —ping-exit
    Thu May 21 13:35:06 2015 WARNING: file ‘poligon_client.key’ is group or others accessible
    Thu May 21 13:35:06 2015 Socket Buffers: R=[87380->131072] S=[16384->131072]
    Thu May 21 13:35:06 2015 Attempting to establish TCP connection with [AF_INET]*****************:1194 [nonblock]
    Thu May 21 13:35:07 2015 TCP connection established with [AF_INET]******************:1194
    Thu May 21 13:35:07 2015 TCPv4_CLIENT link local: [undef]
    Thu May 21 13:35:07 2015 TCPv4_CLIENT link remote: [AF_INET]***************:1194
    Thu May 21 13:35:07 2015 TLS: Initial packet from [AF_INET]**************:1194, sid=cba633f3 75042291
    Thu May 21 13:35:07 2015 WARNING: this configuration may cache passwords in memory — use the auth-nocache option to prevent this
    Thu May 21 13:35:07 2015 VERIFY OK: depth=1, C=ru, ST=to, L=Tomsk, O=Bitrum, OU=inzh, CN=server, name=1, emailAddress=revenger77@list.ru
    Thu May 21 13:35:07 2015 VERIFY OK: nsCertType=SERVER
    Thu May 21 13:35:07 2015 VERIFY OK: depth=0, C=ru, ST=to, L=Tomsk, O=Bitrum, OU=inzg, CN=troshin_server, name=tva, emailAddress=revenger77@list.ru
    Thu May 21 13:35:07 2015 Connection reset, restarting [0]
    Thu May 21 13:35:07 2015 SIGUSR1[soft,connection-reset] received, process restarting
    Thu May 21 13:35:07 2015 Restart pause, 5 second(s)

Комментарии для сайта Cackle