OpenVPN клиент на Debian 9

Сегодня разберём как подключить Debian к микротику посредствам OpenVPN. Ранее мы уже разбирали как поднять VPN сервер на микротике, поэтому будем разбирать как подключится к нему с Linux.

Установка

Пожалуй на дебиане настройка выполняется самым простым образом. Первоначально нам надо установить пакет. Никаких сложностей, воспользуемся обычным менеджером пакетов, никаких новых репозиториев нам не нужно.

apt install openvpn

после установки переходим в каталог /etc/openvpn/client и создаём файлик 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

в этой же папке создаём файл auth.cfg куда записываем логин-пароль

user
123

Сюда же скидываем сертификаты: клиента, CA и секретный ключ клиента. После того как все файлы готовы можно запускать службу. В 9 дебиане это делается через systemd

systemctl start openvpn-client@client

Тут добавлю немножко деталей. openvpn-client — значит запустить конфиг из папки /etc/openvpn/client, а @client значит запустить конфиг с названием client (файл в папке с именем client.conf). Соответственно таким же образом мы можем все файлы накидать в папку server и запуститься командой systemctl start openvpn-server@client. В какую именно папку закидывать конфиг и как запускаться зависит только от Вас.

Failed to enable unit: Unit file openvpn.service does not exist.

Ещё есть момент, что на разных системах работает эта команда по разному, например в ubuntu надо сложить файлы в /etc/openvpn, а запускать сервис командой: systemctl start openvpn@client.

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

Если интерфейса нет, смотрим лог файлы

tail -n 100 /var/log/syslog

OpenSSL: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak

Эта ошибка означает что у вас сгенерирован сертификат с использованием md5, что сейчас считается небезопасным, обновите скрипт который генерировал сертификат и создайте заново всю цепочку ca-server-client. Проверял начиная с 2.4.6 используется sha256, не знаю как более ранние, но более поздние точно нормально генерируют.

Если же всё в порядке добавляем службу в автозапуск

systemctl enable openvpn-client@client

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

Алексей:
Related Post

This website uses cookies.