Можно ли использовать VPN только для определенных запросов с сервера на сервер?

Есть сервер с сайтом. И есть задача, подключаться к апи стороннего ресурса, доступ к которому предоставлен только по VPN. Каким образом можно предоставить доступ пользователям сайта к этому стороннему ресурсу? Типичная ли это ситуация или сам подход плох изначально?
  • Вопрос задан
  • 1708 просмотров
Решения вопроса 2
Если к API нужно ходить с фронтенда, то можно на вашем nginx запроксировать запросы на сторонний ресурс. В ряде случаев понадобится настройка чего-нибудь (nginx/php) на удаленной стороне (если, например, нужно передавать хидеры специализированные, например http-x-real-ip). Ситуация вполне штатная, обычная. Если нужно ходить с бэкенда, то так и напрямую ходите (curl или что там у вас). Ситуация тоже обычная.

Но я так понимаю, что главный вопрос в том, не плохо ли тут использовать vpn? Здесь нужно знать, какой у вас vpn. Самый печальный vpn - это pptp, т.к. небезопасен и будет дольше реконнектиться в случае потери соединения (да и в сравнении, например, с openvpn он даже в конфигурировании неудобен). Уверен, что у вас не pptp, это просто к слову (никто в здравом уме не будет поднимать pptp между сервер-сервер). Грубо говоря, все остальное (openvpn, ipsec и т.п.) можно использовать: проверено временем, стабильно. Касательно оверхеда: в 99% некритично. Например, если это openvpn l3 по udp, то оверхед на каждый пакет по размеру будет ~70 байт (где-то 20 ip, 8 udp, порядка 40-50 на tls)... примерно. И хотя если посчитать этот размер относительно маленьких пакетов, может выйти больше самого пакета (смотря как считать еще), это ни о чем не говорит: при достаточном канале (а у вас, раз речь идет про сервера, должно быть все хорошо) это некритично. В плане времени сколько-то уйдет на шифрование, но опять же для api это некритично (и надо учитывать, что соединение-то постоянное, то есть временной оверхед, например, на tcp/http и тем более https выше, а оно повсеместно, никто не парится). Для собственного успокоения можете замерить ширину канала (nc), потыкать в api (hping).

Кстати, если везде линуха, не нужна защита, нет по пути страшных фаерволов, видимость на уровне l3 есть, то лучший вариант, как по мне, - это линуксовый ipip, либо gre: минимальный оверхед, крайне легко настраивается (описано в lartc), не нужно дополнительное ПО. Не знаю, насколько это популярно, но я бы использовал такой "vpn", если возможно/нужно.

Еще важно убедиться, что vpn поднимается при ребуте сервера, что работает реконнект в случае чего. Собственно, это относится ко всем сервисам вообще.

В качестве вывода: никаких проблем, используйте.
Ответ написан
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Ситуация типичная. В роутинге указываете что все запросы к нужным приватным IP/доменам идут через VPN.
На сайте соответственно делаете обертку, которая проксирует запросы пользователей.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы