Може ли конфигурация на WireGuard да се преобразува в OpenVPN?
Не можете просто да преименувате файл на WireGuard в профил на OpenVPN. Отсрещната страна трябва да говори протокола, затова решението е подходящ профил, а не конвертор.
Имате wg0.conf, а клиентът приема само .ovpn, затова някой предлага да преобразувате файла. Преименуването дава профил, който OpenVPN не може да разчете, а внимателният превод поле по поле дава такъв, който се разчита и след това се проваля при ръкостискането. Причината не е във формата на файла. WireGuard и OpenVPN са различни протоколи с различни ръкостискания, различни модели на удостоверяване и различни представи какво е peer. Преобразуването работи само в смисъл, че можете да вземете профил на OpenVPN от този, който управлява отсрещната страна.
Файлът, който имате, описва peer, а не профил за свързване
Конфигурацията на WireGuard е кратка, защото такъв е протоколът: интерфейс с частен ключ и адреси, после един или повече peer с публичен ключ, endpoint и списък AllowedIPs. Няма слой за договаряне, който да се настройва, и няма набор от шифри, който да се избира.
Профилът на OpenVPN е клиент за контролен канал, базиран на TLS, затова носи препратки към сертификати или идентификационни данни и директиви, описващи как да се удостоверява.
Защо преведеният файл пак се проваля при ръкостискането
WireGuard започва с ръкостискане на базата на Noise, ключово със статичните ключове на peer, и остава безмълвен, докато публичният ключ на peer не е известен. OpenVPN отваря TLS сесия, проверява сертификат на сървър или статичен ключ и след това удостоверява потребителя със сертификати, име и парола или и двете. Нищо във файла на WireGuard не описва това. Преведеният файл би носил правилния endpoint и всичко останало погрешно.
Повторното използване на адреса и порта също не помага, защото отсрещната страна очаква различен пакет.
Какво да попитате доставчика
Ако доставчикът е дал файла на WireGuard, попитайте дали същият акаунт има достъп до OpenVPN, и поискайте този профил. Мнозина имат, и той пристига със собствени идентификационни данни, а не като променено копие на първия.
Ако отговорът е не, ограничението е в абонамента, а не във файла, и никой конвертор не го променя.
Ако рутерът или клиентът говори само OpenVPN
Когато устройството, което трябва да се свърже, поддържа само OpenVPN, проверете документираната поддръжка на протоколи от отсрещната страна, преди да търсите друго разширение. Рутер, който терминира OpenVPN, не може да бъде убеден да приеме WireGuard чрез импортиране на файл. Работещите варианти са endpoint на OpenVPN от страна на сървъра или друго устройство, което говори WireGuard.
Избирайте според това кой управлява отсрещната страна, а не според това какъв файл имате.
Ако вие управлявате сървъра, добавете протокола
Поддръжката на втори протокол означава втора услуга. На Linux сървър това е инстанция на OpenVPN със свой CA, сървърен сертификат, клиентски сертификати и директиви server и push, заедно с правило на защитната стена за порта. Съществуващият запис на peer в WireGuard не описва нито един от тези обекти. Планирайте пула от адреси и изтласкваните маршрути отделно от AllowedIPs на WireGuard, защото те не са един и същ механизъм с две имена.
След това проверете от клиента: профилът се зарежда, TLS сесията завършва, изтласкваният маршрут се появява и трафикът достига до хост, достъпен само през тунела.
Къде идеята за конвертор е безопасна
Ръчният превод на стойности в бележки е наред и често полезен, защото endpoint, адресите и публичният ключ на peer са просто факти за внедряването. Качването на частен ключ в сайт, който обещава преобразуване, не е наред, тъй като този ключ е идентификационните данни, а услугата няма протокол, в който да го преобразува. Ако ви трябва същият достъп от клиент на OpenVPN, поискайте вместо това идентификационни данни за OpenVPN.
Дръжте двете конфигурации една до друга и ги третирайте като отделни пътища за достъп, защото такива са.