Как настроить приложение wifi web auth
Всем привет. В общем есть задача сделать что то подобное как сделано в кафе шоколадница, а именно: человек подключается по wifi, пытается что то открыть и ему вылетает страница где он вводит свою почту и номер телефона, то есть что то вроде авторизации, только проверки этому нет. А служит для сбора данных.
Собственно как примерно такое можно реализовать ? Может софт какой продается.
Неужели MS ISA Server?
Обычно подобное делается через transparent proxy, сквид такое умеет уже много лет.
если проверки нет - вводить будут мусор в 99% случаев)
а вообще тебе нужен captive portal
>Обычно подобное делается через transparent proxy, сквид такое умеет уже много лет.
А можно примерные статьи или хоть что искать, а то squid web authentication мало что дал мне :)
а вообще тебе нужен captive portal
это pfsense ? Увы надо именно софт. Точки будет раскиданы по городу, будут входить в одну сеть и уже потом выходить через какой либо сервер.
>примерные статьи или хоть что искать
делаешь редирект на страницу авторизации, после того как человек ввел логин/пароль - его IP добавляется в список исключений и следующий запрос куда угодно пройдет без редиректа. Вариантов много - можно такую схему самому написать, можно воспользоваться готовыми решениями. У меня на работе планируется внедрение подобной схемы с сервером, который будет принимать запросы и авторизовывать пользователей. Реализация будет на б-гомерзком биллинге UTM5, но тут ничо не поделаешь - корпоративная политика.
его IP добавляется в список исключений
Лучше все-таки мак, а не ИП.
хм. спасибо, подумаю над этим. хотя в моем случае точки будут не совсем открытые - планируется ограничить список MAC-адресов подключающихся. Но если такого ограничения нет, да - лучше MAC-адрес или комбинация MAC-IP.
планируется ограничить список MAC-адресов подключающихся
А если между клиентом и гейтвеем будет промежуточный раутер?
Делать ограничения надо по IP, с учетом устаривания по DHCP lease time.
у меня в городе такое сделано, бесплатный инет по карточкам, на карточке 30 часов, при подключении сети открывается страница запроса логина и пароля, обслуживает это дело squid + radius
>А если между клиентом и гейтвеем будет промежуточный раутер?
Пробовал делать такое на dlink dir-320 прошитым dd-wrt с chillispot в связке с radius - нормально, а уж радиус можно и к базе данных привязать, а к базе биллинг написать и еще пару скриптов. Хотя конечно если есть деньги, то можно купить готовую железку в которой это все встроено. Так же будет проще, если есть возможность между точкой доступа, настроенной мостом, и инетом поставить сервер, чтобы точка напрямую к серверу была подключена, а уж на сервер ставить что-нибудь эдакое, к сожалению названий конкретных решений не помню, но они есть.
> ему вылетает страница где он вводит свою почту и номер телефона, то есть что то вроде авторизации, только проверки этому нет. А служит для сбора данных.
Сразу поясню, что мы должны иметь в начале и что по итогу должно получиться в конце.
Итак, имеем:
Что будем иметь по итогу:
(Подобная схема к примеру на текущий момент реализована в сети ресторанов Макдональдс)
Все это дело организовываем с помощью:
Для управления поднимем простенький web-сервер, mysql, phpmyadmin.
1 этап настройка маршрутизатора с dd-wrt
Открываем через web-интерфейс наш маршрутизатор. Настраиваем от настроек по умолчанию, поэтому вводим в браузере 192.168.1.1 и попадаем в меню.
Далее будут приводиться мои настройки сети, делайте также, либо подставляйте по примеру свои значения.
1. Вкладка Administration, в поля Router username, router password и re-enter to confirm вводим свои значения.
Тем самым установив свои пароли вместо стандартных для доступа к роутеру.
3. Там же заполняем Поля Router IP и DHCP.
4. Вкладка Wireless, в поле Wireless Network Name (SSID) введите имя будущей Wi-fi сети
5.Вкладка Services -> подвкладка Hotspot
Remote network внутренняя сеть для Wi-fi клиентов
2 этап Настройка FreeRadius
Устанавливаем FreeRadius, не забываем поставить галочку напротив MYSQL
cd /usr/ports/net/freeradius2 make install clean
Редактируем конфигурационный файл /usr/local/etc/raddb/radiusd.conf
и проверяем что выставлено именно no
Следующий файл для редактирования /usr/local/etc/raddb/sites-available/default
И во всех раскомментируем строчку
Этим мы подготовили freeradius для связи с mysql
Далее редактируем файл /usr/local/etc/raddb/clients.conf
Ищем секцию client localhost
где, 192.168.0.20 ip адрес маршрутизатора с wi-fi
Выставляем свой ключ
Не забываем прописать в /etc/rc.conf строчку
3 этап Настройка MySQL
Начнем с установки
cd /usr/ports/databases/mysql55-server make install clean
Добавляем в /etc/rc.conf
Выставляем пароль для рута
mysqladmin -u root password ВАШ_ПАРОЛЬ
Теперь заходим в консоль MySQL и вводим только что установленный пароль
create database db_radius; grant all privileges on db_radius.* to 'user_radius'@'localhost' identified by 'user_radius_password'; flush privileges; quit;
Из папки с этими файлами импортируем таблицы в нашу базу данных
mysql -u user_radius -p db_radius < schema.sql mysql -u user_radius -p db_radius < nas.sql mysql -u user_radius -p db_radius < ippool.sql
Проверим все ли прошло успешно:
mysql -u user_radius -p show databases; use db_radius; show tables;
Мы должны увидеть список из следующих таблиц:
nas, radacct, radcheck, radgroupcheck, radgroupreply, radippool, radpostauth, radreply, usergroup.
4 этап Привязываем FreeRadius к MySQL
Редактируем файл /usr/local/etc/raddb/sql.conf
Теперь создадим тестового юзера для проверки в базе MySQL. Для этого выполним
mysql -u user_radius -p db_radius insert into radcheck (Username, Attribute, Value) VALUES ('testsql', 'Password', 'passwordsql');
Не забываем перезагрузить freeradius.
Проверяем соединение командой
radtest testsql passwordsql 127.0.0.1 0 testing123
Здесь всплывут 2 подводных камня:
2. У меня вышла вот такая ошибка:
radclient:: Failed to find IP address for office.local
radclient: Nothing to send.
5 этап настройка Веб-сервера с PHP, SSL и поддержкой CGI
Следующим этапом будет настройка веб-сервера с SSL (нужен для страницы авторизации) c поддержкой выполнения CGI скриптов(тоже для страницы авторизации), и с поддержкой php (это для phpmyadmin) как это все сделать можно прочитать здесь.
6 этап Настройка страницы авторизации
После того как у нас появился работающий Веб-сервер нам необходимо настроить страницу авторизации. Кстати это именно та страница, на которую ссылается роутер с dd-wrt в своих настройках.
если не получилось, выкладываю тут на всякий случай
Устанавливать ничего не нужно, просто ищем в архиве файл hotspotlogin.cgi и копируем его в папку для cgi скриптов веб-сервера. Не забываем выставить права на выполнение
chmod 755 hotspotlogin.cgi
Если все выше настроено успешно, то при подключении к сети и попытке открыть любой сайт должна открываться страница формируемая hotspotlogin.cgi.
Кстати дизайн страницы можно менять как душе угодно. Предполагаю, что если вы дошли до этой точки настройки, то должны сами разобраться в коде и как это сделать.
7 этап Настройка dialupadmin
Чтобы не увеличивать статью до километровых размеров опустим установку PhpMyAdmin для управления базой, благо инфы по этой теме в интернете навалом.
И находим там папку dialup_admin, либо ищем ее по пути где-то здесь /usr/share/freeradius-dialupadmin/htdocs /var/www/dialup. Но скорее всего ее там может не оказаться.
Создаем папку для dialupadmin в папке веб-сервера, и перепишем в нее файлы из одноименной папки в архиве.
Здесь я опускаю настройку веб-сервера для папки dialupadmin. Можете положить все в папку по умолчанию и не париться с настройками, либо настроить веб-сервер как вам удобно.
Примечание: в dialupadmin по умолчанию нет никакой встроенной аутентификации, поэтому не забудьте ее сделать средствами веб-сервера поставив пароль на папку.
Приступим к настройке dialupadmin
Сразу сделаю небольшое отступление, если в процессе настройки вы столкнетесь с подобной ошибкой (точно не помню на каком этапе она может возникнуть)
Fatal error: Call to undefined function import_request_variables() in /usr/local/www/dialupadmin/conf/config.php on line 9
Редактируем файл ..dialupadmin/conf/admin.conf
в строке ниже вместо XXXXXX выставляем свой ключ. Например у нас в примере это testing123
Далее настройки базы, в строках ниже указываем свои значения:
sql_username: user_radius sql_password: user_radius_password sql_database: db_radius
Обратите внимание на строку
Теперь необходимо добавить таблицы в нашу базу данных
Их можно найти по пути ..dialup_admin/sql/mysql
Итак файлы userinfo.sql и badusers.sql в 5 строке удаляем
Также стоит обратить внимание на соответствия названий таблиц в базе и файле ..dialupadmin/conf/admin.conf . С этим могут быть связаны выше описанные ошибки.
Не факт конечно, что вскоре это все не поправят, но на всякий случай привожу все возможные грабли.
Заходим в папку ..dialupadmin/sql/mysql/ и импортируем таблицы (можете это сделать через PhpMyAdmin)
mysql -u user_radius -p db_radius < badusers.sql mysql -u user_radius -p db_radius < mtotacct.sql mysql -u user_radius -p db_radius < totacct.sql mysql -u user_radius -p db_radius < userinfo.sql
8 этап Добавление данных
Заходим через браузер в веб-интерфейс dialupadmin и создаем 2 группы:
группа Default будет для гостей здесь мы поставим ограничение скорости, и меньшее время сессии
Full Bandwidth для Vipов.
Заходим через PhpMyAdmin в базу и добавляем записи в таблицу radgroupcheck
id: 1
GroupName: Default
Attribute: Auth-Type
op: ==
Value: Local
id: 2
GroupName: Full Bandwith
Attribute: Auth-Type
op: ==
Value: Local
Теперь добавляем записи в таблицу radgroupreply
id: 1
GroupName: Default
Attribute: Session-Timeout
op: =
Value: 3600
id: 2
GroupName: Default
Attribute: Idle-Timeout
op: =
Value: 600
id: 3
GroupName: Default
Attribute: Acct-Interim-Interval
op: =
Value: 60
id: 5
GroupName: Default
Attribute: WISPr-Bandwidth-Max-Up
op: =
Value: 128000
id: 6
GroupName: Default
Attribute: WISPr-Bandwidth-Max-Down
op: =
Value: 256000
Следующие атрибуты для группы “Full Bandwidth”:
id: 7
GroupName: Full Bandwidth
Attribute: Session-Timeout
op: =
Value: 3600
id: 8
GroupName: Full Bandwidth
Attribute: Idle-Timeout
op: =
Value: 600
id: 9
GroupName: Full Bandwidth
Attribute: Acct-Interim-Interval
op: =
Value: 60
При первом подключении роутера рекомендуется изменить настройки, установленные по умолчанию, в целях безопасности домашней сети. Открыть интерфейс возможно не только через браузер на компьютере, но и с мобильного телефона. Хотя это и менее удобный способ, вход и настройка устройства не представляют сложности, если удалось подключиться к нему, знать адрес шлюза и данные доступа.
При первом подключении роутера рекомендуется изменить настройки, установленные по умолчанию, в целях безопасности домашней сети. Открыть интерфейс возможно не только через браузер на компьютере, но и с мобильного телефона. Хотя это и менее удобный способ, вход и настройка устройства не представляют сложности, если удалось подключиться к нему, знать адрес шлюза и данные доступа.
Как зайти в роутер через мобильный браузер
Чтобы войти в админ-панель маршрутизатора, нужно знать IP-адрес, который управляет соединением между локальной сетью (домашней) и интернетом (внешней сетью). Обычно IP является стандартным. Большинством производителей используется 192.168.0.1 или 192.168.1.1. Но проще уточнить этот момент, посмотрев в инструкции или на стикере (есть на коробке или нижней панели самого аппарата – здесь же напечатан логин и пароль).
Если по каким-то причинам стикера и/или инструкции нет, а стандартный IP не подходит, можно попробовать найти адрес шлюза в телефоне Android или iOS.
- Зайти в настройки и перейти в раздел управления беспроводными сетями.
- Активировать Wi-Fi, раздаваемый роутером, и открыть его параметры.
- IP-адрес отображается рядом с надписью «Шлюз», «Маршрутизатор» или т.п.
- Перейти в настройки Wi-Fi.
- Выбрать активное соединение Wi-Fi маршрутизатора.
- Кликнуть по значку «i» справа от имени сети.
- IP-адрес отображается рядом с надписью «Маршрутизатор».
Некоторые модели Samsung с технологией One UI (Galaxy) предоставляют доступ к конфигурациям маршрутизатора из раздела с Wi-Fi – в параметрах сети нужно настроить данную опцию. Но в большинстве телефонов отсутствует возможность посмотреть IP-адрес роутера, поэтому придется в ручном режиме пробовать все возможные варианты или делать сброс настроек до заводских.
- Убедиться, что подключение к сети Wi-Fi, которая будет настраиваться, работает, а мобильный интернет отключен.
- Открыть браузер (не имеет значения, какой именно), ввести в адресную строку адрес шлюза, чтобы получить доступ к конфигурации роутера. Кликнуть по кнопке «Ок».
- На экране появится меню доступа с полями для ввода имени пользователя и пароля.
- Вписать данные и подтвердить вход в админ-панель.
Важно! Расположение параметров настройки в телефоне зависит от бренда, модели устройства, версии Android/iOS.
Роутеры, управляемые с приложения
Некоторые производители разрабатывают кроссплатформенные приложения, чтобы процесс настройки был максимально простым и быстрым. Это намного удобнее, чем заходить в админ-панель роутера через мобильный браузер.
Через приложение можно контролировать состояние интернет-соединения и подключенные к нему устройства (ограничив скорость, установив расписание и т.д.), настроить уведомления о событиях и многое другое. Однако функционал очень урезан по сравнению с браузерной админ-панелью.
На сегодняшний день собственные приложения имеют Asus, Xiaomi, TP-Link, D-Link, Zyxel/Keenetic, Tenda. Несмотря на то, что они отличаются, у всех понятный интерфейс, а первоначальная настройка происходит с помощью встроенного помощника. Все производители предоставляют возможность удаленного управления.
Как зайти в роутер через мобильное приложение
- На телефоне подключиться к сети Wi-Fi, которую раздает по умолчанию маршрутизатор. Ввести логин и пароль (данные для коннекта указаны на стикере, приклеенном к нижней части устройства). При этом мобильный интернет должен быть отключен.
- Открыть программу. Ознакомиться с возможностями и кликнуть по кнопке «Начать». Принять лицензионное соглашение.
- При необходимости выбрать тип устройства – в данном случае маршрутизатор.
- Начнется процесс сканирования – обнаружение доступного устройства.
- Если интернет подключен, в списке отобразится название модели. Кликнуть по нему. Используя логин и пароль, войти в интерфейс роутера.
- Следовать подсказкам Мастера настройки.
Если система автоматически не обнаружит устройство, нужно кликнуть по кнопке «Не находите ваше устройство?» (может быть подписана по-другому).
Важно! Названия параметров и последовательность действий отличаются в зависимости от бренда роутера.
Какие модели управляются с приложения
- Всю линейку ZenWiFi, 802.11ax, ROG Rapture, TUF Gaming.
- Некоторое оборудование
- Lyra/Mini/Trio/Voice (должна быть минимум 3.0.0.4.384 версия).
- 4G-AC53U/
- Blue Cave.
- RT-AC1200G/HP/G+/E/GU.
- RT-AC1300UHP/G+.
- RT-AC1200/AC1750/AC1900.
- RT-AC1750 B1.
- RT-AC1900P/U.
- RT-AC2200/2400/2600/2900/3100/3200.
- RT-AC51U/U+.
- RT-AC52U B1.
- RT-AC56U/R/S.
- RT-AC53/5300/55U/55UHP/57U/58U.
- RT-AC65P/65U/66U-B1/66U+.
- RT-AC66U/R/W.
- RT-AC68U/R/P/W/UF.
- RT-AC85P/85U/86U/87U-R/88U.
- RT-ACRH13/17.
- RT-N12+ B1.
- RT-N12E B1/C1.
- RT-N12D1-N12HP B1.
- RT-N12VP B1.
- RT-N14UHP/18U/19.
- RT-N66U/R/W/C1.
- AD7200 V1.
- Archer C5400 V1/C3200 V1/C3150 V1/C2600 V1/C2300 V1/A2300 V1/C1900 V1/C1200 V1.
- Archer C9 V1/C8 V1/C7 V2/C60 V1/C59 V1/C58 V1/C55 V1/C50 V1/C2 V1.
- Archer C900 V1/C25 V1/C20 V1/C20i V1.
- TL-WDR4300 V1/3600 V1/3500 V1.
- TL-WR1045ND V2/1043ND V3/1043N V5/949N V5/945N V1/942N V1/941ND V6.
- TL-WR940N V3/849N V4/845N V1/843N V4/842N V3/841ND V9/841N V9/.
- TL-WR840N V2/749N V6/741ND V5/740N V5/941HP V1/841HP V2/.
- Некоторое оборудование DSL и усилители беспроводного сигнала.
- DIR-300S/300A/615S/615A/620S/822/853/878/879/882.
- DIR-300/A/D.
- DIR-615/Т
- DIR-615/GF.
- DIR-615/A/N1.
- DIR-806A/B1.
- DIR-806A/C1.
- DIR-815/AC.
- DIR-815/R1.
- DIR-815/S.
- DIR-822/R1.
- DIR-825/AC/E1.
- DIR-825/AC/G1.
- DIR-825/R1.
- DIR-841/R1.
- DIR-842/R1.
- DWR-921/953/956/980.
- DWM-321/321D.
- DVG-N5402G/ACF.
- DVG-N5402SP/1S.
- DVG-N5402SP/2S1U.
Mi Wi-Fi поддерживает следующие модели: Mini WiFi, Mi Router 3, Mi WiFi 3c, Mi WiFi Router 3G, Mi WiFi Router HD, Pro R3P, Mi Nano и большинство других современных роутеров.
My.Keenetic поддерживает устройства c KeeneticOS версии 3.1 и выше (все модели с индексом KN-xxxx, а также Zyxel Keenetic Giga 3/Ultra 2/Air/Extra 2).
Tenda Wi-Fi поддерживает следующие модели: Nova MW XX, 11AC X/11AC XX, F9, FH1206, 4GXX, G0-5G-PoE, G0-5G.
Есть у меня хороший знакомый, владелец весьма уютного и популярного кафе в Суздале, которое недавно пережило реновацию и расширение. Денег в интерьеры вложено было много, дело наконец дошло и до Wi-Fi. На фоне вентилирования этого дела, мой знакомый пошел все разузнавать у всех по кругу и схлестнулся в дискуссии со своим родственником (юристом по профессии), на тему волен ли он делать, что захочет в своем «кафе с претензией на ресторан», если это не вредит гостям – конкретно, речь пошла о едином Wi-Fi доступе гостям во всех залах и на веранде ресторана к будущему лету.
На примере недавно обвайфаенного офиса в московской компании, я собирался ему рекомендовать Edimax PRO, так как по сей день проблем с этим оборудованием не возникло, а ценник приемлемый. После дискуссии с родственником юристом, мой знакомый вернулся ко мне с репликой, что мол будет без вариантов заказывать более широкий канал вместе с оборудованием у местного телекома, который и прикроет его от всех потенциальных претензий надзирающих органов «если что». Ему родственник якобы подробно объяснил, что теперь обязана быть какая-то хитрая авторизация и учет подключившихся гостей, что может дать только телеком с его собственным оборудованием.
В результате я сказал, своему мегаресторатору «обожди, ничего не делай пару дней» и занялся изучением этого вопроса с двух сторон: с точки зрения чтения законодательной базы и того, что мы можем «сварить» из имеющегося Эдимакса, не подключая дорогие «магнетические сферы» в лице местного ОПСа.
Делюсь результатами моей работы, которая вылилась в простом, на мой взгляд, способе авторизации WiFi пользователей по СМС.
Максимум на что я был внутренне готов – это скулибинствовать что-то вокруг GSM-шлюза на raspberry и скрипте, но по факту «все придумали до нас».
По итогам изучения законо-талмудов, выяснилось, что действительно, публичный доступ в WiFi сеть теперь регламентирован и уже достаточно давно, с июля 2014 года, когда вышло постановление правительства №758, суть которого сводится к тому, что анонимным пользователям заходить в открытую WiFi сеть теперь нельзя. Всех пользователей нужно авторизовывать, да еще полгода хранить данные о них самих, времени и объеме оказания услуг. Для владельцев кафе, ресторанов, таких как мой знакомый, а также и мелких магазинов, отелей, клиник, турагентств и прочего бизнеса из сферы обслуживания, что хотят завлечь клиентов бесплатным вай-фаем – это получается, говоря простым языком, геморрой, непрофильная затрата денег и времени на сопутствующую отнюдь не главную тему, причем с привязкой к конкретному оператору связи надолго. Любое перепрыгивание на другой телеком будет рождать целую цепочку проблем, которую надо будет заново решать.
Но закон есть закон и строго говоря, даже то, что у моего cуздальца раньше в старом здании кафе стоял простой роутер на окне в зале – это получается уже было нарушение. И если идти в лоб, то выбор тут простой: либо идти на поклон крупным операторам связи (не каждый местный кстати оказывает такую услугу), отдавая им часть прибыли за предоставление телематических услуг, либо выдергивать кабель из порта RJ45 точки доступа своего любимого заведения.
Но есть и третий способ, которым и хочу поделиться.
Десятки раз видел в EDIMAX’е, эту настройку на их контроллере и никогда не думал о том, что она мне пригодится. Пригодилась! Собственно, проблема знакомого решилась всего за 3 минуты эксперимента, что и описываю далее.
Подробнее о способе. О хорош тем, что:
А) закон не нарушаем и авторизуем пользователей строго по закону, то есть по СМС, со всеми необходимыми данными идентификации личности.
Б) деньги операторам не платим, пусть довольствуются тем, что мы у них покупаем канал.
Единственный минус – нужно купить девайс, а именно контроллер Edimax PRO APC500 и потратить время на его настройку. Но деньги платятся один раз, возможностей получаем кучу. В опытных руках настройка занимает действительно три минуты и даже меньше – ровно столько и длится ролик:
Собственно, этой настройке и посвящена короткая статья. Теперь по порядку:
1. Включаем контроллер Edimax APC500 в сеть. Наличие точек или готовых развернутых сетей Wi-Fi не обязательно. Замечу, что у контроллера есть 8 Гб для хранения данных подключения. Captive portal можно включать и выключать в любой момент. Или переключаться между пресетами.
2. Если в сети присутствует DHCP сервер – нужно найти какой IP получил контроллер. Если DHCP сервера нет – IP по умолчанию 192.168.2.1 и видим страницу настроек NMS (здесь и далее скриншоты с приведенного выше видео):
>NMS Settings>System Accounts
В контроллере АРС500 сервис отправки СМС уже встроен и работает на базе двух предустановленных операторов связи. Они используют заведомо лучшее ПО и аппаратную часть, нежели оборудование, которое может использовать отдельная частная компания, например, GSM-шлюз. (Понятно, что кафе или кофейня даже и думать не могут о таком шлюзе, да он им и не нужен). Сервис же оператора, крайне дешев и, насколько я знаю, может осуществлять рассылки до миллиона СМС и не требует наличия повышенного внимания и для поддержки.
В России, такой сервис предоставляет провайдер Stream Telecom (Стрим Телеком). Допускаю, что много кто еще, но прямо в контроллере Эдимакса он уже прошит заранее как родной. Поэтому для начала необходимо выполнить подготовительную работу – зарегистрироваться на сайте оператора и завести свой аккаунт. Вы получите логин и пароль, которые нужно будет ввести в меню контроллера.
На этом настройки авторизации по СМС завершена.
4. Теперь нужно установить, кто из Wi-Fi пользователей будет авторизовываться посредством СМС. Для этого необходимо создать две группы пользователей: Frontdesk и Guest group. Далее мы должны установить, что пользователи будут динамические и по необходимости выбрать веб-сайт для переадресации.
6. Так же можно настроить саму страницу Captive Portal, куда вывести свои лого, шаблоны графики, полностью или частично изменить лицензионное соглашение. Как видно, ничего заумного в настройке нет, ее может освоить любой человек, хоть немного знакомый с администрированием.
Ну собственно, вот и все, владелец теперь может не опасаться штрафов за незаконную раздачу трафика, а с учетом того, что он вот-вот собирается открывать флигель с мини-гостиницей, ему придется докупать еще десяток точек и управлять с ими все равно будет удобнее с контроллером, чем без него. Соответственно, вложение единоразовое и надолго, а, следовательно, стратегически осмысленное.
Читайте также: