Какой хороший, безопасный (ish) способ доступа к серверу самбы через Интернет?
Моя первая мысль - просто перенаправить необходимые порты на маршрутизаторе на сервер самбы, но я не уверен, насколько это безопасно.
Вторая мысль - каким-то образом туннелировать через ssh.
Я попытался этот для моей второй мысли, но, похоже, это не сработало.
Вы обнаружите, что протокол SMB отстой, как пылесос, по ссылкам с высокой задержкой. Лучше использовать другой протокол для доступа к файлам, например, WebDAV, чем пытаться запускать SMB через сеть.
Что бы вы ни делали, используйте шифрование. Если вы собираетесь использовать SMB, используйте протокол VPN (OpenVPN, IPSEC ESP, PPTP и т. Д.) Для туннелирования SMB. Если вы используете WebDAV, вы можете просто использовать HTTPS в качестве транспорта.
Вместо этого я бы рекомендовал использовать SSHFS - что, если вы работаете на Mac, вы можете просто установить MacFusion.
Моя первая мысль - просто перенаправить необходимые порты на маршрутизаторе на сервер самбы, но я не уверен, насколько это безопасно.
Это то, что ты определенно не хотеть сделать. SMB - это то, что вам нужно защищать от Интернета, а не подвергать его воздействию.
Я полурегулярно использую SMB через VPN-соединение и должен согласиться с Эваном в том, что, когда увеличивается время задержки, пора использовать другой протокол. Я бы предложил изучить что-то вроде SFTP.
Если вы имеете дело с общим ресурсом, который используется несколькими клиентами, которые не могут / не хотят использовать другие протоколы, вы можете создать эту настройку:
clients.lan | <--SMB through LAN--> | \\proxy.lan\share
proxy.lan/share | <--SSHFS through Internet--> | server.in.the.internet/share
Другими словами, на удаленном сервере (server.in.the.internet
), включите SSH; На локальном сервере (в вашей сети proxy.lan
), смонтируйте удаленную папку через SSHFS и поделитесь этой папкой на локальном сервере через SMB.
Таким образом, клиенты в локальной сети могут получить доступ к общему ресурсу Samba на proxy.lan, но он прозрачно (для них) проксируется с вашего удаленного сервера; вы даже можете настроить кеширование на прокси-сервере, чтобы доступ был еще быстрее.
Это в некоторой степени зависит от вашей среды, предполагаемой базы пользователей и клиентской платформы. Первое, что приходит мне в голову, это использование какой-то настройки openvpn. Требуется небольшая настройка, но после правильной настройки он работает хорошо.
Почему бы не использовать старый добрый ftp-сервер. Он был предназначен для подобных вещей.
Обычный старый ftp-сервер не позволяет вам получить доступ к файлу, не загрузив его полностью. Я думаю о фильмах, которые вы хотите смотреть в Интернете.