OpenVPN: DNS по зашифрованному каналу

296
Daniel F

Я тестирую настройку, которая выглядит следующим образом:

  • На машине A есть экземпляр Firefox, который настроен для подключения к машине B через SOCKS v5 на заданном порту.

  • На машине B установлен контейнер Alpine Linux Docker, на котором запущен SSH-сервер, прослушивающий порт в качестве сервера SOCKS v5. Firefox с машины A подключается к этому порту на машине B, и он успешно перенаправляется в контейнер Docker. Все запросы Firefox отправляются в Интернет как исходящие из этого контейнера Docker.

  • Этот контейнер Docker на компьютере B также может дополнительно запускать OpenVPN в качестве клиента, подключенного к коммерческому поставщику VPN. Если клиент OpenVPN работает, то все запросы Firefox больше не исходят из контейнера Docker, а направляются поставщику OpenVPN и отправляются с их VPN-сервера.

Проблема в том, что когда я включаю «Использовать прокси SOCKS v5 для DNS-запросов» в Firefox, то DNS-запросы выдаются с компьютера B. Если он не включен, они происходят с компьютера A.

Я хочу, чтобы эти DNS-запросы также транслировались через OpenVPN. Это возможно? Является ли эта проблема причиной утечки DNS OpenVPN?

0

1 ответ на вопрос

0
danblack

На компьютере B вам потребуется nameserverконфигурация /etc/resolv.conf для IP- адреса, который маршрутизируется через VPN на DNS-сервер в сети VPN-провайдеров.

Докер получит разрешение DNS с компьютера B /etc/resolv.conf

В то время как SNAT-маршрутизация UDP на компьютере B может передавать все DNS-запросы поставщику VPN, их обратный путь будет возвращаться через не-OpenVPN-маршрут.

ref: более подробный маршрутный ответ