Недавно я «купил» VPS, который хочу использовать в качестве прокси-сервера, чтобы иметь возможность использовать некоторые сайты и материалы, которые я не могу получить из Германии.
Так как я еще не поленился настроить Squid и OpenVPN (что в настоящее время считаю необходимым), я использую ssh-туннелирование.
Теперь, спустя пару недель, я спросил себя, не подходит ли ssh-туннелирование, или - и это мой вопрос - есть ли какие-то предостережения / недостатки / недостатки, которые я должен иметь в виду?
ssh
proxy
ssh-tunneling
Нильс Ридеманн
источник
источник
Ответы:
Проблема производительности возникает, когда вы туннелируете TCP через TCP, потому что у вас есть два уровня, выполняющих адаптивные исправления (медленный запуск, предотвращение перегрузки, быстрая повторная передача, см. RFC2001 ).
Не осознавая друг друга, они будут испытывать большие трудности, если вы потеряете внешнюю связь.
Эта страница подробно описывает это явление.
редактировать:
Вместо того, чтобы придерживаться проблемы TCP через TCP, взгляните на sshuttle, который ее предотвращает.
Загляните в раздел « Теория работы », чтобы узнать больше об этой ситуации.
источник
tun/tap
туннелирование, которое приводит к tcp-over-tcp. SOCKSv5 is не страдает от тех же проблем, но не работает прозрачно со всеми приложениями (хотя tun / tap - это просто еще один сетевой интерфейс, поэтому он может обрабатываться прозрачно).Одна вещь, о которой я могу подумать, это производительность. Но это действительно зависит от того, какие вещи вы туннелируете.
источник
Обычно я обнаружил, что задержка увеличивается, но пропускная способность в порядке (90%) по сравнению с SSH-туннелированием. Обязательно установите,
ServerAliveInterval
чтобы предотвратить разъединения, и оберните его в сценарий, чтобы продолжить перезапуск туннеля при сбое.Основным недостатком является то, что это туннель порта для TCP, если вы не используете SOCKS. С SOCKS все в порядке, но задержка при этом увеличивается еще больше, и, конечно, не каждый клиент поддерживает SOCKS.
Вам может потребоваться запустить
GatewayPorts
на клиенте или сервере SSH, чтобы позволить другим подключаться через ваш туннель. На сервере это требует root-доступа к sshd_config.Главное предостережение в отношении производительности (как отмечают другие) заключается в том, что ненадежные соединения, скорее всего, не будут подходить для этого подхода, так как алгоритмы TCP плохо реагируют при инкапсуляции.
Тем не менее, SSH, кажется, "делает правильные вещи" большую часть времени.
источник