Архив рубрики: Публикации

Настройка сети в Ubuntu 18.04 | 20.04 | 21.04

В этой статье разберем настройку сети в Ubuntu 18.04|20.04|21.04. Настройку будем производить через утилиту netplan.




Не забываем о синтаксисе данного файла. !!! Табуляция не используется и количество пробелов должно быть одинаково для одноименных категорий !!!






Сперва давайте определим какие интерфейсы у нас присутствуют в системе:




ip a




или




ifconfig -a




  • необходимо установить утилиту net-tools




Вывод команды покажет все имеющиеся в системе сетевые интерфейсы. Вот пример вывода:




enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 14:d6:4d:56:b8:5a  txqueuelen 1000  (Ethernet)
        RX packets 2087766  bytes 2768743733 (2.7 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1996135  bytes 201457120 (201.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 10:78:d2:76:39:b3  txqueuelen 1000  (Ethernet)
        RX packets 10585  bytes 2371990 (2.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16067  bytes 18280327 (18.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 10:78:d2:76:39:b3  txqueuelen 1000  (Ethernet)
        RX packets 87766  bytes 68743733 (12.7 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13819  bytes 12743733 (12.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 242  bytes 35780 (35.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 242  bytes 35780 (35.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0




Настройки локальной сети. Динамический IP-адрес (DHCP)




Отредактируйте файл конфигурации netplan который находится в директории /etc/netplan/. При открытии он должен выглядеть примерно так:




network:
  renderer: networkd
  ethernets:
     enp0s3:
         dhcp4: true
         dhcp6: true
  version: 2




тут интерфейс enp0s3 настроен на автоматическое получение IP-адреса от DHCP сервера.




Настройки локальной сети. Статический IP-адрес.




Для локальной сети в которой используются статические ip-адреса подойдет следующая конфигурация:




network:
  renderer: networkd
  ethernets:
     enp0s3:
         addresses:
         - 10.5.5.10/24
         gateway4: 10.5.5.1
         nameservers: 
            addresses: [10.5.5.1, 8.8.4.4]
            search: [dom, mydomain]
         optional: true
  version: 2




Настройки беспроводной сети. Динамический IP-адрес.




Для корректной работы беспроводного интерфейса вам потребуется установить утилиту WPA supplicant, которая позволяет подключиться к точкам доступа с WPA и WPA2:




sudo apt install wpasupplicant




Добавьте новый файл конфигурации в каталог /etc/netplan/:




sudo nano /etc/netplan/02-wifi.yaml




Отредактируйте файл конфигурации беспроводной сети с динамическим ip-адресом (DHCP):




network:
  version: 2
  renderer: networkd
  wifis:
    wlp3s0:
      dhcp4: yes
      dhcp6: no
      access-points:
        "network_ssid_name":
          password: "**********"




Настройки беспроводной сети. Статический IP-адрес.




Для беспроводной сети в которой используются статические ip-адреса подойдет следующая конфигурация:




network:
  version: 2
  renderer: networkd
  wifis:
    wlp3s0:
      dhcp4: no
      dhcp6: no
      addresses: [10.5.5.10/24]
      gateway4: 10.5.5.1
      nameservers:
        addresses: [10.5.5.1, 8.8.4.4]
      access-points:
        "network_ssid_name":
          password: "**********"




Применение конфигураций




Используйте netplan для генерации необходимой конфигурации:




sudo netplan generate




Для подробного вывода информации при генерации, используйте опцию –debug:




sudo netplan --debug generate




Далее сохраняем изменения:




sudo netplan try




Пример конфигурации локальной сети с метриками




network:
  version: 2
  renderer: networkd
  ethernets:
    id0:
      match:
        macaddress: 00:11:22:33:44:55
      wakeonlan: true
      dhcp4: true
      addresses:
        - 192.168.14.2/24
        - 192.168.14.3/24
        - "2001:1::1/64"
      gateway4: 192.168.14.1
      gateway6: "2001:1::2"
      nameservers:
        search: [foo.local, bar.local]
        addresses: [8.8.8.8]
      routes:
        - to: 0.0.0.0/0
          via: 11.0.0.1
          table: 70
          on-link: true
          metric: 3
      routing-policy:
        - to: 10.0.0.0/8
          from: 192.168.14.2/24
          table: 70
          priority: 100
        - to: 20.0.0.0/8
          from: 192.168.14.3/24
          table: 70
          priority: 50
    lom:
      match:
        driver: ixgbe
      set-name: lom1
      dhcp6: true
    switchports:
      match:
        name: enp2*
      mtu: 1280
  wifis:
    all-wlans:
      match: {}
      access-points:
        "Joe's home":
          password: "s3kr1t"
    wlp1s0:
      access-points:
        "guest":
           mode: ap
  bridges:
    br0:
      interfaces: [wlp1s0, switchports]
      dhcp4: true




Вот ещё пример




network:  
  version: 2  
  ethernets:    
    enp0s3:      
      dhcp4: true      
      match:        
        macaddress: 02:70:4e:c8:68:e9    
    enp0s8:      
      dhcp4: false      
      addresses: [192.168.33.10/24]      
      routes:        
        - to: 0.0.0.0/0          
          via: 192.168.33.1          
          metric: 50



[endtxt]




RSS



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


2021-08-18T19:33:58
Network

TOTP аутентификация — как это работает

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





Читать далее…

Полезные команды Linux

Источник: https://unixhost.pro/clientarea/knowledgebase/30/poleznye-komandy-linux.html



2021-08-17T16:59:42
Утилиты командной строки

Топ-10 недавно обнаруженных видов животных

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

№10. Эриовиксия Гриффиндори

Эриовиксия Гриффиндори, также называемая пауком Гарри Поттера из-за сходства с сортировочной шляпой в книгах о Гарри Поттере, была первоначально обнаружена в Карнатаке, Индия. Его обнаружили Джавед Ахмед, Раджашри Халап и Сумукха Джавагал.

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

Смотрите также; 10 самых опасных пауков мира.

№9. тонкий корень


Gracilimus Radix является новым видом диких грызунов, который был обнаружен в Индонезии в горной местности. Он также известен как стройная крыса-корнеплод и весит около 40 граммов.

Тонкие крысы-корнеплоды не похожи ни на один другой вид грызунов, которых когда-либо видели ученые, и на самом деле это может быть новый род. Это четвертая крыса, обнаруженная за последние несколько лет.

Смотрите также; Топ-10 самых умных животных.

№8. Куполообразная наземная улитка



Zospeum tholussum, также называемый куполообразной наземной улиткой, – это наземная улитка, которая была обнаружена в системе пещер в Хорватии. Куполообразная наземная улитка слепая и имеет полупрозрачные раковины с пятью-шестью завитками, что придает ей призрачный вид.

Улитка живет в полной темноте, почти на 3000 футов ниже поверхности в пещерах Лукина Джама-Трояма. По словам ученых, куполообразная наземная улитка медленнее большинства улиток, ползая всего на несколько сантиметров в неделю. Считается, что улитки путешествуют автостопом на других пещерных животных на большие расстояния.

№7. Potamotrygon Rex



Potamotrygon Rex – новый вид неотропических пресноводных скатов. Он был обнаружен в 2016 году в средней и верхней частях реки Рио-Токантинс, Бразилия. А еще его называют Великой рекой Стингрей.

Скат имеет черный или темно-коричневатый окрас с несколькими небольшими желтыми пятнами на спинном диске. Он довольно большой по размеру, за что получил титул короля пресной воды в бразильской реке. Он может весить до 44 фунтов и его нельзя найти больше нигде на Земле.

№6. Ксенотурбелла Чурро



Xenoturbella Churro является новый вид морских существ, которые были найдены в восточной части Тихого океана. Он имеет сверхъестественное сходство с жареным тестом из теста, чурро, отсюда и название этого вида.

Xenoturbella churro похожа на медузу, лишенную щупалец, пульсирующего тела и яркого освещения. Это представитель группы примитивных червеобразных животных. Он розовато-пурпурный по цвету и питается моллюсками.

Смотрите также; Топ-10 самых опасных морских существ для человека.

№5. Катаракта сколопендры



Сколопендры Cataracta является сороконожка кошмаров. Недавно обнаруженный вид был найден в Лаосе, Таиланде и Вьетнаме. Он был назван Катаракта, что в переводе с латыни означает водопад, где была собрана сороконожка.

Сороконожка может нырять в воду так же, как на суше, что делает ее первой в своем роде. Это 8 дюймов в длину с 20 парами длинных ног.

Смотрите также; 10 самых ужасающих насекомых в мире.

№4. Eulophophyllum kirki



Eulophophyllum Kirki – это катидиды, которые были обнаружены, когда исследователи искали птицеедов и змей на Борнео, Малайзия. Что делает их уникальными, так это то, что у самок отчетливо розовый цвет, который выделяет их, в то время как самцы имеют однородный зеленый цвет. Однако и у самцов, и у самок есть отличительные жилки, которые делают их похожими на листья. (источник ).

№3. Олингито



Обнаруженный в 2014 году олингито (также известный как котенок) – замечательное млекопитающее из семейства енотовидных. Похоже на помесь домашней кошки и романтичного плюшевого мишки.

У олингито большие глаза и густой пушистый коричневый мех, и он является самым маленьким представителем семейства енотовидных. Он весит около 2 фунтов (900 граммов) и имеет хвост от 13 до 17 дюймов. Обитает в шумных лесах Колумбии и Эквадора.

Смотрите также; 10 самых дорогих питомцев, необычный выбор.

№2. Фейдол Дрогон



Pheidole Дрогон это новый вид муравьев, которые напоминают огнедышащих драконов Khaleesi от в Игре престолов серии, отсюда и название. Впервые новый вид муравьев был обнаружен в Папуа-Новой Гвинее. Они выглядят уникально с колючими шипами на спине и плечах, которые защищают их от хищников. Ученые смогли идентифицировать Pheidole Drogon с помощью технологии 3D-изображений.

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

№1. Illacme Tobini



Illacme tobini – новый вид многоножек, который был обнаружен в пещере недалеко от южных гор Сьерра-Невада, Калифорния, США. У этого существа 414 ног, нет глаз, 200 ядовитых желез и 4 пениса. Он также может добавлять части тела на протяжении всей жизни. У Illacme tobini есть сопла на каждом из 100 сегментов, которые выделяют химические вещества, чтобы защитить себя от любой опасности.

Источник записи: www.wonderslist.com



2021-08-17T16:13:00
Животные

РУКОВОДСТВО ПО УСТАНОВКЕ JITSI MEET В LINUX

Jitsi Meet — это бесплатное программное обеспечение для видеоконференций с открытым исходным кодом на базе WebRTC, которое работает на Linux, macOS, Windows, iOS и Android. Если вы не доверяете Zoom, вы можете запустить собственную платформу для видеоконференций на собственном сервере. Преимущество Jitsi Meet заключается в том, что все ваши данные передаются только через ваш сервер, а шифрование TLS обеспечивает защиту от перехвата и прослушивания. Это руководство покажет вам, как установить Jitsi Meet на сервер Ubuntu 18.04 и 20.04, а также Debian 10.







ОСОБЕННОСТИ JITSI MEET




  • Совершенно бесплатно
  • Поделитесь экраном своего компьютера с другими (Screensharing)
  • Режим докладчика, который позволяет одновременно использовать экран и камеру
  • Вы можете поделиться системным звуком во время демонстрации экрана
  • Вы можете назначить авторизованных пользователей модераторами. Модератор может отключить звук у каждого участника одним щелчком мыши
  • Связь по сети зашифрована с использованием DTLS-SRTP
  • Сквозное шифрование
  • Вы можете установить пароль для своей конференции, чтобы предотвратить вход случайных незнакомцев
  • Запишите конференцию и сохраните ее в Dropbox
  • Транслируйте на YouTube Live и сохраняйте запись на YouTube
  • Приложения для Android и iOS
  • Текстовый чат
  • Вы можете поделиться текстовым документом
  • Телефонный доступ к конференции
  • Исходящий вызов телефонному абоненту
  • Вы можете встроить вызов Jits Meet на любую веб-страницу с помощью всего нескольких строк кода




СИСТЕМНЫЕ ТРЕБОВАНИЯ




Вам понадобится:




  • Linux сервер и non-root user с привилегиями sudo
  • Доменное имя, указывающее на ваш сервер




ШАГ 1. УСТАНОВИТЕ JITSI MEET ИЗ ОФИЦИАЛЬНОГО РЕПОЗИТОРИЯ ПАКЕТОВ




Jitsi Meet не включен в репозиторий Ubuntu по умолчанию. Мы можем установить его из официального репозитория пакетов Jitsi, который также содержит несколько других полезных программных пакетов. Войдите на свой сервер через SSH, затем выполните следующую команду, чтобы добавить официальный репозиторий Jitsi.




echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list




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




wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -




Поскольку для репозитория Jitsi требуется HTTPS-соединение, нам нужно установить пакет apt-transport-https, чтобы APT установил HTTPS-соединение с репозиторием Jitsi.




sudo apt install apt-transport-https




Затем обновите локальный индекс пакета и установите Jitsi Meet в Ubuntu.




sudo apt update

sudo apt install jitsi-meet




Во время установки вам необходимо ввести имя хоста для вашего экземпляра Jitsi. Это имя хоста, которое будет отображаться в адресной строке веб-браузера, когда посетители присоединятся к вашей видеоконференции. Вы можете использовать описательное имя хоста, например meet.example.com.







На следующем экране вы можете выбрать создание нового самозаверяющего сертификата TLS (Generate a new self-signed certificate), чтобы позже вы могли получить и установить доверенный сертификат Let’s Encryption.







В процессе установки будут настроены некоторые параметры ядра Linux, которые сохраняются в файле /etc/sysctl.d/20-jvb-udp-buffers.conf. После завершения установки Jitsi Meet автоматически запустится. Вы можете проверить его статус с помощью:




systemctl status jitsi-videobridge2




Пример вывода:




? jitsi-videobridge2.service - Jitsi Videobridge

   Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)

   Active: active (running) since Fri 2020-04-24 12:11:13 UTC; 3min 27s ago

 Main PID: 3665 (java)

    Tasks: 37 (limit: 65000)

   CGroup: /system.slice/jitsi-videobridge2.service

           L-3665 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HO	




Пакет jitsi-meet также извлекал другие пакеты в качестве зависимостей, например




  • openjdk-8-jre-headless: среда выполнения Java. Это необходимо, потому что Jitsi Meet написан на языке Java.
  • jicofo: Jitsi Conference Focus (systemctl status jicofo)
  • prosody: Легкий сервер Jabber / XMPP (systemctl status prosody)
  • coturn: сервер TURN и STUN для VoIP (systemctl status coturn)




ШАГ 2. ОТКРОЙТЕ ПОРТЫ В БРАНДМАУЭРЕ




Jitsi Meet прослушивает несколько портов UDP, что можно увидеть с помощью следующей команды. (Если на вашем сервере Ubuntu нет команды netstat, вы можете запустить команду sudo apt install net-tools, чтобы установить ее.)




sudo netstat -lnptu | grep java







Чтобы участники могли присоединиться к видеоконференции из веб-браузера, вам необходимо открыть TCP-порт 80 и 443. А для передачи видео по сети откройте UDP-порт 10000 и 5000. Если вы используете брандмауэр UFW, запустите следующую команду, чтобы открыть эти порты.




sudo ufw allow 80,443/tcp

sudo ufw allow 10000,5000/udp




ШАГ 3. ПОЛУЧИТЕ ДОВЕРЕННЫЙ СЕРТИФИКАТ LET’S ENCRYPT TLS




Перейдите в службу хостинга DNS (обычно это ваш регистратор домена), чтобы создать запись DNS A для вашего имени хоста Jitsi (meet.example.com). Затем запустите следующий скрипт, чтобы получить доверенный сертификат Let’s Encrypt TLS:




sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh




Введите свой адрес электронной почты, чтобы получать важные уведомления об учетной записи. Затем он загрузит certbot и получит сертификат TLS.




This script will:

- Need a working DNS record pointing to this machine(for domain jitsi.example.com)

- Download certbot-auto from https://dl.eff.org to /usr/local/sbin

- Install additional dependencies in order to request Let’s Encrypt certificate

- If running with jetty serving web content, will stop Jitsi Videobridge

- Configure and reload nginx or apache2, whichever is used

- Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks

- Add command in weekly cron job to renew certificates regularly



You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf)

by providing an email address for important account notifications

Enter your email and press [ENTER]:




Если все в порядке, вы увидите следующее сообщение, указывающее, что сертификаты TLS были успешно получены и установлены.







Обратите внимание, что этот сценарий использует запрос http-01, что означает, что ваш веб-сервер Apache или Nginx должен прослушивать порт 80 общедоступного IP-адреса. Если ваша серверная среда не поддерживает вызов http-01, вам не следует запускать приведенный выше сценарий. Вам нужно использовать другие типы задач. В этом случае используем вызов DNS.




sudo certbot --agree-tos -a dns-cloudflare -i nginx --redirect --hsts --staple-ocsp --email me@example.com -d meet.example.com




Где:




  • --agree-tos: примите условия использования.
  • -a dns-cloudflare: используем плагин DNS cloudflare для аутентификации, потому что используем службу Cloudflare DNS.
  • -i nginx: использовать плагин nginx для установки сертификата TLS. Если вы используете Apache, вам необходимо заменить nginx на apache.
  • --redirect: принудительно использовать HTTPS с помощью 301 редиректа.
  • --hsts: добавлять заголовок Strict-Transport-Security к каждому ответу HTTP. Заставить браузер всегда использовать TLS для домена. Защищает от удаления SSL/TLS.
  • --staple-ocsp: включает сшивание OCSP. Допустимый ответ OCSP прикреплен к сертификату, который сервер предлагает во время TLS.




ШАГ 4. ВКЛЮЧИТЕ HTTP2




HTTP2 может улучшить скорость загрузки веб-страницы. Чтобы включить HTTP2 в Nginx, отредактируйте файл конфигурации виртуального хоста.




sudo nano /etc/nginx/sites-enabled/meet.example.com.conf




Найдите следующие две строки.




listen 443 ssl;

listen [::]:443 ssl;




Добавьте http2 в конце каждой строки.




listen 443 ssl http2;

listen [::]:443 ssl http2;




Сохраните и закройте файл. Затем перезагрузите Nginx, чтобы изменения вступили в силу.




sudo systemctl reload nginx




ШАГ 5. НАЧНИТЕ НОВУЮ ОНЛАЙН-ВСТРЕЧУ




Теперь посетите https://meet.example.com, и вы сможете начать конференцию. Для передачи звука вам необходимо разрешить веб-браузеру использовать ваш микрофон. А для передачи видео вам необходимо разрешить веб-браузеру доступ к вашей камере.







Дайте вашей встрече название и нажмите кнопку Go. После начала собрания вы можете при желании установить пароль для собрания.







ШАГ 6. НАСТРОЙТЕ АУТЕНТИФИКАЦИЮ ПОЛЬЗОВАТЕЛЯ




По умолчанию любой может перейти к вашему серверу Jitsi Meet, создать комнату и начать собрание. Чтобы настроить аутентификацию пользователя, отредактируйте файл конфигурации Prosody.




sudo nano /etc/prosody/conf.d/meet.example.com.cfg.lua




Найдите следующую строку.




authentication = "anonymous"




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




authentication = "internal_plain"




Однако мы не хотим, чтобы участники вводили имя пользователя и пароль при присоединении к конференции, поэтому нам нужно создать анонимный вход для гостей, добавив следующие строки в конец этого файла. Обратите внимание, что вам не нужно создавать запись A DNS для guest.meet.example.com.




VirtualHost "guest.meet.example.com"

    authentication = "anonymous"

    c2s_require_encryption = false




Сохраните и закройте файл. Затем отредактируйте файл конфигурации Jitsi Meet.




sudo nano /etc/jitsi/meet/meet.example.com-config.js




Найдите следующую строку:




// anonymousdomain: 'guest.example.com',




Удалите двойные косые черты и измените гостевой домен. Замените meet.example.com своим настоящим именем хоста Jitsi Meet.




anonymousdomain: 'guest.meet.example.com',




Сохраните и закройте файл. Затем отредактируйте файл конфигурации Jicofo.




sudo nano /etc/jitsi/jicofo/sip-communicator.properties




Добавьте следующую строку в конец этого файла.




org.jitsi.jicofo.auth.URL=XMPP:meet.example.com




Сохраните и закройте файл. Перезапустите службы systemd, чтобы изменения вступили в силу.




sudo systemctl restart jitsi-videobridge2 prosody jicofo




Чтобы создать учетные записи пользователей в Jisi Meet, выполните следующую команду. Вам будет предложено ввести пароль для нового пользователя.




sudo prosodyctl register username meet.example.com




Теперь, если вы создаете комнату в Jitsi Meet, вам нужно будет ввести имя пользователя и пароль.







СОВЕТЫ ПО УСТРАНЕНИЮ НЕПОЛАДОК




Если вы столкнулись с ошибками, вы можете проверить журнал ошибок Nginx (/var/log/nginx/error.log), чтобы узнать, что не так. Также проверьте журналы служб systemd.




sudo journalctl -eu jitsi-videobridge2

sudo journalctl -eu prosody

sudo journalctl -eu jicofo	




Если вы видите ошибку You have been disconnected (Вы были отключены) при запуске собрания в Jitsi, возможно, вы забыли изменить meet.example.com на свое настоящее имя хоста Jitsi Meet в файлах конфигурации.







ОПЦИОНАЛЬНО: НАСТРОИТЬ JIGASI ДЛЯ ТЕЛЕФОННОГО НАБОРА ИЛИ ИСХОДЯЩЕГО ВЫЗОВА




Jitsi предлагает телефонный интерфейс, который позволяет пользователям подключаться к конференции или делать звонки с напоминанием. Установите пакет jigasi (шлюз Jitsi для SIP).




sudo apt install jigasi




Во время установки вам нужно будет ввести свое имя пользователя и пароль SIP. Если у вас его нет, вы можете создать бесплатную учетную запись SIP на сайте OnSIP.com.







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




sudo nano /etc/jitsi/jigasi/sip-communicator.properties




Найдите следующие строки.




# org.jitsi.jigasi.xmpp.acc.USER_ID=SOME_USER@SOME_DOMAIN

# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS

# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false




Раскомментируйте их и введите учетную запись и пароль, которые вы создали на шаге 6.




org.jitsi.jigasi.xmpp.acc.USER_ID=user1@meet.example.com

org.jitsi.jigasi.xmpp.acc.PASS=user1_password

org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false	




Сохраните и закройте файл. Перезапустите службу jigasi systemd.




sudo systemctl restart jigasi




ОПЦИОНАЛЬНО: НАСТРОИТЬ COTURN




Если во время установки Jitsi Meet вы видите следующее сообщение, вам необходимо настроить Coturn, чтобы он работал правильно.




Warning! Could not resolve your external ip address! Error:^

Your turn server will not work till you edit your /etc/turnserver.conf config file.

You need to set your external ip address in external-ip and restart coturn service.




Отредактируйте файл конфигурации Coturn.




sudo nano /etc/turnserver.conf




Найдите следующую строку.




external-ip=127.0.0.1




Замените 127.0.0.1 общедоступным IP-адресом вашего сервера. Сохраните и закройте файл. Затем перезапустите Coturn.




sudo systemctl restart coturn




ИТОГИ




Готово! Мы успешно установили Jitsi Meet на наш Linux сервер.







Источник: https://wiki.merionet.ru/servernye-resheniya/83/rukovodstvo-po-ustanovke-jitsi-meet-v-linux/



2021-08-17T10:26:44
Software

Установка Jitsi Meet в Ubuntu 18.04

Введение




Jitsi Meet — приложение с открытым исходным кодом на базе WebRTC, предназначенное для проведения видеоконференций. Сервер Jitsi Meet создает виртуальные залы для видеоконференций на несколько человек, для доступа к которым требуется только браузер и которые обеспечивают функции, аналогичные Zoom или Skype. Преимущество конференции Jitsi заключается в том, что все ваши данные передаются только через ваш сервер, а комплексное шифрование TLS обеспечивает защиту от перехвата и несанкционированного прослушивания. С Jitsi вы можете быть уверены, что ваша частная информация будет защищена.




В этом обучающем модуле мы установим и настроим сервер Jitsi Meet в Ubuntu 18.04. Конфигурация по умолчанию позволяет любому пользователю создавать новые конференции. Такая настройка не идеальна для общедоступного сервера в Интернете, поэтому мы также настроим Jitsi Meet так, чтобы новые конференции могли создавать только зарегистрированные пользователи. После создания конференции к ней могут присоединиться любые пользователи, если у них есть уникальная ссылка и пароль (если он установлен).




Предварительные требования




Для прохождения этого обучающего руководства вам потребуется следующее:




  • Один сервер Ubuntu 18.04, настроенный в соответствии с инструкциями по начальной настройке сервера с Ubuntu 18.04, а также non-root user с привилегиями sudo. Требуемый размер сервера в основном зависит от доступной пропускной способности и ожидаемого количества пользователей сервера. В следующей таблице примерно показано, что может потребоваться.
  • Доменное имя, настроенное так, чтобы указывать на ваш сервер. Вы можете узнать, как указывать домены на DigitalOcean Droplet, из руководства Настройка имени хоста с помощью DigitalOcean. В этом руководстве используется пример доменного имени jitsi.your-domain.




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




ПроцессорПропускная способность сервера
Два участника3%30 Кбит/с восходящее, 100 Кбит/с нисходящее
Три участника15%7 Мбит/с восходящее, 6,5 Мбит/с нисходящее




Разница в использовании ресурсов между двумя и тремя участниками обусловлена тем, что Jitsi перенаправляет данные вызовов напрямую между клиентами, если их только двое. Если имеется более двух клиентов, данные вызова пересылаются через сервер Jitsi Meet.




Шаг 1 — Настройка имени хоста системы




На этом шаге мы изменим имя хоста системы для соответствия доменного имени, которое вы планируете использовать для своего экземпляра Jitsi Meet, и сопоставим это имя хоста с IP-адресом localhost, 127.0.0.1. Jitsi Meet использует обе эти настройки при установке и генерировании файлов конфигурации.




Вначале установите имя хоста системы на доменное имя, которое вы будете использовать для вашего экземпляра Jitsi. Следующая команда устанавливает имя текущего хоста и изменяет каталог /etc/hostname, где хранится имя хоста системы в промежутке между перезагрузками:




sudo hostnamectl set-hostname jitsi.your-domain




Запущенная команда разбивается на части следующим образом:




  • hostnamectl — это утилита из набора инструментов systemd, предназначенная для правления именем хоста системы.
  • set-hostname устанавливает имя хоста системы.




Для проверки успешного запуска запустите следующую команду:




hostname




Эта команда возвращает имя хоста, заданное командой hostnamectl:




Outputjitsi.your-domain




Далее мы установим локальное сопоставление имени хоста сервера с циклическим IP-адресом, 127.0.0.1. Для этого откройте файл /etc/hosts в текстовом редакторе:




sudo nano /etc/hosts




Затем добавьте следующую строку:/etc/hosts




127.0.0.1 jitsi.your-domain




Сопоставление доменного имени сервера Jitsi Meet с адресом 127.0.0.1 позволяет серверу Jitsi Meet использовать несколько сетевых процессов, устанавливающих локальные соединения друг с другом на IP-адресе 127.0.0.1. Для аутентификации и шифрования этих соединений используется сертификат TLS, зарегистрированный на ваше доменное имя. Локальное сопоставление доменного имени с адресом 127.0.0.1 позволяет использовать сертификат TLS для этих соединений локальной сети.




Сохраните и закройте файл.




Теперь ваш сервер имеет имя хоста, требуемое Jitsi для установки. На следующем шаге мы откроем порты брандмауэра, которые требуются Jitsi и установщику сертификата TLS.




Шаг 2 — Настройка брандмауэра




Выполняя указания руководства Начальная настройка сервера с Ubuntu 18.04, вы включили брандмауэр UFW и открыли порт SSH. Серверу Jitsi требуется открыть несколько портов, чтобы он мог взаимодействовать с вызывающими клиентами. Процессу установки TLS также требуется открыть порт, чтобы можно было провести аутентификацию запроса сертификата.




Открыты будут следующие порты:




  • 80/tcp используется для запроса сертификата TLS.
  • 443/tcp используется для создания веб-страницы конференции.
  • 4443/tcp,10000/udp используется для приема и передачи шифрованного трафика вызова.




Запустите следующие команды ufw, чтобы открыть эти порты:




sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 4443/tcp
sudo ufw allow 10000/udp




Проверьте их добавление с помощью команды ufw status:




sudo ufw status




Если эти порты открыты, вы увидите следующий вывод:




OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
4443/tcp                   ALLOW       Anywhere
10000/udp                  ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
4443/tcp (v6)              ALLOW       Anywhere (v6)
10000/udp (v6)             ALLOW       Anywhere (v6)




Теперь сервер готов к установке Jitsi, которую мы выполним на следующем шаге.




Шаг 3 — Установка Jitsi Meet




На этом шаге мы добавим стабильный репозиторий Jitsi на ваш сервер, а затем установим пакет Jitsi Meet из этого репозитория. Так вы гарантируете, что всегда будете использовать последний стабильный пакет Jitsi Meet.




Вначале загрузите ключ Jitsi GPG с помощью утилиты загрузки wget:




wget https://download.jitsi.org/jitsi-key.gpg.key




Диспетчер пакетов apt будет использовать этот ключ GPG для проверки пакетов, которые вы будете загружать из репозитория Jitsi.




Затем добавьте загруженный ключ GPG в кольцо ключей apt, используя утилиту apt-key:




sudo apt-key add jitsi-key.gpg.key




Теперь вы можете удалить файл ключа GPG, потому что он больше не требуется:




rm jitsi-key.gpg.key




Теперь мы добавим репозиторий Jitsi на ваш сервер, создав новый файл источника, содержащий репозиторий Jitsi. Откройте и создайте новый файл с помощью редактора:




sudo nano /etc/apt/sources.list.d/jitsi-stable.list




Добавьте эту строку в файл для репозитория Jitsi:/etc/apt/sources.list.d/jitsi-stable.list




deb https://download.jitsi.org stable/




Сохраните файл и закройте редактор.




В заключение проведите обновление системы, чтобы получить список пакетов из репозитория Jitsi, а затем установите пакет jitsi-meet:




sudo apt update
sudo apt install jitsi-meet




Во время установки jitsi-meet вам будет предложено ввести желаемое доменное имя (например, jitsi.your-domain) для вашего экземпляра Jitsi Meet.







Примечание. Вы перемещаете курсор с поля hostname, чтобы выделить кнопку<OK>клавишей TAB. Нажмите ENTER, когда<OK>выделяется для отправки имени хоста.




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







Если у вас нет сертификата TLS для вашего домена Jitsi, выберите первую опцию,«Генерировать новый самоподписанный сертификат».




Теперь ваш экземпляр Jitsi Meet установлен с самоподписанным сертификатом TLS. При использовании такого сертификата в браузере будут выводиться предупреждения, поэтому на следующем шаге мы получим подписанный сертификат TLS.




Шаг 4 — Получение подписанного сертификата TLS




Jitsi Meet использует сертификаты TLS для шифрования трафика вызова, чтобы никто не мог прослушивать вызов через Интернет. Сертификаты TLS — это те же сертификаты, которые используются сайтами для активации URL с протоколом HTTPS.




Jitsi Meet предоставляет программу для автоматической загрузки сертификата TLS для вашего доменного имени. Эта программа использует утилиту Certbot. Вам нужно будет установить эту программу до того, как вы запустите скрипт установки сертификата.




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




sudo add-apt-repository ppa:certbot/certbot




Затем установите пакет certbot:




sudo apt install certbot




Теперь ваш сервер может спокойно запускать программу установки сертификата TLS, предоставленную Jitsi Meet:




sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh




При запуске скрипта откроется следующий диалог ввода адреса электронной почты:




Output-------------------------------------------------------------------------
This script will:
- Need a working DNS record pointing to this machine(for domain jitsi.example.com)
- Download certbot-auto from https://dl.eff.org to /usr/local/sbin
- Install additional dependencies in order to request Let’s Encrypt certificate
- If running with jetty serving web content, will stop Jitsi Videobridge
- Configure and reload nginx or apache2, whichever is used
- Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks
- Add command in weekly cron job to renew certificates regularly

You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf)
by providing an email address for important account notifications
Enter your email and press [ENTER]:




Этот адрес электронной почты будет отправлен эмитенту сертификата https://letsencrypt.org и будет использоваться для уведомлений о безопасности и других вопросах, связанных с сертификатом TLS. Для продолжения установки необходимо ввести адрес электронной почты. После этого установка продолжится без дальнейших остановок.




После ее завершения ваш экземпляр Jitsi Meet будет настроен для использования подписанного сертификата TLS для вашего доменного имени. Обновление сертификатов также будет производиться автоматически, поскольку программа установки разместила по адресу /etc/cron.weekly/letsencrypt-renew скрипт обновления, который будет запускаться каждую неделю.




Программа установки TLS использовала порт 80 для проверки наличия у вас контроля вашего доменного имени. Теперь вы получили сертификат, и вашему серверу больше не нужно открывать порт 80, потому что порт 80 используется для обычного трафика HTTP без шифрования. Jitsi Meet обслуживает сайт только по протоколу HTTPS через порт 443.




Закройте этот порт в брандмауэре с помощью следующей команды ufw:




sudo ufw delete allow 80/tcp




Теперь ваш сервер Jitsi Meet запущен и готов к тестированию. Откройте браузер и введите свое доменное имя. Вы сможете создать новую конференцию и пригласить других пользователей.




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




Шаг 5 — Блокировка создания конференций




На следующем шаге мы настроим ваш сервер Jitsi Meet так, чтобы конференции могли создавать только зарегистрированные пользователи. Мы отредактируем файлы, котоыре были сгенерированы программой установки и настроены с использованием вашего доменного имени.




В следующих примерах мы будем использовать переменную your_domain вместо доменного имени.




Откройте sudo nano /etc/prosody/conf.avail/your_domain.cfg.lua в текстовом редакторе:




sudo nano /etc/prosody/conf.avail/your_domain.cfg.lua




Отредактируйте эту строку:/etc/prosody/conf.avail/your_domain.cfg.lua




...
        authentication = "anonymous"
...




Следующим образом:/etc/prosody/conf.avail/your_domain.cfg.lua




...
        authentication = "internal_plain"
...




Эта конфигурация предписывает Jitsi Meet использовать аутентификацию с именем пользователя и паролем, прежде чем разрешить новому посетителю создавать конференции.




Затем добавьте в конец файла следующий раздел:/etc/prosody/conf.avail/your_domain.cfg.lua




...
VirtualHost "guest.your_domain"
    authentication = "anonymous"
    c2s_require_encryption = false




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




Здесь вы добавили guest. перед доменным именем. Например, для jitsi.your-domain мы указываем put guest.jitsi.your-domain. Имя хоста guest.обычно используется Jitsi Meet для внутренних целей. Это имя не вводится в браузер, и не надо создавать для него запись DNS.




Откройте другой файл конфигурации по адресу /etc/jitsi/meet/your_domain-config.js в текстовом редакторе:




sudo nano /etc/jitsi/meet/your_domain-config.js




Отредактируйте эту строку:/etc/jitsi/meet/your_domain-config.js




...
        // anonymousdomain: 'guest.example.com',
...




Следующим образом:/etc/jitsi/meet/your_domain-config.js




...
        anonymousdomain: 'guest.your_domain',
...




Если вы используете имя хоста guest.your_domain, которое мы использовали ранее, эта конфигурация укажет Jitsi Meet, какое внутреннее имя хоста следует использовать для гостей, не прошедших аутентификацию.




Затем откройте /etc/jitsi/jicofo/sip-communicator.properties:




sudo nano /etc/jitsi/jicofo/sip-communicator.properties




Добавьте следующую строку для завершения изменений конфигурации:/etc/jitsi/jicofo/sip-communicator.properties




org.jitsi.jicofo.auth.URL=XMPP:your_domain




Эта конфигурация перенаправляет процессы Jitsi Meet на локальный сервер, который выполняет аутентификацию пользователя, которая теперь обязательна.




Ваш экземпляр Jitsi Meet теперь настроен, и конференции могут создавать только зарегистрированные пользователи. После создания конференции к ней может присоединиться кто угодно без регистрации. Для этого им потребуется уникальный адрес конференции и пароль, если он задан создателем конференции.




Мы настроили Jitsi Meet так, чтобы требовать аутентификацию пользователей при создании конференций, и теперь вам нужно зарегистрировать этих пользователей и их пароли. Для этого мы используем утилиту prosodyctl.




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




sudo prosodyctl register user your_domain password




Добавляемый здесь пользователь не является системным пользователем. Этот пользователь сможет только создать конференцию, но не сможет войти на ваш сервер через SSH.




Перезапустите процессы Jitsi Meet для загрузки новой конфигурации:




sudo systemctl restart prosody.service
sudo systemctl restart jicofo.service
sudo systemctl restart jitsi-videobridge2.service




Теперь экземпляр Jitsi Meet будет требовать ввести имя пользователя и пароль в диалоге при создании конференции.







Теперь ваш сервер Jitsi Meet настроен и имеет защищенную конфигурацию.




Заключение




В этой статье мы рассказали о развертывании сервера Jitsi Meet, который вы можете использовать для хостинга защищенных частных видеоконференций. Теперь вы можете дополнить свой экземпляр Jitsi Meet инструкциями из Jitsi Meet Wiki.



2021-08-17T10:04:48
Software