Комментарии 18
А не проще ли поднять сервер локально, nginx у провайдера, и связать их через ssh туннель?
Wireguard + nginx proxy на vps - и не нужно столько много букв.
В способе из статьи достаточно только ssh , который точно есть на vps
Wireguard + nginx proxy это будет много других букв. И не факт что их будет меньше, поскольку для поднятия всего этого нужен отдельный мануал, они в сети есть. Я в тексте написал о том, что есть альтернатива в виде VPN, просто VPN сейчас работает непредсказуемо, а SSH протоколы пока не банят (не факт что так будет всегда, конечно), поэтому и родилась инструкция оттого, что OpenVPN стали блокировать. Поскольку полностью и на русском я не нашел как это сделать, пришлось собирать инфо отовсюду (в основном собственные попытки + stackoverflow).
Проблемы - с публичными VPN в основном. Ну а способ через ssh - только лишь как временная мера, когда нет, например, необходимости в постоянном соединении. И по трудозатратам он даже сложнее vpn. А об отвалах - написали ниже. Это - наиболее существенный минус.
И не говори. Сам пользуюсь несколько лет связку VDS за сто рублей +Wireguard+обратный прокси на апач. А локальные сервера на proxmox. Три хоста (на работе, дома, у друга), и 6 виртуалок- HAOS, домашний торент с самбой, два нексклоуда, два сайта и коллабора и т.д. я еще неуверенный линуксюзер, но все комманды в инете нашел. Методом пробок и ошибок, все настроил.
Ssh периодически отваливается по таймауту, и даже установка опций ClientAliveInterval,
ClientAliveCountMax и аналогичных на сервере не уберегает на долго продолжительном периоде, особенно, если сеть не стабильна. Я не видел ни одного надёжного решения, где ssh сессия держится месяцами :)
Написание демона для проверки и пересоздания соединения это отдельный вопрос, я планировал написать отдельный мануал если начальная тема будет пользователям интересна.
Боюсь, что это ключевой технический аспект решения, поэтому его сложно вынести за скобки. У меня есть неприятный опыт написания шел скриптов, которые кроном проверяют и пересоздают соединение, но это очень топорно. Буду рад увидеть другое решение
Напишите, интересно. Демон ssh отлично рассматривается в описании системД авторского (Поттеровского) исполнения, прям глава с примерами. В плане стабильности на длительную перспективу Ваша статья - очень годная, 22 порт и 80 не закроют никогда. WireGuard - уже. А про "отваливается", git, rsync - кто там ещё работает через ssh, мягко говоря в больших масштабах чем 99% энтерпрайза. Глобально.
Отваливается -- хрен с ним, реконнект сделать дело 0.1 секунды. Проблема в том что если sshfs отваливается по любой причине, то его маунт зависает, вот это проблема.
autossh
А почему не рассмотрен вариант шифрованного керберосом NFS? Его вполне можно пускать в публичный интернет.
Согласен. Но у меня была задача написать некий мануал для помощи людям, которые столкнулись с задачей впервые, или получили проблему из-за блокировки протоколов VPN. А SSH или Samba это наиболее распространенные на мой взгляд решения. Но по аналогии думаю можно и NFS прикрутить было бы желание. Как всегда бывает, и как видно их моего текста, возникают часто маленькие проблемки, которые не видны, пока сам не попробуешь.
Добрый день, кажется что проблему с разрывами решает autossh, пользуюсь им как раз если нужно из вне, попасть внутрь домашний сети через vds, работает в целом неплохо.
Статья про разны ssh и обратный ssh есть на Хабре
https://habr.com/ru/companies/flant/articles/691388/
Как по мне проще на роутере поднять Wireguard туннель к VPS и все и пару правил и маршрутов и дело в шляпе. ssh обрывает по таймауту. Себе так сделал.
Как расширить дисковое пространство на VPS за счет дисков на сервере в домашней сети