Я уже туннелировал смешанные клиенты linux и windows к «клиенту внутри брандмауэра» (который мог получить доступ к хосту общего ресурса), поэтому я знаю, что это, по крайней мере, возможно.
Но как насчет туннелирования напрямую от клиента к хосту сетевого ресурса?
Могу ли я заставить samba прослушивать порт, скажем, 5559 (просто пример), и принимать соединения только от localhost и туннелировать клиент 5559 на этот хост - так, чтобы клиент, казалось, подключался с localhost хоста? Я не могу понять, как это настроить. Пока что я настроил самбу:
hosts allow = 127.0.0.1 ::1 lo
interfaces = lo 127.0.0.1
bind interfaces only = yes
А я туннель от хозяина
ssh -R 5559:localhost:5559 shrusr@shrhost -Nf
Однако, если samba уже запущена, переадресация TCP не выполняется. Если туннель уже запущен, samba не может запуститься. Возможно ли то, что я пытаюсь достичь? Есть ли другой способ сделать это?
Кажется, что это должно работать - я могу даже netcat самостоятельно файлы через тот туннель ssh. Таким образом, у netcat нет проблем с прослушиванием того же порта, что и с ssh. Отказывается только smbd, а также блокирует ssh с этого порта, если запускается первым.
Любой совет будет принят во внимание.