phd_ru: (Default)
phd_ru ([personal profile] phd_ru) wrote2021-10-23 07:18 pm

Закрытый VPN

Когда я приехал в гостиницу и подключился к местному WiFi, я заметил, что OpenVPN подключается далеко не сразу, примерно один раз на 10 попыток. Небольшая отладка показала, что пакеты UDP не всегда проходят. Я переключился на TCP (зайдя на сервера по ssh), но стало ещё хуже: на обе стороны приходит reset и OpenVPN вообще перестал соединяться.

Я отключил OpenVPN и на обоих сторонах запустил socat на порту 1194. Никаких проблем — клиент шлёт текст, сервер принимает, порты открыты. Запускаю OpenVPN — на обе стороны приходит reset.

Подозреваю DPI. Значит, они уже добрались до OpenVPN.

Для эксперимента решил пустить OpenVPN поверх SOCKS5. Работает без проблем. Т.е. OpenVPN+SSH (и наверняка OpenVPN+HTTPS) пока работает.

Глупо пускать OpenVPN поверх SOCKS5, который бегает поверх ssh. Наверное проще будет наладить VPN напрямую посредством ssh -w. У меня когда-то были недоотлаженные скрипты для этого. Вот я сел после пляжа и за 2 дня их доотладил. Теперь у меня есть второй вариант VPN.

Что делать с телефоном, пока непонятно, там у меня только OpenVPN.
vitus_wagner: My photo 2005 (Default)

[personal profile] vitus_wagner 2021-10-24 08:15 am (UTC)(link)

Оpenvpn прекрасно умеет делить 443 порт с вебсервером.

beldmit: (Default)

[personal profile] beldmit 2021-10-24 09:14 am (UTC)(link)
Расскажи, кстати
vitus_wagner: My photo 2005 (Default)

[personal profile] vitus_wagner 2021-10-24 09:41 am (UTC)(link)

читать в man openvpn на тему --port-share Там все очень просто.

  1. Делаешь чтобы твой веб-сервер слушал например на 127.0.0.4:443, а на внешнем интерфейсе на 443 слушала openvpn.
  2. openvpn в конфиге пиешешь port-share 127.0.0.4 443.

Дальше если тебе на 443 порт внешнего интерфейся приходит не openvpn-клиент, а браузер, openvpn молча проксирует это соединение куда сказано.

beldmit: (Default)

[personal profile] beldmit 2021-10-24 12:05 pm (UTC)(link)
Спасибо, не знал
beldmit: (Default)

[personal profile] beldmit 2021-10-24 07:00 pm (UTC)(link)
Мой коллега ещё рекомендует посмотреть на опцию tls-crypt