Подключение samba через интернет

Файловое хранилище на SAMBA и OpenVPN

Численность и объем файлов, которые вынуждены хранить, серьезно возросла, если раньше хватало дискеты с объемом 2880 килобайт, то теперь все поменялось, объемы хранимой информации измеряются терабайтами и даже зетабайтами, а это уже 1 миллиард терабайт. Не за горами хранилища объемами в иоттабайт, что уже будет содержать триллион терабайт. Возможно, я отстал от жизни и на серверах какого-нибудь Dropbox или поисковых систем давно лежит побольше. Ну, намекните, если что. Будет интересно узнать. В общем, хранить многочисленную информацию локально уже бессмысленно. Использовать арендные хранилища не всегда удобно и безопасно. В таком случае придется развернуть собственное файловое хранилище на SAMBA. В данной статье расскажу, как можно его сделать.

Требования

Давайте сначала сформулируем задачу, которая может потребоваться от такого устройства. Несмотря на то, что решение подойдет для любой конфигурации, но из-за мелочей мало смысла заморачиваться. Проще реально взять по дешевке какой-нибудь сервер или даже арендовать VPS.

Итак, оттолкнемся от варианта, что вынуждены хранить несколько десятков терабайт файлов, требуется скорость и удаленный доступ с любого устройства и серьезный уровень скорости и безопасности файлов. Соответственно, мы вынуждены построить:

  • RAID 10;
  • файловое хранилище с доступом по популярным протоколам;
  • подходящая программная среда, позволяющая дать доступ устройствам с разнообразными операционными системами.

Задача не сложная, нам требуется только сервер с контроллером, подходящим для построения RAID 10 и немного знаний. Учтите, чтобы разжевать все, что здесь будет написано, потребуется накатать целую книгу.

Итак, нам понадобится следующее:

  1. Файловый сервер с контроллером.
  2. Операционная система Ubuntu, желательно самую новую версию.
  3. Программный комплекс Samba.
  4. На старт! Внимание! Марш!

Создание сетевого файлового сервера на SAMBA

В первую очередь уточню, что при установке Ubuntu можно установить пакет Samba сразу. Смотрите скриншот.

Установка SAMBA

Но если это не было сделано, поступаем так:

  1. Открываем терминал комбинацией клавиш Ctrl + Alt + T.
  2. Выполняем команду sudo apt-get update. После sudo apt-get upgrade, если есть проблемы с обновлением, то dist-upgrade.
  3. Выполняем команду sudo apt install samba samba-common python-dnspython
  4. Дожидаемся установки, после чего переходим к следующему этапу.

Теперь настраиваем программный комплекс. Сделать это проще всего по официальной инструкции: https://help.ubuntu.ru/wiki/samba Рекомендую вместо

Рекомендую установить GUI для настройки в графическом интерфейсе в wiki-ubuntu об этом немного сказано. Но, если есть знания английского либо сможете разобрать кривой перевод, то вот ссылка на официальный сайт: https://www.samba.org/samba/GUI/ Информация дана довольно подробная, разъяснить лучше даже при желании не смогу.

Вы все настроили, пробросили порты, но возникает ошибка при удаленном доступе. И эта проблема многих ставит в тупик. Сейчас объясню, в чем она заключается.

SAMBA для файлового хранилища

Проблема удаленного доступа Samba

Для подключения через интернет потребуются рабочие порты:

Читайте также:  Настроить мтс usb интернет

И может получиться так, что одни люди могут подключиться к сетевому файловому серверу удаленно, другие нет. Не ищите проблему у себя в конфигурации, возможно она есть, но целесообразнее обратиться к провайдеру.

Часто они фильтруют данные порты и обрубают доступ, так что, если на роутере соединение посредством данных портов не блокировано, шерстите провайдера. Но не всегда он готов пойти на встречу, в таком случае варианта остается два.

Первый, конечно же, смена провайдера, но, например, во многих офисных центрах альтернативы попросту нет. В таком случае сразу стоит перейти ко второму варианту.

Решаем задачу

Для начала устанавливаем и настраиваем OpenVPN по инструкции: https://help.ubuntu.ru/wiki/openvpn

Если в дальнейшем не поможет, то в файле конфигурации маску подсети заменяйте на свою. Не забудьте указать все порты.

Теперь установим iptables, конечно, если этого комплекса надстроек нет. Вводим команду:

sudo apt-get install iptables

Далее в терминал вводим такую команду:

sudo iptables -t nat -A PREROUTING -d внешнийIP -p udp —dport 137 -j DNAT —to-destination 10.8.0.0:137

Это для примера, параметры server и внешний IP указывайте свои. Таким образом открываем доступ к каждому порту через VPN. Не забудьте включить NAT: https://help.ubuntu.ru/wiki/sharing_internet

Вроде бы все, коротко, но ясно. Да, отнимет время, но нет ничего невозможного. Так что дерзайте. Успехов вам!

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 3 / 5. Количество оценок: 2

Оценок пока нет. Поставьте оценку первым.

Если материалы с данного сайта были полезны, и вы желаете поддержать блог, то можете воспользоваться формой по ссылке: Донат на поддержку блога

Если материалы с данного сайта были полезны, и вы желаете поддержать блог, то можете воспользоваться формой по ссылке: Донат на поддержку блога

Источник

Сделать сетевой диск доступным через Интернет?

Недавно я создал небольшую серверную машину, используя Ubuntu Server и Samba, чтобы выступать в качестве файлового сервера (помимо прочего), чтобы вся моя семья могла получать доступ к определенным файлам по сети с машин Windows. Тем не менее, я хотел бы сделать еще один шаг и сделать так, чтобы акции были доступны через Интернет, вдали от дома. Как бы я это сделал? Я очень мало знаю о том, как работает система сетевых ресурсов Windows, поэтому понятия не имею, с чего начать.

Ничего личного относительно принятого ответа, но, хотя технически это могло ответить на ваш вопрос, я НИКОГДА не буду этого делать. Вы действительно разоблачаете себя, особенно если у вас есть что-то чувствительное в вашей сети. Я бы сказал, что правильный способ — настроить простую PPTP VPN для вашей семьи, а затем дать им доступ.

@KCotreau: есть еще много вопросов в этом вопросе, которые я оставил для простоты. Скажем так, данные, которые мы будем раскрывать, никоим образом не являются конфиденциальными. Я понимаю и принимаю риски безопасности — я просто хотел получить простой ответ на мой конкретный вопрос.

Читайте также:  Оптика нет интернет личный кабинет

@musicfreak Меня беспокоит то, что это точка атаки на другие области компьютера или даже на сеть в целом. Очевидно, что вы можете делать это как хотите, но я все равно не рекомендую это делать, если на компьютере нет ничего, по крайней мере, не только общий ресурс. Очень крутая книга — «Взламывание разоблаченных». Это показывает, насколько хакеры атакуют эти протоколы.

При использовании Samba вам придется открывать порты 139 / tcp и 445 / tcp снаружи — обычно это включает в себя настройку «переадресации портов» на вашем маршрутизаторе. Кроме того, вы должны убедиться, что ваш внешний IP-адрес проверяется извне.

После этого вы сможете получить доступ к общим ресурсам, введя \\youraddress в адресной строке Проводника или в Пуск — Выполнить . (Здесь вы можете указать свой внешний IP-адрес или DNS-имя, если оно у вас есть.)

Однако обратите внимание, что протоколы CIFS и SMBv2, используемые для общего доступа к файлам Windows, не обеспечивают шифрование данных (так что любой пользователь, использующий анализатор пакетов, может контролировать передачу файлов), и его аутентификация также не особенно сильна. Только SMBv3 получил поддержку шифрования.

Кроме того, не забывайте, что служба Windows SMB в прошлом была очень частой целью заражения. Хотя большинство эксплойтов Windows никак не влияют на Samba, об этом все же стоит помнить (и часто это означает, что порты SMB блокируются на уровне ISP).

Также обратите внимание, что машины Windows по умолчанию запоминают учетные данные для входа во весь локальный сеанс. Если вы не подключаетесь к Samba как «Гость», вы должны проявлять особую осторожность на общедоступных компьютерах: всегда используйте net use \\address перед открытием в Проводнике / net use \\address /del для отключения. (Это не нужно на персональных компьютерах.)

