← Cloudflare One / cloudflare-one / networks / connectors / cloudflare-tunnel / use-cases
SMB
Протокол Server Message Block (SMB) позволяет пользователям читать, записывать и получать доступ к общим ресурсам в сети. Из-за рисков безопасности межсетевые экраны и интернет-провайдеры обычно блокируют публичные подключения к общему ресурсу SMB. С Cloudflare Tunnel вы можете предоставить пользователям за пределами вашей сети безопасный и простой доступ по SMB.
Cloudflare Zero Trust предлагает два решения для подключения к серверам SMB:
- Маршрутизация приватной подсети с помощью Cloudflare One Client к Tunnel
- Маршрутизация по публичному имени хоста с
cloudflared access
Настройте SMB-сервер в Linux
SMB был разработан для Microsoft Windows, однако Samba обеспечивает подключение по SMB из UNIX-подобных и BSD-систем. Сервер Samba можно настроить с помощью этого руководство ↗ на машине с Ubuntu.
Подключитесь к серверу SMB с помощью Cloudflare One Client для туннелирования
С помощью Cloudflare Tunnel можно создать защищённое, исключительно исходящее соединение от вашего сервера к глобальной сети Cloudflare. Для этого нужно запустить cloudflared демон на сервере. Пользователи получают доступ к службе, установив Cloudflare One Client на своём устройстве и регистрации в вашей организации Zero Trust. Удалённые устройства смогут подключаться так, как если бы они находились в вашей частной сети. По умолчанию все устройства, зарегистрированные в вашей организации, могут обращаться к этой службе, если вы не создадите политики, разрешающие или блокирующие доступ для конкретных пользователей.
1. Подключите сервер к Cloudflare
-
В панели управления Cloudflare перейдите в Сеть > Tunnels.
Перейдите в Tunnels ↗ -
Создать новый туннель или отредактировать существующий
cloudflaredтуннель.
-
В панели управления Cloudflare перейдите в Сеть > Маршруты.
Перейдите в Маршруты ↗ -
Выберите Создать маршрут > Tunnel CIDR. Выберите только что созданный туннель, введите приватный IP-адрес или CIDR-адрес вашего сервера и выберите Создать маршрут.
-
(Необязательно) Настройте политики Zero Trust чтобы точно настроить доступ к вашему серверу.
2. Настройте клиент
Чтобы подключить свои устройства к Cloudflare:
- Разверните Cloudflare One Client на ваших устройствах в режиме Traffic and DNS или создать конечную точку прокси и разверните файл PAC.
- Создать правила регистрации устройств чтобы определить, какие устройства могут регистрироваться в вашей организации Zero Trust.
3. Направьте IP-адреса частной сети через Cloudflare One Client
По умолчанию WARP исключает трафик, направленный на Пространство адресов RFC 1918 ↗, то есть IP-адреса, обычно используемые в частных сетях и недоступные из интернета. Чтобы Cloudflare One Client мог отправлять трафик в вашу частную сеть, необходимо настроить Split Tunnels чтобы трафик к IP-адресу/CIDR вашей частной сети направлялся через Cloudflare One Client.
-
Сначала проверьте, ваш Режим Split Tunnels имеет значение Exclude или Включить режим.
-
Измените маршруты Split Tunnel в зависимости от режима:
Если вы используете Exclude режим:
a. Удалите маршрут содержащий диапазон IP/CIDR вашей частной сети. Например, если в вашей сети используется диапазон AWS по умолчанию
172.31.0.0/16, удалите172.16.0.0/12.b. Повторно добавить диапазоны IP/CIDR которые явно не используются вашей частной сетью. Для приведенного выше примера AWS вы бы добавили новые записи для
172.16.0.0/13,172.24.0.0/14,172.28.0.0/15, а также172.30.0.0/16. Это гарантирует, что только трафик к172.31.0.0/16маршруты через Cloudflare One Client.Чтобы определить, какие IP-адреса нужно добавить повторно, можно воспользоваться следующим калькулятором:
Инструкции для калькулятора
- В Базовый CIDR, введите диапазон RFC 1918, который вы удалили из Split Tunnels.
- В Вычтенные CIDR, введите диапазон IP/CIDR, используемый вашей приватной сетью.
- Повторно добавьте результаты калькулятора в список режима Exclude для Split Tunnel.
Сужая диапазон частных IP-адресов, включенный в Cloudflare One Client, вы снижаете риск нарушить работу пользовательского доступ к локальным ресурсам.
Если вы используете Включить режим:
- Добавьте необходимые Домены Zero Trust или IP-адреса в список включений Split Tunnel.
- Добавьте маршрут чтобы включить диапазон IP/CIDR вашей частной сети.
4. Подключитесь как пользователь
macOS
-
В меню Finder выберите Go > Подключиться к серверу.
-
Введите
smb://<smb-server-ip-address>/sambashare.
-
Войдите, используя имя пользователя и пароль, созданные при настройке сервера.
Windows
- Откройте проводник и щёлкните правой кнопкой мыши Сеть > Подключить сетевой диск.
- Для Папка, введите
\\<server-private-ip>\sambashare. - Выберите Подключение с использованием других учётных данных.
- Выберите Готово.
- Войдите, используя имя пользователя и пароль, созданные при настройке сервера.
Подключитесь к серверу SMB с помощью cloudflared access
Cloudflare Tunnel также может направлять трафик приложений через публичное имя хоста, что позволяет пользователям подключаться к приложению без Cloudflare One Client. Для этого способа необходимо иметь cloudflared установлен как на серверной, так и на клиентской машине, а также активная зона на Cloudflare. Трафик проксируется через это соединение, и пользователь входит на сервер с учётными данными Cloudflare Access.
Метод публичного имени хоста можно использовать вместе с маршрутизацией через Cloudflare One Client, чтобы обеспечить несколько способов подключения к серверу. Вы можете использовать один и тот же туннель как для маршрутов приватной сети, так и для маршрутов публичного имени хоста.
1. Подключите сервер к Cloudflare
-
Создайте Cloudflare Tunnel, следуя нашему руководство по настройке в панели управления.
-
В панели управления Cloudflare перейдите в Сеть > Tunnels и выберите свой туннель.
Перейдите в Tunnels ↗ -
На Маршруты вкладке выберите Добавить маршрут, затем выберите Опубликованное приложение.
-
Выберите домен из раскрывающегося списка и укажите любой поддомен (например,
smb.example.com). -
Для Сервис, выберите SMB и введите порт прослушивания SMB (например,
localhost:445). Диски SMB прослушивают порт139или445по умолчанию. -
Выберите Добавить маршрут.
2. (Рекомендуется) Создайте приложение Access
По умолчанию к серверу через имя хоста опубликованного приложения может подключиться кто угодно в интернете. Чтобы разрешить или заблокировать конкретных пользователей, создайте приложение с самостоятельным хостингом в Cloudflare Access.
3. Подключитесь как пользователь
-
Установка
cloudflaredна клиентской машине. -
Выполните следующую команду, чтобы открыть порт прослушивания SMB. Вы можете указать любой доступный порт на клиентской машине.
cloudflared access tcp --hostname smb.example.com --url localhost:8445Эту команду можно оформить в виде ярлыка на рабочем столе, чтобы конечным пользователям не приходилось использовать командную строку.
-
Откройте свой SMB-клиент и настройте клиент так, чтобы он указывал на
smb://localhost:8445/sambashare. Не вводите имя хоста. -
Войдите, используя имя пользователя и пароль, созданные при настройке сервера.
Требования, специфичные для Windows
Если вы используете компьютер с Windows и не можете указать порт для SMB, возможно, потребуется отключить локальный сервер. Локальный сервер на клиентском компьютере использует тот же порт по умолчанию 445 для CIFS/SMB. Прослушивая этот порт, локальный сервер может блокировать cloudflare access подключение.
Чтобы отключить локальный сервер на компьютере с Windows:
- Выберите Win+R и откройте окно «Выполнить».
- Type
services.mscи выберите Ввод. - Найдите локальный серверный процесс, который обычно называется
Server. - Остановите службу и настройте Тип запуска к Отключено.
- Повторите шаги 3 и 4 для
TCP/IP NetBIOS Helper.