Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Сможешь найти все слова, спрятанные в пузырях? Скорее заходи в игру и проверь!

Слова в пузырях

Казуальные, Головоломки, Словесная

Играть

Топ прошлой недели

  • CharlotteLink CharlotteLink 1 пост
  • Syslikagronom Syslikagronom 7 постов
  • BydniKydrashki BydniKydrashki 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Oracle

С этим тегом используют

SQL IT Программирование Собеседование База данных Mysql Postgresql Все
115 постов сначала свежее
8
IliaHohlov
IliaHohlov
4 года назад

Уроки ORACLE. Программирование в PL/SQL. Коллекции, ассоциативные массивы, VARRAY. Примеры использования коллекций⁠⁠

Типы коллекций в ORACLE. Ассоциативные массивы. VARRAY. NESTED TABLE. Создание типов. Ключевое слово TYPE. IS TABLE OF, INDEX BY, PLS_INTEGER.

Методы массивов. FIRST, LAST, EXISTS, DELETE, EXTEND.

[моё] Oracle Коллекция Видео
3
44
HUNY
HUNY
4 года назад

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle⁠⁠

Привет Пикабу!

В этой статье мы сделаем (установим) своего личного MQTT брокера Mosquitto для контроля датчиков IoT-устройств на ESP и их дальнейшей связки с системой умного дома (например Home Assistant). А устанавливать будем на Ubuntu 20.04 установленную на Always Free VPS сервер от Oracle (по аналогии можно и на любом другом сервере).

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Esp8266, Интернет вещей, Брокер, Длиннопост
Вместо предисловия или disclaimer )))
Наполняю не спеша свой аккаунт на Пикабу полезной информацией по тематике "Умный дом". Обращаю Ваше внимание, что это будут не всегда полноценные и пошаговые инструкции и туториалы, а скорее выдержки типа "шпаргалок", на случай посмотреть, если забыл. Ну как бы я буду писать здесь "шпаргалки" и "запоминалки" для себя и на будущее, а Вы можете ими пользоваться или нет, как в старые добрые институтские времена.... ))) Поэтому любой мой пост не претендует на правильность высказанного в нём моего мнения и истину моих умозаключений в конечной инстанции, я просто делюсь своим скромным опытом. Всё что Вы будете делать и повторять по моим постам, Вы делаете на свой страх и риск ;-)

Предпосылки к созданию своего личного MQTT брокера у меня появились после того, как узнал, что скоро сервер брокера (располагающийся ранее по адресу mqtt.wifi-iot.com) которым я пользовался на сайте конструктора прошивок wifi-iot.com выключат (уже):

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Esp8266, Интернет вещей, Брокер, Длиннопост

Бесплатный сервер VPS для установки Linux для нашего MQTT брокера мы уже нашли здесь, и установили на него Ubuntu 20.04 здесь. (далее подразумевается, что всё это или аналоги у вас уже есть).

Ещё одно примечание, MQTT брокер можно поставить и на домашний - локальный сервер (зачастую это проще и логичнее), даже на край на туже самую ESP, здесь рассматривается пример именно для случаев, когда нужен внешний брокер, но способ конечно подходит и для локальной установки.

Итак, приступаем к установке.


Подключаемся через PuTTy по SSH к своему серверу

(Как? По этой ссылке в конце поста мы это уже делали.)


Подготовим систему.

1) Для получения списка и обновления новых пактов, выполните:

sudo apt-get update && apt-get upgrade -y

2) Устанавливаем  MQTT брокер Mosquitto:

sudo apt install mosquitto mosquitto-clients -y

3) Сразу настроим для  Mosquitto подписку по логину и паролю (пример логина - pikabu):

sudo mosquitto_passwd -c /etc/mosquitto/passwd pikabu

4) Далее, по запросу, нужно ввести два раза ваш пароль для Mosquitto:

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Esp8266, Интернет вещей, Брокер, Длиннопост

Связка логин-пароль будет храниться по следующему пути /etc/mosquitto/passwd

5) Запретим анонимные подключения к Mosquitto. Открываем файл default.conf:

sudo nano /etc/mosquitto/conf.d/default.conf

6) Он должен быть пустой, вставляем туда этот текст:

allow_anonymous false

password_file /etc/mosquitto/passwd

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Esp8266, Интернет вещей, Брокер, Длиннопост

Сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.

7) Перезагружаем Mosquitto чтобы применить изменения:

sudo systemctl restart mosquitto


Проверим работоспособность брокера.

Войдите на свой сервер через PuTTy ещё раз (откройте второе окно терминала рядом) и введите в него следующую команду (подписка на брокера) со своим логином и паролем:

mosquitto_sub -h localhost -t test -u "pikabu" -P "ваш_пароль"

а в первом открытом окне отправляем топик введя команду вида:

mosquitto_pub -h localhost -t "test" -m "Privet Pikabu" -u "pikabu" -P "ваш_пароль"

Во втором окне терминала у вас должно появиться ваше сообщение (в примере "Privet Pikabu"):

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Esp8266, Интернет вещей, Брокер, Длиннопост

На этом этапе  MQTT брокер Mosquitto  у нас успешно запущен и защищён паролем.


Ниже пару нюансов для нашей VPS от Oracle:

Настроим брандмауэр IPTABLES (для нашей виртуальной машины на сервере Oracle).
Команды вводим от своего пользователя!
sudo iptables --policy INPUT ACCEPT
sudo iptables -F
sudo iptables -A INPUT -p tcp --dport 1883 -m state --state NEW -j ACCEPT
sudo netfilter-persistent save
sudo ufw disable

Откройте  порт 1883 на VPS от Oracle. Для этого открываем ссылку в письме, которая пришла после регистрации в Oracle, вводим логин и пароль и попадаем в свою учетку, где следуем по пути:Сети - Виртуальные облачные сети - vcn- (ВАШ) - Сведения о списках безопасности

Альтернативный способ попасть туда из главного окна: "Настроить сеть с помощью мастера", "Запуск мастера VNC" нужно нажать "отмена", кликаем на свой "VNC-номер", далее в "ресурсах" нажимаем на "Списки безопасности" и кликаем на "Default Security List for vcn-номер"

