• XSS.stack #1 – первый литературный журнал от юзеров форума

Прерывается Tor соединение поверх OpenVPN

chillco

RAID-массив
Пользователь
Регистрация
13.02.2021
Сообщения
56
Реакции
12
Здравствуйте. Есть свой OpenVPN сервер работающий по протоколу UDP. Проблема в том что Tor, работающий поверх OpenVPN, спустя недолгое время прерывает соединение. Восстановить его можно только перезапустив тор сервис. Временно изменив протокол VPN на TCP прерывания пропали. Знаю, что UDP сам по себе ненадёжный протокол, но разве открытое TCP соединение внутри VPN не должно само гарантировать доставку сообщений? Кроме того, прослушав трафик обычного http запроса и того же http запроса, но через впн, получается одинаковое количество пакетов. Предполагаю что внутри зашифрованных UDP пакетов те же TCP пакеты которые должны гарантировать доставку, но тор почему то работает плохо.
Проверил также Whonix, тоже проблемы с соединением, работает в лучшем случае пару секунд, потом любые запросы остаются без ответа.
С впн по tcp все так же хорошо.
 
Последнее редактирование:
Здравствуйте. Есть свой OpenVPN сервер работающий по протоколу UDP. Проблема в том что Tor, работающий поверх OpenVPN, спустя недолгое время прерывает соединение. Восстановить его можно только перезапустив тор сервис. Временно изменив протокол VPN на TCP прерывания пропали. Знаю, что UDP сам по себе ненадёжный протокол, но разве открытое TCP соединение внутри VPN не должно само гарантировать доставку сообщений? Кроме того, прослушав трафик обычного http запроса и того же http запроса, но через впн, получается одинаковое количество пакетов. Предполагаю что внутри зашифрованных UDP пакетов те же TCP пакеты которые должны гарантировать доставку, но тор почему то работает плохо.
Проверил также Whonix, тоже проблемы с соединением, работает в лучшем случае пару секунд, потом любые запросы остаются без ответа.
С впн по tcp все так же хорошо.
Очевидно что по udp у тебя теряются пакеты что может являться причиной твоих траблов. Собственно с чего ты вообще взял что udp гарантирует доставку пакетов? "Предполагаю что внутри зашифрованных UDP пакетов те же TCP пакеты которые должны гарантировать доставку" - неверное утверждение. Слушая трафик ты видишь одинаковое количество отправленных пакетов но не полученных адресатом. В твоем случае тебе и нужно использовать tcp, вот он как раз таки и гарантирует доставку пакетов, а если они не дошли то будут отправлены заново так как tcp запрашивает инфу от хоста о получении пакетов. Я без хейта но если ты не шаришь в мат части не стоит поднимать свои впнки, лучше воспользуйся готовыми проверенными решениями, иначе можно наступить в говно =)
 
Очевидно что по udp у тебя теряются пакеты что может являться причиной твоих траблов. Собственно с чего ты вообще взял что udp гарантирует доставку пакетов? "Предполагаю что внутри зашифрованных UDP пакетов те же TCP пакеты которые должны гарантировать доставку" - неверное утверждение. Слушая трафик ты видишь одинаковое количество отправленных пакетов но не полученных адресатом. В твоем случае тебе и нужно использовать tcp, вот он как раз таки и гарантирует доставку пакетов, а если они не дошли то будут отправлены заново так как tcp запрашивает инфу от хоста о получении пакетов. Я без хейта но если ты не шаришь в мат части не стоит поднимать свои впнки, лучше воспользуйся готовыми проверенными решениями, иначе можно наступить в говно =)
Прослушая трафик я увидел одинаковое общее количество пакетов при запросе, то есть не только отправленных, а и принятых. Их ровно 10. SYN, SYN ACK, ACK, PSH, ACK, PSH, ACK, FIN ACK, FIN ACK, ACK. При использовании ВПН их тоже 10, в том же порядке отправки и получения пакетов, но содержимое конечно я не вижу.
Нашел даже такой ответ: https://stackoverflow.com/questions/37369200/is-tcp-over-udp-vpn-reliable#37370669
"TCP over IP over UDP VPN is still a reliable protocol."
Хоть UDP пакет и теряется, но TCP на уровне приложения, не на уровне VPN, должен не получить подтверждения о получении отправленного пакета и отправить его снова. Конечно, я могу ошибаться, но неужели все впн которые рекомендуют использовать UDP как транспортный протокол делают все соеднинения в системе ненадежными? Сомневаюсь, ибо это сломало бы множество работающих приложений которые используют TCP и нуждаются в надёжной доставке пакетов.
 
Тут есть много "если". Одно из них это допустим потеря не целого пакета а фрагмента, что уже делает отправку и получение не одинаковым, что для некоторых сервисов может быть критичным. "Прослушая трафик я увидел одинаковое общее количество пакетов при запросе, то есть не только отправленных, а и принятых" - неа, принятые ты увидишь в тестах соединения своих двух хостов при прослушивании трафика с одного на передачу а с другого на прием и на оборот, тогда и сможешь делать выводы, при этом у тебя глаза вытекут при таких тестах. По поводу привередливости тора говорить не буду потому что за тор не знаю, но если при юдп у тебя разрыв а при тсп все норм то мне кажется тут все на лицо. Но факторов может быть много, начиная от конфига твоей поднятой впнки заканчивая непоследовательной передачей данных юдпи протокола. Хз короче, лучше юзай tcp пока все норм работает и не забивай голову лишним =)
 
Тут есть много "если". Одно из них это допустим потеря не целого пакета а фрагмента, что уже делает отправку и получение не одинаковым, что для некоторых сервисов может быть критичным. "Прослушая трафик я увидел одинаковое общее количество пакетов при запросе, то есть не только отправленных, а и принятых" - неа, принятые ты увидишь в тестах соединения своих двух хостов при прослушивании трафика с одного на передачу а с другого на прием и на оборот, тогда и сможешь делать выводы, при этом у тебя глаза вытекут при таких тестах. По поводу привередливости тора говорить не буду потому что за тор не знаю, но если при юдп у тебя разрыв а при тсп все норм то мне кажется тут все на лицо. Но факторов может быть много, начиная от конфига твоей поднятой впнки заканчивая непоследовательной передачей данных юдпи протокола. Хз короче, лучше юзай tcp пока все норм работает и не забивай голову лишним =)
UDP заметно увеличивает скорость. К примеру, HTTP запрос на опреденный ип с ВПН по UDP выполняется за 100 мс, то время как по TCP за 250. Мне скорость сейчас важна, поэтому использовать использовать придётся UDP. Тор, на крайний случай, буду использовать без впн, но конечно хотелось бы решить проблему.
 
Тор не поддерживает UDP протокол. Используй TCP. Скорость в ущерб надежности доставки используют больше для прямых трансляций и видеозвонков.
Тор не поддерживает UDP внутри своего соединения. Без разницы каким протоколом будут тунеллироваться пакеты самого тора. UDP только доставляет пакеты до VPN сервера и дальше отправляет тем же TCP.

Тор может работать над впн над UDP. Проверил это установив Surfshark VPN, который использует тот же OpenVPN по UDP. Работает отлично, без сбоев. Вытянул его OpenVPN конфиг, скопировал все параметры себе, и все равно не работает. Скопировал так же все push параметры с сервера. Тоже не помогло. Запускаю на одной машине, даже установил одни и те же DNS сервера для всех впн. Итог. Surfshark работает по TCP и по UDP. Мой OpenVPN работает по TCP, но сильно сбоит по UDP. Все правила iptables убрал, что бы точно знать что проблема не в них.
Думал, быть может, сам VDS блокирует тор соеднинение, но по TCP то работает.
Может у кого есть идеи в чем может быть проблема?
 
Может у кого есть идеи в чем может быть проблема?
Я думаю что на обратном пути когда тор должен отправить пакеты впну, у него это не получается сделать, сервер же не отличает тебя от тора и работает по UDP протоколу для обоих. Возможно есть способ настроить впн чтобы с тором по TCP а с твоим узлом по UDP работал, но я в этом вопросе не шарю, я бы по TCP врубил)
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх