По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Всем привет! Сегодня статью мы посвятим рассказу о протоколе DHCP (Dynamic Host Configuration Protocol) – что он из себя представляет, для чего он нужен и как он работает. DHCP доступен как для IPv4 (DHCPv4) , так и для IPv6 (DHCPv6) . В этой статье мы рассмотрим версию для IPv4. А следующей статье мы расскажем про его настройку. DHCP за 200 секунд Порассуждаем Каждому устройству, подключенному к сети, нужен уникальный IP-адрес. Сетевые администраторы назначают статические IP-адреса маршрутизаторам, серверам, принтерам и другим сетевым устройствам, местоположение которых (физическое и логическое) вряд ли изменится. Обычно это устройства, предоставляющие услуги пользователям и устройствам в сети, поэтому назначенные им адреса должны оставаться постоянными. Кроме того, статические адреса позволяют администраторам удаленно управлять этими устройствами – до них проще получить доступ к устройству, когда они могут легко определить его IP-адрес. Однако компьютеры и пользователи в организации часто меняют места, физически и логически. Это может быть сложно и долго назначать новые IP-адреса каждый раз, когда сотрудник перемещается. А для мобильных сотрудников, работающих из удаленных мест, вручную настройка правильных параметров сети может быть весьма непростой задачей. Использование DHCP в локальной сети упрощает назначение IP-адресов как на настольных, так и на мобильных устройствах. Использование централизованного DHCP-сервера позволяет администрировать все назначения динамических IP-адресов с одного сервера. Эта практика делает управление IP-адресами более эффективным и обеспечивает согласованность внутри организации, включая филиалы. DHCPv4 динамически назначает адреса IPv4 и другую информацию о конфигурации сети. Отдельный сервер DHCPv4 является масштабируемым и относительно простым в управлении. Однако в небольшом офисе маршрутизатор может быть настроен для предоставления услуг DHCP без необходимости выделенного сервера. DHCPv4 включает три разных механизма распределения адресов для обеспечения гибкости при назначении IP-адресов: Ручное распределение(Manual Allocation) - администратор назначает предварительно установленный IPv4-адрес клиенту, а DHCP сервер передает IPv4-адрес на устройство. Автоматическое распределение(Automatic Allocation) - DHCPv4 автоматически назначает статический IPv4-адрес на устройство, выбирая его из пула доступных адресов. Нет аренды (lease), и адрес постоянно назначается устройству. Динамическое распределение (Dynamic Allocation) - DHCPv4 динамически назначает или дает в аренду IPv4-адрес из пула адресов в течение ограниченного периода времени, выбранного сервером, или пока клиент больше не нуждается в адресе. Динамическое распределение является наиболее часто используемым механизмом DHCP и при его использовании клиенты арендуют информацию с сервера на определенный период. DHCP серверы настраивают так, чтобы установить аренду (лизинг) с различными интервалами. Аренда обычно составляет от 24 часов до недели или более. Когда срок аренды истекает, клиент должен запросить другой адрес, хотя обычно он снова получает старый. Механизм работы DHCP DHCPv4 работает в режиме клиент/сервер. Когда клиент взаимодействует с сервером DHCPv4, сервер назначает или арендует IPv4-адрес этому клиенту. Он подключается к сети с этим арендованным IP-адресом до истечения срока аренды и должен периодически связываться с сервером DHCP, чтобы продлить аренду. Этот механизм аренды гарантирует, что клиенты, которые перемещаются или выходят из строя, не сохраняют за собой адреса, которые им больше не нужны. По истечении срока аренды сервер DHCP возвращает адрес в пул, где он может быть перераспределен по мере необходимости. Рассмотрим процесс получения адреса: Когда клиент загружается (или хочет присоединиться к сети), он начинает четырехэтапный процесс для получения аренды. Он запускает процесс с широковещательным (broadcast) сообщением DHCPDISCOVER со своим собственным MAC-адресом для обнаружения доступных серверов DHCPv4. Поскольку у клиента нет способа узнать подсеть, к которой он принадлежит, у сообщения DHCPDISCOVER адрес назначения IPv4 адреса -255.255.255.255. А поскольку у клиента еще нет настроенного адреса IPv4, то исходный IPv4-адрес - 0.0.0.0. Сообщение DHCPDISCOVER находит серверы DHCPv4 в сети. Поскольку клиент не имеет IPv4 информации при загрузке, он использует широковещательные адреса 2 и 3 уровня для связи с сервером. Когда DHCPv4-сервер получает сообщение DHCPDISCOVER, он резервирует доступный IPv4-адрес для аренды клиенту. Сервер также создает запись ARP, состоящую из MAC-адреса клиента и арендованного IPv4-адреса DHCP сервер отправляет связанное сообщение DHCPOFFER запрашивающему клиенту, как одноадресная передача (unicast), используя MAC-адрес сервера в качестве исходного адреса и MAC-адрес клиента в качестве адреса доставки. Когда клиент получает DHCPOFFER с сервера, он отправляет обратно сообщение DHCPREQUEST. Это сообщение используется как для получения, так и для продления аренды. Когда используется для получения аренды, DHCPREQUEST служит в качестве уведомления о принятии выбранных сервером параметров, которые он предложил, и отклонении предложения от других серверов. Многие корпоративные сети используют несколько DHCP серверов, и сообщение DHCPREQUEST отправляется в виде широковещательной передачи, чтобы информировать все серверы о принятом предложении. При получении сообщения DHCPREQUEST сервер проверяет информацию об аренде с помощью ICMP-запроса на этот адрес, чтобы убедиться, что он уже не используется и создает новую ARP запись для аренды клиента, а затем отвечает одноадресным DHCPACK-сообщением. Это сообщение является дубликатом DHCPOFFER, за исключением изменения поля типа сообщения. Когда клиент получает сообщение DHCPACK, он регистрирует информацию и выполняет поиск ARP для назначенного адреса. Если ответа на ARP нет, клиент знает, что адрес IPv4 действителен и начинает использовать его как свой собственный. Теперь рассмотрим, как происходит продление аренды адреса: Когда срок аренды истек, клиент отправляет сообщение DHCPREQUEST непосредственно DHCP серверу, который первоначально предлагал адрес. Если DHCPACK не получен в течение определенного периода времени, то клиент передает другой DHCPREQUEST, чтобы один из других доступных серверов DHCPv4 мог продлить аренду. При получении сообщения DHCPREQUEST сервер проверяет информацию об аренде, возвращая DHCPACK
img
Rocket.Chat — это бесплатный масштабируемый open source корпоративный чат, разработанный с помощью Meteor. Rocket.Chat можно считать аналогом Slack, который можно развернуть на своем сервере, и подключаться к нему с клиентов на Linux, Windows, macOS, Android и iOS. Функции Rocket.Chat Чат в реальном времени Аудиоконференции Видеоконференции Каналы Гостевой вход Трансляция экрана Передача файлов Полнофункциональный API Для обеспечения безопасности используется: Групповая синхронизация LDAP Двухфакторная аутентификация 2FA Сквозное шифрование Единый вход SSO Несколько поставщиков Oauth аутентификации Рассказываем как установить и настроить сервер и клиент Rocket.Chat в Linux. Шаг 1. Установка Snap в Linux Для простоты мы будем использовать систему управления пакетами Snaps. Первым делом надо установить пакет snapd c помощью диспетчера пакетов. $ sudo apt install snapd #Ubuntu и Debian $ sudo dnf install snapd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install snapd #CentOS/RHEL 7 Далее необходимо включить модуль systemd, который управляет основным сокетом мгновенной связи. Эта команда запустит сокет и позволит ему запускаться при загрузке системы. $ sudo systemctl enable --now snapd.socket Шаг 2: Установка Rocket.Chat в Linux Для установки rocketchat-server выполните: $ sudo snap install rocketchat-server Когда установка через snap будет завершена, rocket.chat сервер начнет работать и прослушивать порт 3000. Далее откройте веб-браузер и введите следующий адрес, чтобы настроить rocket.chat через GUI. http://SERVER_IP:3000 После загрузки мастера настройки укажите следующие параметры: полное имя администратора, имя пользователя, адрес электронной почты организации и пароль. Далее надо указать информацию об организации: тип организации, название, отрасль, размер, страна и сайт. Затем нужно указать информацию о сервере - имя сайта, язык, тип сервера, и включение или отключение двухфакторной аутентификации 2FA. На следующей странице нужно зарегистрировать сервер. Здесь есть две опции. Первая - использовать предварительно настроенные шлюзы и прокси, предоставленные Rocket.Chat Вторая - сохранить автономность и создать учетные записи у поставщиков услуг, обновить предварительно настроенные параметры, а также перекомпилировать мобильные приложения с вашими частными сертификатами. Настройка завершена, и ваше рабочее пространство готово, теперь надо нажать Go to your workspace (Перейти в рабочее пространство) Вот так оно выглядит. Шаг 3: Настройка обратного прокси для Rocket.Chat Обратный прокси-сервер, например nginx или Apache, позволяет настроить приложение Rocket.Chat для доступа через домен или поддомен. Rocket.Chat является сервером приложений среднего уровня, который не поддерживает SSL/TLS. Обратный прокси-сервер позволит настраивать сертификаты SSL/TLS для включения HTTPS. Обратный прокси Nginx для Rocket.Chat Сначала установите Nginx. $ sudo apt apt install nginx #Ubuntu/Debian $ sudo dnf install nginx #Fedora 22+/CentOS/RHEL 8 $ sudo yum install nginx #CentOS/RHEL 7 Далее запустите службу Nginx, включите ее автоматический запуск при загрузке системы и проверьте ее статус $ sudo systemctl enable --now nginx $ sudo systemctl status nginx Затем создайте block файл виртуального сервера для приложения Rocket.Chat, например, в каталоге /etc/nginx/conf.d/. $ sudo vim /etc/nginx/conf.d/chat.merionet.com.conf Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните. upstream backend { server 127.0.0.1:3000; } server { listen 80; server_name chat.merionet.com; # You can increase the limit if you need to. client_max_body_size 200M; error_log /var/log/nginx/chat.merionet.com.log; location / { proxy_pass http://backend/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } } Наконец проверьте синтаксис и перезапустите службу Nginx. $ sudo nginx -t $ sudo systemctl restart nginx Обратный прокси Apache для Rocket.Chat Установите пакет Apache2 $ sudo apt install apache2 #Ubuntu/Debian $ sudo dnf install httpd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install httpd #CentOS/RHEL 7 Далее запустите и включите службу apache и проверьте, запущена ли она и работает. ----- В Ubuntu/Debian ----- $ sudo systemctl enable --now apache2 $ sudo systemctl status apache2 ----- В CentsOS/RHEL 7/8 ----- $ sudo systemctl enable --now httpd $ sudo systemctl status httpd Затем создайте файл виртуального хоста для приложения Rocket.Chat, например, в каталоге /etc/apache2/sites-available/ или /etc/httpd/conf.d/. ----- В Ubuntu/Debian ----- $ sudo vim /etc/apache2/sites-available/chat.merionet.com.conf ----- В CentsOS/RHEL 7/8 ----- $ sudo vim /etc/httpd/conf.d/chat.merionet.com.conf Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните. <VirtualHost *:80> ServerAdmin admin@merionet.ru ServerName chat.merionet.com LogLevel info ErrorLog /var/log/chat.merionet.com_error.log TransferLog /var/log/chat.merionet.com_access.log <Location /> Require all granted </Location> RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule /(.*) ws://localhost:3000/$1 [P,L] RewriteCond %{HTTP:Upgrade} !=websocket [NC] RewriteRule /(.*) http://localhost:3000/$1 [P,L] ProxyPassReverse / http://localhost:3000/ </VirtualHost> В Ubuntu и Debian включите необходимые модули apache2 и перезапустите службу. $ sudo a2enmod proxy_http $ sudo a2enmod proxy_wstunnel $ sudo a2enmod rewrite $ sudo systemctl restart apache2 В CentOS/RHEL и Fedora перезапустите службу apache. # systemctl restart httpd Теперь откройте браузер и введите ваш настроенный адрес и приложение Rocket.Chat станет доступно через ваш домен, настроенный на прокси-сервере. http://chat.merionet.com Шаг 4: Установка клиентов Rocket.Chat Клиентские приложения можно скачать с официального сайта Rocket.Chat. Чтобы установить десктопное приложение в Linux, вы загрузите пакет deb (x64) или rpm (x64) в зависимости от вашего дистрибутива Linux. $ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb Или $ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm Затем установите пакет с помощью диспетчера пакетов dpkg или rpm $ sudo dpkg -i rocketchat_2.17.7_amd64.deb #Ubuntu/Debian $ sudo rpm -i rocketchat-2.17.7.x86_64.rpm #CentOS/RedHat Ручная установка Rocket.Chat Если вы не хотите устанавливать Rocket.Chat через Snaps, вы можете сделать это вручную. Установка Node.js Сначала обновите список системных пакетов: sudo apt update Установите Node.js, npm и все другие зависимости, необходимые для сборки пакетов npm из исходного кода: sudo apt install nodejs npm build-essential curl software-properties-common graphicsmagick Мы будем использовать n, пакет npm, который позволяет интерактивно управлять версиями Node.js. Выполните команды ниже, чтобы установить n и Node.js: sudo npm install -g inherits n sudo n 8.11.3 Установка MongoDB MongoDB - это документно-ориентированная база данных NoSQL, которая используется Rocket.Chat для хранения данных. Импортируйте открытый ключ MongoDB и включите официальный репозиторий MongoDB: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse' После включения репозитория apt обновите список пакетов и установите MongoDB, набрав: sudo apt update sudo apt install mongodb-org Затем включите и запустите службу MongoDB: sudo systemctl start mongod sudo systemctl enable mongod Создание нового системного пользователя Теперь необходимо создать нового пользователя и группу с именем rocket, которые будут запускать инстанс Rocket.Chat. sudo useradd -m -U -r -d /opt/rocket rocket Добавьте пользователя www-data в новую группу пользователей и измените права доступа к каталогу /opt/rocket, чтобы Nginx мог получить доступ к установке Rocket.Chat: sudo usermod -a -G rocket www-data sudo chmod 750 /opt/rocket Установка Rocket.Chat Переключитесь на пользователя rocket sudo su - rocket Загрузите последнюю стабильную версию Rocket.Chat с помощью curl: curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz После завершения загрузки извлеките архив и переименуйте каталог в Rocket.Chat: tar zxf rocket.chat.tgz mv bundle Rocket.Chat Перейдите в каталог Rocket.Chat/programs/server и установите все необходимые пакеты npm: cd Rocket.Chat/programs/server npm install Чтобы протестировать нашу установку перед созданием модуля systemd и настройкой обратного прокси с Nginx или Apache, мы установим необходимые переменные среды и запустим сервер Rocket.Chat export PORT=3000 export ROOT_URL=http://0.0.0.0:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat Вернитесь в каталог Rocket.Chat и запустите сервер Rocket.Chat, введя следующие команды: cd ../../ node main.js Если ошибок нет, вы должны увидеть следующий вывод: ? +---------------------------------------------+ ? | SERVER RUNNING | ? +---------------------------------------------+ ? | | ? | Rocket.Chat Version: 0.71.1 | ? | NodeJS Version: 8.11.3 - x64 | ? | Platform: linux | ? | Process Port: 3000 | ? | Site URL: http://0.0.0.0:3000/ | ? | ReplicaSet OpLog: Disabled | ? | Commit Hash: e73dc78ffd | ? | Commit Branch: HEAD | ? | | ? +---------------------------------------------+ Остановите сервер Rocket.Chat с помощью Ctrl+C и вернитесь к своему пользователю sudo, набрав exit. Создание модуль Systemd Чтобы запустить Rocket.Chat как службу, нужно создать файл модуля rocketchat.service в каталоге /etc/systemd/system/. sudo nano /etc/systemd/system/rocketchat.service Вставьте следующий код: [Unit] Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target [Service] StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=https://chat.merionet.com PORT=3000 ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js [Install] WantedBy=multi-user.target Сообщите systemd, что мы создали новый файл модуля, и запустите службу Rocket.Chat, выполнив: sudo systemctl daemon-reload sudo systemctl start rocketchat Проверьте статус сервиса: sudo systemctl status rocketchat Вывод должен быть таким: * rocketchat.service - Rocket.Chat server Loaded: loaded (/etc/systemd/system/rocketchat.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2018-11-07 14:36:24 PST; 5s ago Main PID: 12693 (node) Tasks: 10 (limit: 2319) CGroup: /system.slice/rocketchat.service `-12693 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js Наконец, включите автоматический запуск службы Rocket.Chat во время загрузки: sudo systemctl enable rocketchat Готово, мы установили Rocket.Chat вручную, теперь можно переходить к настройке обратного прокси и инициализации системы, которые были описаны начиная с шага 3. Итоги В этом руководстве вы узнали, как установить Rocket.Chat в Linux и как настроить Nginx и Apache в качестве обратного прокси. Чтобы узнать больше о Rocket.Chat посетите страницу документации.
img
Сегодня мы подробно поговорим и модификациях протокола SIP, разработанных специально для взаимодействия телефонных сетей VoIP с сетями PSTN – Public Switched Telephone Network (ТфОП), использующих сигнализацию ОКС-7. С развитием IP - сетей , преимущества VoIP телефонии становились всё более очевидными, однако подавляющая часть АТС всё ещё имеет дело с сигнализацией ОКС-7, которая используется в таких сетях как ISDN - Integrated Services Digital Network (Цифровая Сеть с Интеграцией Служб), ТфОП – Телефонная Сеть Общего Пользования, а также в Сетях Подвижной Сотовой Связи (СПСС). В качестве подсистемы, обеспечивающей межстанционную сигнализацию, в данных сетях применяется подсистема ISUP – ISDN User Part. ISUP решает задачи транспортировки сигнальной информации от офисной телефонной станции до станции назначения без обработки данной информации в промежуточных пунктах сигнализации. Прежде всего ISUP необходим для управления установлением соединения. Протокол ISUP имеет множество типов сообщений, каждое из которых применяется на определенном этапе установления соединения. Запомнить назначение всех этих сообщений не представляется возможным. Мы не будем описывать каждое сообщение в отдельности, а лишь приведём примеры основных, встречающихся в трассировках любого вызова по протоколу ISUP. IAM (Initial Address Message) - Самое первое сообщение. Служит для информирования АТС об установлении соединения. Содержит такие параметры как: номер вызывающего и вызываемого абонента, тип данных (данные, голос и другие). ACM (Address Complete Message) - Сообщение о приеме полного номера. Отправляется вызываемой АТС, когда был найден необходимый для установления соединения абонент. В этот момент телефонный аппарат вызываемого абонента начинает звонить, а вызывающий абонент слышит КПВ (Контроль Посылки Вызова) ANM (Answer Message) - Отправляется вызываемой АТС, когда вызывающий абонент снимает трубку. Занимаются двухсторонние разговорные каналы. REL (Release) - Отправляется одной из АТС, когда абонент инициирует завершение соединения (кладёт трубку). RLC (Release complete) - Подтверждение разрыва соединения. Отправляя данное сообщение, АТС уведомляет о том, что разговорный канал свободен и может вновь быть использован. Очевидно, что для сопряжения сетей VoIP с сетями, работающими по сигнализации ОКС-7, необходимо реализовать механизмы прозрачной передачи сообщений ISUP по IP. Для решения данной задачи ITU-T и IETF независимо разработали модификации к протоколу SIP - SIP- I (Internetworking) и SIP – T (Telephony)( RFC 3372) соответственно. При разработке данных модификаций, были учтены следующие требования: Возможность прозрачной передачи сообщений протокола ISUP Возможность маршрутизации сообщения протокола SIP на основе параметров ISUP Возможность передачи транспортной информации при установлении соединения. Выполнение данных условий осуществляется путем инкапсуляции сигнальных сообщений ISUP в SIP, а также трансляцией параметров ISUP в заголовках SIP. Итак, от теории к практике. Рассмотрим простейший пример установления соединения в сети с разнотипной сигнализацией. Допустим, что а Абонент A - пользователь ТфОП, его телефонный аппарат находится за неким узлом связи, Абонент B использует IP Phone, работающий по протоколу SIP. За трансляцию сообщений ISUP в SIP будет отвечать некий многофункциональный шлюз IMG (Integrated Media Gateway) Задержки в сети Как видно из рисунка инициатором вызова выступает Абонент A, на шлюз отправляется сообщение IAM, содержащее номера телефонов, а также дополнительные параметры соединения, IMG в свою очередь инкапсулирует сообщение IAM протокола ISUP, в уже известное нам INVITE протокола SIP. Далее легко проследить каким ещё сообщениям протокола SIP соответствуют некоторые запросы ISUP. Стоит также заметить, что протокол ISUP на этапе разговора открывает некий двухсторонний разговорный канал, идентификатор которого находится в сообщении IAM и называется CIC (Circuit Identification Code). Таким образом, благодаря модификациям протокола SIP на сегодняшний день имеется возможность связать абонентов сетей разных типов, использующих разную сигнализацию для управления установлением соединения.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59