где добавляем правила для входящего трафика:

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Esp8266, Интернет вещей, Брокер, Длиннопост

Почти В С Ё!!! ;-) ***


*** Настоятельно рекомендую настроить и включить шифрование SSL, например через сертификаты Let Encrypt, ибо если оставить так, то данные через интернет будут передаваться в не зашифрованном виде. В рамках этого поста этой инструкции не будет, только ключевые фразы в предыдущем предложении для поиска информации в интернете .

В заключении несколько примеров применения MQTT брокера Mosquitto:

Для пользователей сервиса wifi-iot.com, у которых в прошивке включен сервис "MQTT клиент" ("ESP" - "Сервисы" - "MQTT клиент") и недавно "всё поломалось" уже можно ввести новые данные только что настроенного вами личного MQTT брокера Mosquitto и радоваться жизни. ;-)

Пример настройки, подробнее здесь:

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Esp8266, Интернет вещей, Брокер, Длиннопост

Для проверки работоспособности брокера можно скачать MQTT Explorer для своей операционной системы.

Вводим данные своего  MQTT брокера Mosquitto:

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Esp8266, Интернет вещей, Брокер, Длиннопост

И наблюдаем свои топики (или управляем своим устройством, если настроено).


Ниже мой наглядный пример, который только-что создал.


"ESP-OFICE" это топик ESP8266 c прошивкой на базе конструктора  WiFi-IoT, у которой на борту датчик углекислого газа - CO2 (MH-Z19B), датчик температуры давления и влажности BME280 и уличный датчик температуры DS18B20. Моё видео о нём можно посмотреть здесь.


"homeassistant" через плагин, который  показывает статус "online" тестовой системы Home Assistant установленной на этом же сервере.


"broker" - это непосредственно сам MQTT брокера Mosquitto, где мы видим, опубликованное ранее в этом посте, сообщение через терминал "Privet Pikabu" )))

Бесплатный и Личный MQTT брокер (Mosquitto) для  IoT-устройств. На базе Ubuntu 20.04 на Always Free VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Esp8266, Интернет вещей, Брокер, Длиннопост

На этом пока пожалуй всё по этой теме ;-)


Всем пока и "бобра"! ;-)

Показать полностью 8
[моё] Умный дом Home Assistant Ubuntu Linux VPS Oracle Виртуальная машина Esp8266 Интернет вещей Брокер Длиннопост
29
99
HUNY
HUNY
4 года назад

Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома")⁠⁠

Привет Пикабу!

Сегодня установим Home Аssistant Supervised на Ubuntu 20.04 на VPS сервере от Oracle.

Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

Этот пост является продолжением моего предыдущего: "Ставим тестовую систему "Умного дома". Или установка Home Аssistant на Ubuntu 20.04 на бесплатный VPS сервер от Oracle". Там раскрыта мысль, почему ставим тестовую систему, а не на постоянной основе.


Отличие Home Аssistant Supervised от Home Assistant Core и других вариантов - это наличие Superviser, с помощью которого становятся доступны различные плагины. Очень схож с базовой Home Assistant OS, например есть "магазин Hassio", но при этом у вас есть доступ к операционной системе. Легче осуществлять интеграции с основной операционной системой, так как скрипт устанавливает все пакеты прямо внутрь неё, в отличии от Home Assistant Container, что кстати может являться и минусом для кого-то.

На странице установщика написано: "Этот метод считается продвинутым и должен использоваться только в том случае, если вы являетесь экспертом в управлении операционной системой Linux, Docker и сетями." Т.е. он может показаться проще, чем который я описал в предыдущем посте, но не факт, что для каждого.
Вообще рекомендую почитать первоисточник по различным способам установки, их отличиям и требованиям к пользователь. Эта статья лишь небольшое дополнение с несколькими нюансами по установки системы конкретно на Ubuntu 20.04, причём рассматриваем частный случай установки на  VPS сервере от Oracle, хотя способ подходит и для обычной Ubuntu 20.04.
Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост
Итак, к делу.


Подключаемся через PuTTy по SSH к своему серверу

(Как? По этой ссылке в конце поста мы это уже делали.)


Подготовим систему.

1) Для получения списка новых пактов, выполните:

sudo apt-get update

2) Для выполнения обновления пакетов, выполните:

sudo apt-get upgrade -y

3) Удаляем возможно оставшиеся зависимости пакетов:

sudo apt autoremove -y

4) Устанавливаем необходимые нам пакеты:

sudo apt-get install -y software-properties-common apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat

5)Деактивируем и отключаем ModemManager:

sudo systemctl disable ModemManager

sudo systemctl stop ModemManager

6) На всякий случай перезагружаем систему

reboot

7) Устанавливаем Docker:

curl -fsSL get.docker.com | sudo sh

8) Загружаем скрипт  "supervised-installer":

curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-...

9) И запускаем установку  одним из способов:

- установщик сам выбирает директории (папки установки):

sudo bash installer.sh

- мы выбираем директории (папки установки - нужно сначала создать)***:

sudo bash installer.sh -p /home -d $PREFIX/hassio (это пример, подробнее на фото)

Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост
*** для примера выше
sudo mkdir -p /home
sudo mkdir -p /home/sbin
sudo mkdir -p /home/bin
Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

Через несколько минут Home Assistant Supervised будет доступен по адресу ipaddress:8123 (ip-address вашей виртуальной машины) в браузере, где должна открыться такая страничка. Вводим свои данные (регистрируемся) и настраиваем/тестируем систему....

Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

Если спустя 5-10 минут после установки у Вас не по прежнему не открывается стартовая страница homeassistant, то убедитесь, что открыт порт 8123 на VPS от Oracle (если не сделали этого ранее). Для этого открываем ссылку в письме, которая пришла после регистрации в Oracle, вводим логин и пароль и попадаем в свою учетку, где следуем по пути:Сети - Виртуальные облачные сети - vcn- (ВАШ) - Сведения о списках безопасности

Альтернативный способ попасть туда из главного окна: "Настроить сеть с помощью мастера", "Запуск мастера VNC" нужно нажать "отмена", кликаем на свой "VNC-номер", далее в "ресурсах" нажимаем на "Списки безопасности" и кликаем на "Default Security List for vcn-номер"

где добавляем правила для входящего трафика:

Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост
Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

В С Ё!!! Готово! Тестируйте на здоровье ;-)


UPD: Если у Вас на странице "Supervisor" - "System" систем такая ошибка, как на фото  ниже и Вы не можете устанавливать приложения из "Add-on Store"

Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

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

sudo docker restart hassio_supervisor


После этого подождите пару минут и эта ошибка исчезнет и вы сможете устанавливать приложения ;-)

Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

Ну, а на оставшуюся "красную надпись" просто не обращаем внимание, ибо..

Установка Home Аssistant Supervised (в Docker) на Ubuntu 20.04 на бесплатном VPS сервере от Oracle. (Тестовая система "Умного дома") Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

На этой прозаической ноте у меня всё. Спасибо за внимание!

Всем пока и  "бобра"! ;-)

Показать полностью 9
[моё] Умный дом Home Assistant Ubuntu Linux VPS Oracle Виртуальная машина Длиннопост
36
106
HUNY
HUNY
4 года назад

Ставим тестовую систему "Умного дома". Или установка Home Аssistant на Ubuntu 20.04 на бесплатный VPS сервер от Oracle⁠⁠

Привет Пикабу!

Cегодня установим  тестовую систему умного дома Home Assistant на Ubuntu 20.04, которую в этом посте  мы установили на бесплатный VPS сервер от Oracle (без использования Docker).

ВАЖНО! ТЕСТОВУЮ!  Для "попробовать, что это за зверь такой", пока не решились на установку дома своего сервера или покупку Raspberry, ибо Умный дом нужно ставить на локальном сервере! Напомню, что в этой статье я рассказывал почему мой выбор остановился на системе HomeAssistan, которая является домашней автоматизацией с открытым исходным кодом и которая ставит на первое место локальный контроль и конфиденциальность!

Учитывая выше сказанное, ставить "Умный дом" на чужой сервере - "Ну, такое себе" )))

Ставим тестовую систему "Умного дома". Или установка Home Аssistant на Ubuntu 20.04 на бесплатный VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост
Вместо предисловия или disclaimer )))
Начинаю потихоньку наполнять свой аккаунт на Пикабу полезной информацией по тематике Умный дом. Обращаю Ваше внимание, что это будут не всегда полноценные и пошаговые инструкции и туториалы, а скорее выдержки типа "шпаргалок", на случай посмотреть, если забыл. Ну как бы я буду писать здесь "шпаргалки" и "запоминалки" для себя и на будущее, а Вы можете ими пользоваться или нет, как в старые добрые институтские времена.... ))) Поэтому любой мой пост не претендует на правильность высказанного в нём моего мнения и истину моих умозаключений в конечной инстанции, я просто делюсь своим скромным опытом. Всё что Вы будете делать и повторять по моим постам, Вы делаете на свой страх и риск ;-)

Для тех, кто уже знаком с разными видами установки Home Assistant  (благо информации на эту тему в интернете полно) нужно будет учесть только пару нюансов по открытию портов в самой "web-морде" вашей учетки Oracle VPS, ни и конечно настройки файрвола. Примеры этого есть в конце моего этого поста.


В этом посте мы рассмотрим установку Home Аssistant (Home Assistant Core) в виртуальном окружении Python (без использования Docker).

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

Второй, более "простой" способ (на мой взгляд) установки "Home Assistant Supervised (в Docker) на Ubuntu 20.04 на бесплатный VPS сервер от Oracle" опишу в своём следующем посте, а так как у нас фактически две виртуальные машины от Oracle, можно будет протестировать оба варианта (каждый на своей) и выбрать для себя наиболее подходящий. )))


Итак, к делу.

Подключаемся через PuTTy по SSH к своему серверу

(Как? По этой ссылке в конце поста мы это уже делали.)


Подготовим систему.

1) Для получения списка новых пактов, выполните:

sudo apt-get update

2) Для выполнения обновления пакетов, выполните:

sudo apt-get upgrade -y

Инструкция ниже составлена на основе "Manual installation on a Raspberry Pi" с официального сайта Home Assistant.

Ручная установка Home Assistant Core в виртуальной среде Python на на Ubuntu 20.04.

1) Устанавливаем необходимые нам пакеты для питона (vens, pip….):

sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5

2) Создаём пользователя и добавляем в группу dialout:

sudo useradd -rm homeassistant -G dialout

3) Создадим папку homeassistant в папке srv:

cd /srv

sudo mkdir homeassistant

4) и назначим её владельцем пользователя homeassistant:

sudo chown homeassistant:homeassistant homeassistant

5) Создание и изменение виртуальной среды (вводите лучше построчно):

sudo -u homeassistant -H -s

cd /srv/homeassistant

python3.8 -m venv .  (пробел и точка нужна)

source bin/activate

6) Устанавливаем  необходимый пакет Python:

python3 -m pip install wheel

7) Устанавливаем Home Assistant Core:

pip3 install homeassistant

8) Эта команда создаёт каталог конфигурации и установит все основные зависимости:

hass

Настроим брандмауэр IPTABLES (для нашей виртуальной машины на сервере Oracle), если не сделали это ранее. Команды вводим от своего пользователя, а не от homeassistant!!!
sudo iptables --policy INPUT ACCEPT
sudo iptables -F
sudo iptables -A INPUT -p tcp --dport 8123 -m state --state NEW -j ACCEPT
sudo netfilter-persistent save
sudo ufw disable

Через пару минут вводим ipaddress:8123 (ip-address вашей виртуальной машины) в браузере, где должна открыться такая страничка. Вводим свои данные (регистрируемся) и настраиваем/тестируем  систему....

Ставим тестовую систему "Умного дома". Или установка Home Аssistant на Ubuntu 20.04 на бесплатный VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

Если необходимо создать сервис, который будет запускать homeassistant при перезапуске системы, то создаём файл сервиса:

sudo nano /etc/systemd/system/homeassistant@homeassistant.service

Вставляем туда этот текст:

[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
[Install]
WantedBy=multi-user.target
Сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.

Активировать наш сервис в системе и запускаем его:

sudo systemctl --system daemon-reload

sudo systemctl enable homeassistant@homeassistant.service

sudo systemctl start homeassistant@homeassistant.service


Чтобы обновить Home Assistant Core до последней версии, введите команды:
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
Если потребуется активировать виртуальную среду, то введите следующие команды:
sudo -u homeassistant -H -s

source /srv/homeassistant/bin/activate


Как-то так у Вас будет выглядеть главная станица после регистрации :-)

Ставим тестовую систему "Умного дома". Или установка Home Аssistant на Ubuntu 20.04 на бесплатный VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

Если спустя 5-10 минут после установки у Вас не по прежнему не открывается стартовая страница homeassistant, то убедитесь, что открыт порт 8123  на VPS от Oracle (если не сделали этого ранее). Для этого открываем ссылку в письме, которая пришла после регистрации в Oracle, вводим логин и пароль и попадаем в свою учетку, где следуем по пути:Сети - Виртуальные облачные сети - vcn- (ВАШ) - Сведения о списках безопасности

Альтернативный способ попасть туда из главного окна: "Настроить сеть с помощью мастера", "Запуск мастера VNC" нужно нажать "отмена", кликаем на свой "VNC-номер", далее в "ресурсах" нажимаем на "Списки безопасности" и кликаем на "Default Security List for vcn-номер"
где добавляем правила для входящего трафика:
Ставим тестовую систему "Умного дома". Или установка Home Аssistant на Ubuntu 20.04 на бесплатный VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост
Ставим тестовую систему "Умного дома". Или установка Home Аssistant на Ubuntu 20.04 на бесплатный VPS сервер от Oracle Умный дом, Home Assistant, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, Длиннопост

В С Ё!!! Готово!  Тестируйте на здоровье ;-)


Всем пока и "бобра"! ;-)

Показать полностью 5
[моё] Умный дом Home Assistant Ubuntu Linux VPS Oracle Виртуальная машина Длиннопост
9
173
egouho
egouho
4 года назад

Ответ на пост «Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)»⁠⁠2

Создаём свой VPN сервер IPsec / L2TP + Wireguard.

Будем ходить в интернет легко и по большому.


Во-первых спасибо амиго HUNY за интересный и полезный цикл постов.

Все повторяется без проблем, хотя я столкнулся с одной неожиданностью и одной трудностью.


Неожиданностью оказался звонок из Оракла, видимо из-за резкого наплыва пользователей они решили в ручном режиме что-то провер[и|я]ть. Мне позвонила англоговорящая тётенька, представилась что она из Оракла, я спросил чем бы я ей мог помочь, она сказала что хочет узнать как меня зовут и в какой компании я работаю. Я подтвердил что меня зовут Вася Пупкинсон, а вот насчет компании я сказал, что я написал в регистрационной форме "Home" поскольку собираюсь протестировать их сервисы исключительно в личных целях. Видимо я был достаточно вежлив и убедителен так что она сказала что немедля отправит мне имейл с подтверждением регистрации и доступом к телу (сервера).


Амиго HUNY написал очень толковую инструкцию, так что в скором времени у меня был свой работающий VPN сервер, но .... возникла маленькая трудность - мой телефон Xiaomi Redmi Note 8T напрочь отказался подключаться к этому серверу. Быстрое гугление показало что я не одинок в своих проблемах, пользователи xiaomi уже давно жалуются на неработающий vpn  в телефонах  https://c.mi.com/thread-2569606-1-0.html?mobile=no


Я подумал - а что если мне, на этот уже работающий VPN сервер, сверху еще доставить альтернативный vpn сервер Wireguard, тогда может быть можно будет подключаться к vpn хоть так хоть эдак. Не буду рассказывать как я боролся со всяческим файрволами, перейду сразу к инструкциям.


Итак по инструкциям HUNY вы получили работающий VPN сервер.

Добрые люди приготовили для нас легкий инсталлятор Wireguard, он лежит на https://github.com/angristan/wireguard-install

Зайдите в свой сервер и терминале напишите  команды

curl -O https://raw.githubusercontent.com/angristan/wireguard-instal...

chmod +x wireguard-install.sh

sudo ./wireguard-install.sh


Скрипт задаст вам несколько вопросов и быстренько всё установит:

~$ sudo ./wireguard-install.sh

Welcome to the WireGuard installer!

The git repository is available at: https://github.com/angristan/wireguard-install

I need to ask you a few questions before starting the setup.

You can leave the default options and just press enter if you are ok with them.

IPv4 or IPv6 public address: СЮДА ВЫ ВПИСЫВАЕТЕ РЕАЛЬНЫЙ IP ВАШЕГО СЕРВЕРА

Public interface: ens3

WireGuard interface name: wg0

Server's WireGuard IPv4: 172.22.22.1 ЕСЛИ В ВАШЕЙ ЛОКАЛКЕ НЕТ АДРЕСОВ 172.22.x.x ТОГДА ПИШИТЕ  ЭТО

Server's WireGuard IPv6: fd42:42:42::1

Server's WireGuard port [1-65535]: 4600 ПИШИТЕ 4600, ПОТОМ ФАЙРВОЛ БУДЕМ НАСТРАИВАТЬ

First DNS resolver to use for the clients: 94.140.14.14

Second DNS resolver to use for the clients (optional): 94.140.15.15

Okay, that was all I needed. We are ready to setup your WireGuard server now.

You will be able to generate a client at the end of the installation.

Press any key to continue...


Через несколько минут скрипт все установит,  задаст еще пару вопросов

Tell me a name for the client.

The name must consist of alphanumeric character. It may also include an underscore or a dash and can't exceed 15 chars.

Client name: Xiaomi8T  ИМЯ ВАШЕГО ПЕРВОГО КЛИЕНТА ДЛЯ ВПН, ПРИДУМАЙТЕ ЧТО НИБУДЬ

Client's WireGuard IPv4: 172.22.22.2 АДРЕС ДЛЯ НЕГО, ОСТАВЬТЕ ПО УМОЛЧАНИЮ

Client's WireGuard IPv6: fd42:42:42::2

Here is your client config file as a QR Code:

и выведет на экран картинку QR кода.


Оставьте это окно терминала как есть, оно вам пригодится чтобы не вводить руками в телефон все данные для vpn подключения. Или прямо сейчас возьмите смартфон, установите на него клиент WireGuard https://play.google.com/store/apps/details?id=com.wireguard....

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

Если вы не сосканировали код тогда откройте еще одно соединение с сервером (запустите еще раз putty). Напишите команду

sudo nano /etc/iptables/rules.v4


найдите там строку

-A INPUT -p udp -m multiport --dports 500,4500 -j ACCEPT

и сделайте из нее

-A INPUT -p udp -m multiport --dports 500,4500,4600 -j ACCEPT

Сохраните файл Ctrl-X  Y и Enter


Напишите команду

sudo nano /etc/wireguard/wg0.conf


Найдите там длинную строку

PostUp = iptables -A FORWARD -i ens3 -o wg0 -j ACCEPT; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

В этой строке все -A на поменять на -I (i большое) так что строка будет вот такой

PostUp = iptables -I FORWARD -i ens3 -o wg0 -j ACCEPT; iptables -I FORWARD -i wg0 -j ACCEPT; iptables -t nat -I POSTROUTING -o ens3 -j MASQUERADE; ip6tables -I FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -I POSTROUTING -o ens3 -j MASQUERADE

Сохраните файл Ctrl-X Y и Enter


И последнее действие, надо в глобальном Оракловском файрволе добавить проброс порта 4600 (вспоминайте инструкцию HUNY, он там прокидывал порты 500 и 4500) см. картинку ниже.

Перезагрузите сервер sudo reboot и теперь можно пробовать подключаться смартфоном.


Клиенты WireGuard для различных ОС можно скачать тут - https://www.wireguard.com/install/

Пока мы с вами создали подключение для одного клиента/устройства, чтобы создать еще подключения запустите в терминале еще раз скрипт

sudo ./wireguard-install.sh

и так далее.

Ответ на пост «Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)» Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Ответ на пост, Длиннопост
Показать полностью 1
[моё] Умный дом Ubuntu Linux VPS Oracle Виртуальная машина VPN Home Assistant Ответ на пост Длиннопост
53
497
6ap6oc
6ap6oc
4 года назад

Ответ на пост «Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)»⁠⁠2

В посте, на который идет данный ответ, автор не упомянул такую штуку как WireGuard. Хотя в комментариях он упоминался. Как по мне, это реально самый простой метод поднять VPN туннель с высокой и стабильной скоростью.
Из реального опыта пользования:
Уже год ввиду некоторой специфики держу на нем сервера игры Minecraft + MySql + DiscordApps + HTTP траффик, ну и парочка девайсов для общего пользования интернетом.
Общая картина сети выглядит примерно так (paint master ON):

Ответ на пост «Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)» Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Ответ на пост, Длиннопост

Извиняюсь за "пэинтность" картинки, нарисовал  по быстрому в сплане.
Для общего понимания - через построенный VPN туннель на базе WireGuard у меня в месяц идет трафик порядка 4ТБ. Аптайм каналов равняется аптайму самих серверов. За год было только три сбоя с самим WG - два раза это обновления/патчи ПО, связанного с сетью, после чего трафик заворачивался в "дулю", и один раз хостер на основной VPS изменил настройки сети и у меня "отвалился" порт.
Пинги у игроков выходят крайне низкие, скорость доступа высокая, никаких заморочек для повторных соединений не требуется.
Из минусов WireGuard стоит отметить дополнительную нагрузку на ЦП, что на мобильных устройствах сказывается на повышенном потреблении заряда батареи.

Так что же это за зверь такой, WireGuard?

WireGuard - это бесплатное программное приложение с открытым исходным кодом и протокол связи, который реализует методы виртуальной частной сети (VPN) для создания безопасных соединений точка-точка в маршрутизируемых или мостовых конфигурациях

А теперь проще. Для запуска VPN-туннеля нам потребуется только 1 сервер, с которым мы будем соединятся и с которого мы будем "ходить" в сеть. На клиентских устройствах нет необходимости иметь "белый" Ip, пробрасывать порты и заниматься подобным безобразием, так как WG работает с помощью широковещательной рассылки - основной сервер "слушает" нужный порт и отвечает на приходящие запросы.
На примере ниже опишу как настроить канал клиент-сервер на примере Ubuntu 18.04 и Android, но для других ОС процесс практически не отличается, почитать можно на английском тут
В качестве заметки - рекомендую использовать для SSH Bitvise SSH Client, как по мне он очень удобный.


(Далее текст частично копипаста)


WireGuard поддерживает свой собственный репозиторий APT, из которого мы будем устанавливать пакет и обновлять его при появлении новой версии.

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

sudo apt update
sudo apt install software-properties-common

Добавьте репозиторий WireGuard:

sudo add-apt-repository ppa:wireguard/wireguard

При появлении запроса нажмите Enter, чтобы продолжить. add-apt-repository также автоматически обновит список пакетов.

Установите пакет WireGuard:

sudo apt install wireguard

WireGuard работает как модуль ядра, который скомпилирован как модуль DKMS. В случае успеха вы увидите следующий вывод:

wireguard:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/4.15.0-88-generic/updates/dkms/
depmod...
DKMS: install completed.

При обновлении ядра модуль WireGuard будет скомпилирован с новым ядром.


Настройка.

WireGuard поставляется с двумя инструментами командной строки: wg и wg-quick, которые позволяют вам настраивать и управлять интерфейсами вашего туннеля.

Выполните следующую команду, чтобы сгенерировать открытый и закрытый ключи:

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

Файлы будут сгенерированы в каталоге /etc/wireguard. Вы можете просматривать файлы с помощью cat или less. Закрытый ключ никогда не должен никому передаваться.
Теперь, когда ключи сгенерированы, нам нужно настроить туннельное устройство, которое будет маршрутизировать трафик VPN.

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

Создайте новый файл с именем wg0.conf и добавьте следующее содержимое:

sudo nano /etc/wireguard/wg0.conf
/etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE

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

Адрес – разделенный запятыми список IP-адресов v4 или v6 для интерфейса wg0. Используйте IP-адреса из диапазона, зарезервированного для частных сетей (10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16).

ListenPort – порт, на который WireGuard будет принимать входящие соединения.

PrivateKey – закрытый ключ, сгенерированный командой wg genkey. (Чтобы увидеть содержимое файла запуска: sudo cat /etc/wireguard/privatekey)

SaveConfig – при значении true текущее состояние интерфейса сохраняется в файле конфигурации при завершении работы.

PostUp – команда или скрипт, который выполняется до запуска интерфейса. В этом примере мы используем iptables для включения маскировки. Это позволит трафику покинуть сервер, предоставив VPN-клиентам доступ в Интернет. Обязательно замените ens3 после -A POSTROUTING, чтобы соответствовать имени вашего общедоступного сетевого интерфейса. Вы можете легко найти интерфейс, выполнив следующую команду:

ip -o -4 route show to default | awk '{print $5}'

PostDown – команда или сценарий, который выполняется перед выключением интерфейса. Правила iptables будут удалены после отключения интерфейса.

Файлы wg0.conf и privatekey не должны быть доступны для чтения для обычных пользователей. Используйте chmod для установки разрешений 600:

sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}

Когда закончите, приведите wg0 интерфейс в действие, используя атрибуты, указанные в файле конфигурации:

sudo wg-quick up wg0

Команда выдаст вывод, подобный следующему:

[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.0.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

Запустите wg show wg0 для проверки состояния интерфейса и конфигурации:

sudo wg show wg0

interface: wg0

public key: r3imyh3MCYggaZACmkx+CxlD6uAmICI8pe/PGq8+qCg=

private key: (hidden)

listening port: 51820

Чтобы вывести интерфейс WG во время загрузки системы, выполните следующую команду:

sudo systemctl enable wg-quick@wg0


Сеть сервера и настройка брандмауэра

Чтобы NAT работал, нам нужно включить IP-пересылку. Откройте файл /etc/sysctl.conf и добавьте или раскомментируйте следующую строку:

sudo nano /etc/sysctl.conf
/etc/sysctl.conf
net.ipv4.ip_forward=1

Сохраните файл и примените изменения:

sudo sysctl -p
net.ipv4.ip_forward = 1

Если вы используете UFW для управления брандмауэром, вам нужно открыть UDP-трафик через порт 51820:

sudo ufw allow 51820/udp

Вот и все. Пир Ubuntu, который будет действовать как сервер, был настроен.

Настройка клиентов Linux и других ОС.

Инструкции по установке для всех поддерживаемых платформ доступны по адресу https://wireguard.com/install/. В системах Linux вы можете установить пакет с помощью менеджера дистрибутива и в MacOS с помощью brew. После установки WireGuard выполните следующие действия, чтобы настроить клиентское устройство.

Процесс настройки клиента Linux и macOS практически такой же, как и для сервера. Начните с создания открытого и закрытого ключей:

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

Создайте файл wg0.conf и добавьте следующее содержимое:

sudo nano /etc/wireguard/wg0.conf
/etc/wireguard/wg0.conf
[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.0.0.2/24
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_IP_ADDRESS:51820
AllowedIPs = 0.0.0.0/0

Настройки в разделе интерфейса имеют то же значение, что и при настройке сервера:

Адрес – разделенный запятыми список IP-адресов v4 или v6 для интерфейса wg0.

PrivateKey – Чтобы увидеть содержимое файла на клиентском компьютере, выполните: sudo cat /etc/wireguard/privatekey

Одноранговый раздел содержит следующие поля:

PublicKey – открытый ключ партнера, к которому вы хотите подключиться. (Содержимое файла сервера /etc/wireguard/publickey).

Конечная точка – IP-адрес или имя хоста узла, к которому вы хотите подключиться, за которым следует двоеточие, а затем номер порта, который прослушивает удаленный узел.

AllowedIPs – разделенный запятыми список IP-адресов v4 или v6, с которых разрешен входящий трафик для узла и на который направляется исходящий трафик для этого узла. Мы используем 0.0.0.0/0, потому что мы маршрутизируем трафик и хотим, чтобы одноранговый сервер отправлял пакеты с любым исходным IP.

Если вам нужно настроить дополнительные клиенты, просто повторите те же шаги, используя другой частный IP-адрес.

Добавьте клиентский узел на сервер

Последний шаг – добавить открытый ключ и IP-адрес клиента на сервер (выполнить команду на сервере):

sudo wg set wg0 peer CLIENT_PUBLIC_KEY allowed-ips 10.0.0.2

Убедитесь, что вы изменили открытый ключ CLIENT_PUBLIC_KEY, сгенерированный на клиентском компьютере ( sudo cat /etc/wireguard/publickey), и измените IP-адрес клиента, если он другой. Пользователи Windows могут скопировать открытый ключ из приложения WireGuard.

После этого вернитесь на клиентский компьютер и откройте туннельный интерфейс.

Клиенты Linux

На клиентах Linux выполните следующую команду, чтобы открыть интерфейс:

sudo wg-quick up wg0

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

sudo wg
interface: wg0
public key: sZThYo/0oECwzUsIKTa6LYXLhk+Jb/nqK4kCCP2pyFg=
private key: (hidden)
listening port: 48052
fwmark: 0xca6c
peer: r3imyh3MCYggaZACmkx+CxlD6uAmICI8pe/PGq8+qCg=
endpoint: XXX.XXX.XXX.XXX:51820
allowed ips: 0.0.0.0/0
latest handshake: 1 minute, 22 seconds ago
transfer: 58.43 KiB received, 70.82 KiB sent

Теперь осталось только открыть браузер, зайти на сайт 2ip.ru (или аналогичный), и увидеть Ip своего сервера VPN.

Чтобы остановить туннелирование, отключите интерфейс wg0:

sudo wg-quick down wg0

Теперь про Android.
Здесь все проще некуда. Для начала идем в плеймаркет и устанавливаем приложение WireGuard:

Ответ на пост «Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)» Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Ответ на пост, Длиннопост

Далее жмем синий плюс внизу

Ответ на пост «Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)» Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Ответ на пост, Длиннопост

Теперь осталось заполнить поля, согласно скриншоту ниже. Первый раздел идет как клиентский. После его заполнения жмем "Добавить пира" и вводим данные сервера. Не забудьте добавить публичный ключ клиента на сам сервер:

Ответ на пост «Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)» Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Ответ на пост, Длиннопост

Остался только пункт "Все приложения". Если его оставить как есть - то VPN будет работать для всех приложений на вашем смартфоне. В случае, если вы хотите чтобы только некоторые приложения ходили в сеть через VPN, нажмите на данный пункт и выберете раздел "Исключить" или "Только включить". В первом случае, из VPN-туннеля будут исключены выбранные вами приложения, во втором случае в туннеле будут работать только указанные.
После завершения настройки останется в главном меню только включить ползунок напротив вашего туннеля. На сервере можно будет проверить подключившегося клиента как в мануале выше:

sudo wg
При смене сети (мобильный интернет/wifi) траффик автоматически будет перенаправлятся на новые адреса устройств.
Достаточно длинный и скомканый пост вышел. Но все же, WireGuard позволяет реализовывать достаточно сложные сети с малейшими усилиями.
P.S. Minecraft тут чисто для примера. Адрес сервера не дам, ибо трафик с пикабу будет хуже ддоса)

Показать полностью 4
[моё] Умный дом Ubuntu Linux VPS Oracle Виртуальная машина VPN Home Assistant Ответ на пост Длиннопост
56
1816
HUNY
HUNY
4 года назад

Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)⁠⁠2

Привет Пикабу!

По многочисленным просьбам трудящихся, после публикации моего предыдущего поста (Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle для нужд Умного дома) поменял приоритет тематики своих постов и сегодня создадим свой VPN-сервер.

Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост

Такс, с чего начать? )))


Выберем протокол для VPN.


Мне известны эти: OpenVPN, PPTP, IPsec L2TP и IKEv2.


OpenVPN — считается самым простым и популярным вариантом, у которого скорость, защита и надежность на высоком уровне, но требует установки клиентского приложения, что не всегда удобно.

По самостоятельной настройке OpenVPN продвинутым пользователям я рекомендую эту статью. В этом руководстве предполагается, что центр сертификации находится на отдельном сервере Ubuntu 20.04, и как его сделать там тоже сказано, а Oracle нам как раз даёт две VPS. Хотя технически возможно использовать сервер OpenVPN на той же машине - компьютере в качестве центра сертификации, это не рекомендуется, поскольку это открывает вашу VPN для некоторых уязвимостей безопасности. Согласно официальной документации OpenVPN , вы должны разместить свой CA на автономном компьютере, который предназначен для импорта и подписи запросов на сертификаты.

L2TP/IPSec — собственно, именно этот протокол мы будем использовать в этой статье, т.к. найденный на github сценарий автоматической установки и настройки мне показался самым простым для новичков и "чайников" + подойдёт для установки не только на Ubuntu но и на Debian и CentOS. Недостаток этого протокола, пожалуй в том, что  он считается медленным и стандартные порты может закрыть ваш интернет-провайдер или сетевой администратор.

Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост
С VPN L2TP/IPSec, который мы установим, на устройстве нам нужно будет только ввести:
- IP адрес своего VPS сервера Oracle;
- 20-и значный ключ IPSec;
- Логин (имя пользователя) и пароль

PPTP — устаревший протокол, у которого конечно же достойная скорость подключения, но в плане защиты и конфиденциальности он на самом низком уровне и использовать его в проектах "Умного дома", я точно не рекомендую!


IKEv2 - считается протоколом с самой высокой степенью безопасности, стабильно подключается после разрыва соединения, быстрее, чем L2TP, но не очень простой в плане самостоятельной установки на сервер.


Я даже начал написание своего поста с него, адаптируя эту инструкцию под VPS сервер от Oracle:

Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост

но в итоге она мне показалось сложной для новичков и "чайников", удалил её  и решил оставить просто эту ссылку на оригинал, для продвинутых пользователей ;-)


На самом деле инструкций по ручной и автоматической установке VPN - сервера по любому протоколу в интернете существует +100500 и ещё столько же, поэтому напомню про свой disclaimer )))

Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост

Ну и наконец переходим к самому главному - установим VPN - сервер.

Особенности сервера, который мы будем устанавливать:
- Быстрее IPsec/XAuth ("Cisco IPsec") и поддерживается режим IKEv2;
- Доступен предварительно созданный Docker-образ VPN-сервера; 
- Полностью автоматизированная настройка IPsec VPN-сервера;

- Инкапсулирует весь трафик VPN в UDP - протокол ESP не нужен;

- Протестировано с Ubuntu, Debian, CentOS / RHEL и Amazon Linux 2


Вся наша установка сводится  к запуску сценария автоматической настройки с githab, мы лишь подготовим систему, пропишем 20-и значный ключ IPSec, логин и пароль для VPN + откроем порты для VPN в VPS от Oracle.

Другие варианты установки + дополнительная настройка IKEv2 (рекомендуется) смотрите в документации автора скрипта. Для параноиков - это "open source", исходный код скрипта смотрим там же :-)

Подключаемся через PuTTy по SSH к своему серверу (Как? В конце предыдущего поста мы это уже делали.)

1) Для получения списка новых пактов, выполните:

sudo apt-get update

2) Для выполнения обновления пакетов, выполните:

sudo apt-get upgrade

Не забываем нажать ""Y" - "Enter" ))

Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост

3) Скачиваем скрипт командой:

wget https://git.io/vpnsetup -O vpnsetup.sh

4) После завершения, открываем vpnsetup.sh для редактирования:

sudo nano -w vpnsetup.sh

В котором в одинарных кавычках указываем свои значения:
YOUR_IPSEC_PSK=' Защищенный PSK IPsec должен состоять мин из 20 случайных символов.'
YOUR_USERNAME=' Ваш логин для VPN'
YOUR_PASSWORD=' Ваш пароль для VPN'
Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост

5) Сохраняем и закрываем файл, нажав CTRL + X, Y, а затем ENTER.

6) Запускаем скрипт и идём на пару минут пить кофе ))

sudo sh vpnsetup.sh


В С Ё !!! Готово !!! :-)

Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост

В случае с нашим бесплатном VPS сервере от Oracle конечно ещё не всё )))


Нужно ещё открыть порты UDP 500 и 4500 для VPN на VPS от Oracle.

