Чи можна перетворити конфігурацію WireGuard на OpenVPN?
Не можна просто перейменувати файл WireGuard у профіль OpenVPN. Віддалена сторона має говорити цим протоколом, тому рішення — відповідний профіль, а не конвертер.
У вас є wg0.conf і клієнт, який приймає лише .ovpn, тому хтось пропонує перетворити файл. Перейменування дає профіль, який OpenVPN не може розібрати, а ретельний переклад поле за полем дає такий, що розбирається і потім зривається на рукостисканні. Причина не у форматі файлу. WireGuard і OpenVPN — різні протоколи з різними рукостисканнями, різними моделями автентифікації та різним уявленням про те, що таке пір. Перетворення працює лише в тому сенсі, що ви можете попросити профіль OpenVPN у того, хто обслуговує віддалену сторону.
Файл, який у вас є, описує піра, а не профіль підключення
Конфігурація WireGuard коротка, бо такий протокол: інтерфейс із закритим ключем і адресами, потім один або кілька пірів із відкритим ключем, кінцевою точкою та списком AllowedIPs. Тут немає шару узгодження, який треба налаштовувати, і немає набору шифрів, який треба вибирати.
Профіль OpenVPN — це клієнт каналу керування на основі TLS, тому в ньому є посилання на сертифікати або облікові дані та директиви, що описують спосіб автентифікації.
Чому перекладений файл усе одно зривається на рукостисканні
WireGuard починає з рукостискання на основі Noise, прив'язаного до статичних ключів пірів, і мовчить, поки відкритий ключ піра ще не відомий. OpenVPN відкриває сеанс TLS, перевіряє сертифікат сервера або статичний ключ, а потім автентифікує користувача сертифікатами, іменем і паролем або тим і тим. Ніщо у файлі WireGuard цього не описує. Перекладений файл мав би правильну кінцеву точку і все інше неправильно.
Повторне використання адреси й порту теж не допоможе, бо віддалена сторона чекає на інший пакет.
Що запитати в провайдера
Якщо файл WireGuard надав провайдер, запитайте, чи має той самий обліковий запис доступ до OpenVPN, і попросіть цей профіль. Багато хто має, і він надходить з власними обліковими даними, а не як змінена копія першого.
Якщо відповідь негативна, обмеження в підписці, а не у файлі, і жоден конвертер цього не змінить.
Якщо маршрутизатор або клієнт уміє лише OpenVPN
Коли пристрій, якому потрібно підключитися, підтримує лише OpenVPN, перевірте задокументовану підтримку протоколів віддаленої сторони, перш ніж шукати інше розширення. Маршрутизатор, який завершує OpenVPN, не вдасться вмовити приймати WireGuard імпортом файлу. Робочі варіанти — кінцева точка OpenVPN на боці сервера або інший пристрій, що говорить WireGuard.
Вибирайте за тим, хто адмініструє віддалену сторону, а не за тим, який файл у вас опинився.
Якщо сервер ведете ви, додайте протокол
Підтримка другого протоколу означає запуск другої служби. На сервері Linux це екземпляр OpenVPN із власним CA, серверним сертифікатом, клієнтськими сертифікатами та директивами server і push, а також правилом брандмауера для його порту. Наявний запис піра WireGuard не описує жодного з цих об'єктів. Плануйте пул адрес і проштовхувані маршрути окремо від AllowedIPs WireGuard, бо це не один і той самий механізм під двома назвами.
Потім перевірте з клієнта: профіль завантажується, сеанс TLS завершується, проштовхуваний маршрут з'являється, і трафік доходить до вузла, доступного лише через тунель.
Де ідея конвертера безпечна
Переписувати значення вручну в нотатки — нормально і часто корисно, бо кінцева точка, адреси та відкритий ключ піра — просто факти про розгортання. Завантажувати закритий ключ на сайт, що обіцяє перетворення, — ненормально, бо цей ключ і є облікові дані, а в сервісу немає протоколу, у який його перетворювати. Якщо вам потрібен той самий доступ із клієнта OpenVPN, попросіть облікові дані OpenVPN.
Тримайте дві конфігурації поруч і ставтеся до них як до окремих шляхів доступу, бо вони такими і є.