Особенности SSH туннеля
SSH туннель хорош тем, что очень легко настраивается – достаточно бувально одной команды в консоли локального компьютера типа
– и прописав в браузере порт и прокси, можно ходить по Интернету.
И этот самый Интернет просто завален мануалами по настройке SSH туннеля и его преимуществах.
Однако длительная, не один год, практика работы с SSH туннелем обнаружила то, чего никто не описывает – крайне нестабильную работу туннеля.
То есть, через часок-другой туннель отваливается, и его приходится перезапускать, но уже с другим портом. И так по кругу целый день приходится по много раз перезапускать его.
При чем, перед тем, как туннель отвалится, работа по нему становится неудовлетворительной – сайты сначала тормозят, потом не открываются, а в итоге туннель обрывается вовсе.
Сразу отмечу – что канал связи с удаленным сервером, на котором поднят SSH-сервер, совершенно не причем – по стабильности он попросту безукоризнен.
Например, можно под Rsync "заэссешатиться" на нем, через неделю вернуться в него – коннект окажется сохранившимся.
Причем, в качестве удаленного сервера использовались различные сервера у разных хостеров, но картина все равно одна и та же – SSH туннель "не держится".
Поскольку объяснений этому нет, пришлось искать решения.
Одно нашлось в виде утилитки autossh, которая контролирует канал и в случае проблем с ним принимает меры по ее восстновлению.
Запускаю ее в скрипте так:
Однако реально пользы от нее оказалось немного – канал может быть "держится" несколько дольше, но потом все равно начинаются тормоза и заминки, утилита, по видимому, делает перезапуски, но в итоге туннель все равно полностью разваливается и требует ручноой перезапуск с залогиниваеним и сменой порта.
Вот типичная картина работы туннеля с этой утилитой:
Может, есть умельцы, которые не по наслышке знают тонкости работы SSH туннеля и уже победили эти проблемы?
Т.е. проблема явно не в стабильности канала, а в чем-то другом.
В чем?
что дает ручной перезапуск (чего не дает автоматический) и что дает смена порта? Можно ли не менять порт? Можно ли автоматически перезапускать с разными портами (написать быстро sh скрипт, который будет инкрементировать порт – я не знаток, попросите кого-нибудь)?
Я пользовался ssh-тоннелями с windows и работалось все нормально (хостер, если интересно – дешевый виртуальный fastvps).
комментариев: 9796 документов: 488 редакций: 5664
В мане не просто так написано:
Скорее всего, недостатки SSH в качестве VPN врождённые, запланированные и трудноустранимые. Если бы были какие-то эффективные
костылирешения по исправлению недостатков SSH в качестве VPN, а не шаманство, то их бы уже применяли повсеместно.Почему нужен другой порт? Это же локальный порт открываемый ssh клиентом.
А что же имено искать? Обычное SSH соединение работает идеально, канал тоже, дедики использовались самые разные, а проблема одна и та же – уже писал об этом.
Потому что после потери туннеля и при повторном его запуске с тем же портом тунель не запускается – выдается какая-то ошибка.
Это мановское примечание какое-то мутное и уклончивое, думай что хочешь.
Как лично вы его перевели?
комментариев: 9796 документов: 488 редакций: 5664
Зависит от ОС, но, в общем, это правда, есть такой эффект. Дело в том, что после сдыхания порта есть некотрый timeout (иногда он до нескольких минут), втечение которого сервса уже нет на этом порту, а повторно его выделять система считает пока ещё небезопасно. Мне из-за этого тоже приходилось при падении туннелей менять локальный порт, на котором слушает SSH socks.
+1
Вы про линукс говорите, да? Потому что виндовс как нечего делать дает запустить две слушалки на одном порту, причем вторая забьет первую, а после выключения второй – опять работает первая.
Но если это не помогает, тогда никак.
Найдите и протестируйте способ разрешать имена не через туннель, это полностью исключит версию с dns проблемами.
http://mobaxterm.mobatek.net/download/plugins.html
Ничего не отвалится
В этой ветке ещё никто не говорил про windows, даже топикстартер.
Гостья, вы о чем вообще? Телепатов тут нету.
А это для автора вопроса, думаю, $ тут решение :
Журнал “Хакер» июнь 06 (114) 2008. стр130
Статья « Калейдоскоп тайных знаний».
Сам прочёл из оригинала _личного архива.
Вот ссылка ещё:
http://xakep.ru/wp-content/upl....._2008_low.pdf?2bdec0
или скачать тут
http://xakep.ru/issues/?y= 06 (114)2008