Понадобилось мне тут выполнить банальную и простейшую задачу — настроить подключение к VPN серверу, чтобы на работе по удаленке поработать. Казалось бы, что тут может быть сложного? В той же Ubuntu настраивается все с двух тычков мышкой и работает как часы. Но…

В общем, дело было так. Сделал я как всегда — скачал с облака файлики сертификатов openVPN, закинул это все в директорию где-то в документах в хомяке и начал настраивать. Ну как начал — пошел в настройки VPN в настройках GNOME, выбрал «загрузить из файла», указал файл. Все сработало, файлы встали, настройки подцепились, все ровно и все как всегда. Нажимаю «Подключиться» — ошибка подключения.

В попытках настроить я провел где-то минуты 4, подумал было, что не цепляются настройки или еще что-то наподобие. Потом пошел читать логи: permission denied, сказала мне консоль своим прекрасным зеленым шрифтом на черном фоне. Причем на файле сертификата именно.

Так, ну нет прав на сертификат, ну бывает. Смотрим права — владелец я, права правильные, доступ есть. Пробуем — ошибка доступа.

Так прошло еще где-то минут 15 ярого гугления и танцев с бубном вокруг сертификата под накаляющийся звон нервов — надо было срочно подключиться к рабочему компу, а доступа нет.

В итоге на одном из форумов я увидел заветное слово — SELinux. Для тех, кто не в курсе, это такая система безопасности для линукса, которая в Fedora работает по-умолчанию.

Так вот именно она и не дает установить подключение к VPN сети, если считает, что сертификат лежит где-то не так и может быть скомпрометирован. А у меня он лежал просто в документах…

Решением проблемы стало вот что:

  • Создаем в /home/user скрытую директорию ~/.cert
  • Складываем туда сертификаты.
  • Настраиваем сеть VPN, указав ей сертификаты из созданной директории.

Все, VPN подключение налажено, сеть работает, все хорошо.