Для дополнительной безопасности добавьте следующее в общий раздел smb.conf :

LANMAN auth = no NTLM auth = no invalid users = root 

Кстати, есть ли у вас какие-либо рекомендации, чтобы сделать проблему отсутствия шифрования данных менее важной? Я доверяю всем сетям, к которым я подключаюсь, но я могу, например, создать учетную запись для моей подруги (которая может быть в ненадежной сети), чтобы она могла получить доступ к моей музыке / фотографиям / и т. Д. Я всегда мог просто дать ей учетную запись только для чтения и назвать ее хорошей, но мне просто интересно, возможно, у вас есть какой-то более конкретный совет. Еще раз спасибо!

Для доступа только для чтения вы можете настроить HTTPS-сервер (StartSSL / CAcert). Для загрузки файлов это может быть расширено до WebDAV . но Windows не будет использовать WebDAV, если доступен CIFS, и большинство версий Windows имеют некоторые проблемы с WebDAV, защищенным SSL. Другие решения требуют внешнего программного обеспечения (SFTP с использованием WinSCP) или даже настройки VPN.

Читайте также:  Убрать мобильный интернет феникс

Ну, я планировал настроить систему резервного копирования на основе версий (вроде Time Machine в Mac OS X), так что даже если кто-то получит доступ к общим ресурсам и все сотрет, он все равно будет в безопасности. Как вы думаете, этого достаточно? Я бы, конечно, предпочел бы предотвратить подобное в первую очередь.

Замечание: у канадских интернет-провайдеров порты SMB заблокированы, если у вас нет бизнес-аккаунта. Убедитесь, что ваш интернет-провайдер разблокирует порты, если вы используете JUST SMB

Если ваша семья может справиться с использованием WinSCP, то:

  • установить и настроить SSH
  • предоставить членам вашей семьи локальные учетные записи на вашем сервере
  • символическую ссылку вашего хранилища файлов в эти каталоги. Например, если вы выставляете себя /srv/samba_files через Samba, вы хотите сделать ln -s /home//files /srv/samba_files или подобное для каждой учетной записи. Если вам нужно сделать это для многих учетных записей, вы можете написать скрипт для этого.
  • установить WinSCP на компьютеры вашей семьи

Тогда у вас будет очень безопасный способ передачи файлов, который не слишком сложен в использовании.

Однако, если вы действительно хотите интегрировать «сетевой диск» с Windows, я узнаю об OpenVPN, а затем о настройке туннельного моста для вашей домашней сети. Я успешно получил файловые ресурсы Windows для работы над такими туннелями.

Вы также можете использовать PoPToP (pptpd), чтобы система Windows могла подключиться к вашему Ubuntu через PPTP vpn. (Туннель IPSec / L2TP обеспечит лучшую безопасность, но его сложно настроить).

Общие ресурсы Samba будут видны только на стороне локальной сети. На интернет-стороне вы бы использовали WinSCP.

@LawrenceC Этот метод «openvpn» использует общий вес для одноплатных компьютеров, таких как raspberry pi?

OpenVPN занял 20% ЦП в системе ARM 1,3 ГГц и у меня не было 512 МБ ОЗУ. Это также функционировало как маршрутизатор, DHCP и сервер DNS. Некоторые SOHO-маршрутизаторы с меньшими характеристиками запускают его. Это должно быть хорошо, но потребляет некоторые ресурсы.

Это зависит от того, какие файлы вы намереваетесь обслуживать. Если это документы или просто файлы, к которым вам нужен удаленный доступ, просто запустите FTP-сервер на вашем сервере Ubuntu. Убедитесь, что вы надежно защищены, с хорошими паролями и доступом только к каталогу файлов, а не к корневому каталогу.

Однако, если вы намереваетесь передавать потоковые медиафайлы (песни, фильмы), вам нужно запустить потоковый сервер. Есть много решений для этого ( вот один ).

Наконец, вы всегда можете использовать существующее «облачное» решение для накопителей, такое как Dropbox, SkyDrive или Amazon Cloud Player, — просто синхронизируйте свои файлы с одной из этих служб, и доступ к Интернету (при этом быстрый) гарантирован.

Источник

Оцените статью
Adblock
detector