Для этого открываем ссылку в письме, которая пришла после регистрации в Oracle, вводим логин и пароль и попадаем в свою учетку, где следуем по пути:Сети - Виртуальные облачные сети - vcn- (ВАШ) - Сведения о списках безопасности

Альтернативный способ попасть туда из главного окна: "Настроить сеть с помощью мастера", "Запуск мастера VNC"  нужно нажать "отмена", кликаем на свой "VNC-номер", далее в "ресурсах" нажимаем на "Списки безопасности" и кликаем на "Default Security List for vcn-номер"

где добавляем правила для входящего трафика:

Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост
Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост

Теперь В С Ё !!! Готово !!! :-)


Если не знаете, как настроит клиентов IPsec / L2TP VPN, то можете почитать например - ЗДЕСЬ.


Скорость этого VPN соединения (локальная 80 МБ/сек) с сервером в Амстердаме у меня получилась такая:

Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка) Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Длиннопост

Всем пока и "бобра" ;-)

UPD:  На всякий случай настройки (открыть порты для этой VPN) для файрволла IPTABLES (мне не потребовалось):

sudo iptables --policy INPUT ACCEPT

sudo iptables -F
sudo iptables -A INPUT -p tcp --dport 500 -m state --state NEW -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 4500 -m state --state NEW -j ACCEPT
sudo netfilter-persistent save
sudo ufw disable
или
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw allow 500,4500/udp
sudo ufw disable
sudo ufw enable
Показать полностью 9
[моё] Умный дом Ubuntu Linux VPS Oracle Виртуальная машина VPN Home Assistant Длиннопост
266
322
HUNY
HUNY
4 года назад

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома"⁠⁠

Привет Пикабу!

В предыдущем посте мы успешно зарегистрировали бесплатный VPS - сервер от Oracle для сервисов Умного дома. Установка ОС Ubuntu 20.04 там у меня не уместилась, поэтому продолжаю в этом посте ;-)

Для профессионалов - ссылка на документацию по этой теме.

А мы, входим в свою  панель управления VPS по ссылке которая вам пришла от Oracle после регистрации и переходим в первый блок, кликнув на "Создать экземпляр Compute"

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

Здесь нажимаем "Изменить"

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

В выпадающем окне в правом нижнем углу нажимаем "Изменить образ"

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

В открывшемся окне выбираем Canonical Ubuntu 20.04 Режим "Всегда бесплатно" применим

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

Спускаемся ниже,  в настройках сети я ничего не меняю.

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

На следующем этапе нам нужно будет добавить ключ SSH, для дальнейшей авторизации через Putty. Для этого скачиваем с официального сайта весь пакет, в зависимости от разрядности вашей операционной системы на ПК или ноутбуке (Посмотреть можно "Мой компьютер" правой клавишей мыши "Свойства") и устанавливаем.

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

После установки через "Пуск" - "Программы" запускаем "PuTTy gen" (в папке PuTTy )

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

В открывшемся окне программы нажимаем "Generate" и водим мышкой или прокручиваем сколом, пока зелёная полоска наверху не завершит свой путь )))

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

Через несколько мгновений сгенерируется ключ, копируем его из верхнего окна

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

И вставляем в панели управления VPS в "Добавить ключи SSH" и нажимаем внизу "Создать"

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

Затем возвращаемся в "PuTTY Key Generator" и нажимаем "Save private key" - сохраняем с понятным названием английскими символами в нужную нам папку

Важно!!! Не про..бите потеряйте его, ибо это фактически ключ для дальнейшего входа в только что созданную операционную систему, если потеряете, то придётся всё переустанавливать, способа восстановить или поменять в панели VPS я не нашёл.
Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

Тем временем возвращаемся в панель управления VPS  и видим, что наша система готова.

Копируем  IP адрес своей операционной системе, это фактически IP адрес Вашей виртуальной машины.

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

Открываем программу для доступа к системе по SSH - "PuTTy" (в той же папке, где мы открывали выше  "PuTTy gen"), вставляем скопированный IP адрес в соответствующее окно и нажимаем в правой панели SSH  - Auth

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

Здесь в окне "Private key file for autorithashion" выбираем ранее сохранённый  приватный ключ в формате *.ppk и нажимаем "Open"

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

Открывается терминал и всплывает окно, в котором нажимаем "Да"

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

Переключаем раскладку на английскую клавиатуру и вводим логин "ubuntu" (пароля пока нет) нажимаем "Enter".

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

и наконец ОБЯЗАТЕЛЬНО задаём пароль для входа в систему и ЗАПОМИНАЕМ! )))

Для этого пишем команду sudo passwd ubuntu нажимаем "Enter".

Придумываем, запоминаем и водим пароль (при вводе никакие символы не отображаются) нажимаем "Enter".

Ещё раз  вводим пароль и  нажимаем "Enter".

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

В С Ё !!! ))) Вы вошли в свою только что созданную систему на VPS - Ubuntu 20.04 и создали пароль....

Впереди много интересного на этом чёрном экране, как в этом эпизоде из фильма: )))

Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle. Продолжение поста "Регистрируем Always Free VPS сервер для нужд Умного дома" Умный дом, Ubuntu, Linux, VPS, Oracle, Виртуальная машина, VPN, Home Assistant, Установка, Настройка, Длиннопост

В следующем посте (ну это теперь, как только я отдохну от написанного и переварю всё сам..., может на следующей недельке) в этой операционной системе мы  поставим своего MQTT брокера для контроля датчиков IoT-устройств на ESP и их дальнейшей связки с умным домом...


А Вы тем временем можете поставить на неё тестовую систему умного дома Home assistant (ТЕСТОВУЮ! Ибо Умный дом нужно ставить на локальном сервере!), пока не решились на установку своего сервера или покупку какой-нибудь raspberry, сможете поставить VPN-сервер (Virtual Private Network) и/или прокси-сервер и можете проводить свои другие эксперименты....


Как всё это сделать в формате, как этот пост,  я постараюсь написать как-нибудь в своих следующих публикациях, но по времени (когда) пока ничего обещать не буду...


Всем бобра ;-)

Показать полностью 18
[моё] Умный дом Ubuntu Linux VPS Oracle Виртуальная машина VPN Home Assistant Установка Настройка Длиннопост
99
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии