По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Всем привет! Сегодня мы рассмотрим параметры Option 150 и Option 66 в протоколе DHCP, которые используются VoIP для того чтобы телефонный аппарат мог найти TFTP сервер и забрать оттуда всю необходимую информацию.
Для IP-телефонов Cisco адресация может быть назначена вручную или при помощи протокола DHCP. При этом устройствам требуется доступ до TFTP сервера, который содержит файлы конфигурации телефона формата .cnf, при помочи которых телефон связывается с CUCM или CME.
Телефоны скачивают свою конфигурацию с TFTP сервера и когда телефон запускается и у него нет предварительно настроенного IP-адреса и TFTP-сервера, он отправляет запрос с параметром 150 (option 150) на сервер DHCP для получения этой информации.
Опция 150 DHCP является собственностью компании Cisco. Стандартом IEEE, который соответствует этому требованию, является Option 66. Как и Option 150, Option 66 используется для указания имени TFTP-сервера.
Option 66 является открытым стандартом, определенным в RFC 2132, который поддерживает устройства Juniper.
При этом между этими опциями есть разница:
DHCP Option 150 поддерживает список TFTP-серверов (множество IP-адресов серверов).
DHCP Option 66 поддерживает только IP-адрес или имя хоста одного сервера TFTP.
Настройка
Конфигурация Juniper DHCP Option 66:
set system services dhcp pool 10.1.1.0/24 boot-file test.cnf // option 67
set system services dhcp pool 10.1.1.0/24 next-server 20.1.1.25 // option 66
Мы можем указать следующий TFTP-сервере как глобально, так и специфично для пула. Если следующий сервер настроен в обоих местах, тогда будет использоваться IP-адрес, указанный в пуле.
Конфигурация Cisco DHCP Option150:
ip dhcp pool vlan 10
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254
option 150 ip 10.10.22.99 10.10.22.100
Тут, как видно, можно сразу настроить несколько IP-адресов.
А если хотите поподробнее узнать про настройку DHCP сервера на оборудовании Cisco, то про это прочитать можно тут, тут и тут.
RPM (Red Hat Package Manager) - это наиболее популярная утилита управления пакетами для Linux систем на базе Red Hat, таких как (RHEL, CentOS и Fedora). Она используется для установки, удаления, обновления, запроса и проверки пакетов программного обеспечения. Пакет состоит из архива файлов и информации о пакете, включая имя, версию и описание. Формат файлов также называется RPM.
Есть несколько способов откуда можно взять пакеты RPM: CD/DVD с программным обеспечением, CentOS Mirror, RedHat (нужен аккаунт) или любые открытые сайты репозитория.
В RPM используется несколько основных режимов команд: Install (используется для установки любого пакета RPM), Remove (используется для удаления, стирания или деинсталляции пакета), Upgrade (используется для обновления существующего пакета), Query (используется для запроса пакета) и Verify (используется для проверки пакетов RPM).
Рассмотрим это на примере. У нас есть пакет, и теперь посмотрим, что мы можем с ним делать.
Установка
Как узнать информацию о пакете RPM без установки?
После того, как мы скачали пакет мы хотим узнать информацию о пакете перед установкой. Мы можем использовать -qipoption (запрос информации о пакете), чтобы вывести информацию о пакете.
$ sudo rpm -qip GeoIP-1.5.0-11.el7.x86_64.rpm
Вывод:
Name : GeoIP
Version : 1.5.0
Release : 11.el7
Architecture: x86_64
Install Date: (not installed)
Group : Development/Libraries
Size : 2905020
License : LGPLv2+ and GPLv2+ and CC-BY-SA
Signature : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5
Source RPM : GeoIP-1.5.0-11.el7.src.rpm
Build Date : Sat 05 Nov 2016 08:29:17 PM UTC
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem
Vendor : CentOS
URL : http://www.maxmind.com/app/c
Summary : Library for country/city/organization to IP address or hostname mapping
Description :
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from. It uses a file based database that is
accurate as of June 2007 and can optionally be updated on a weekly
basis by installing the GeoIP-update package. This database simply contains IP
blocks as keys, and countries as values. This database should be more complete
and accurate than using reverse DNS lookups.
This package includes GeoLite data created by MaxMind, available from
http://www.maxmind.com/
Как установить RPM пакет?
Мы можем использовать параметр -ivh для установки определенного пакета, как показано ниже.
$ sudo rpm -ivh GeoIP-1.5.0-11.el7.x86_64.rpm
Вывод:
Preparing... ################################# [100%]
package GeoIP-1.5.0-11.el7.x86_64 is already installed
Как проверить установленный пакет RPM?
Мы можем использовать параметр -q с именем пакета, и он покажет, установлен ли пакет или нет.
$ sudo rpm -q GeoIP
Вывод:
GeoIP-1.5.0-11.el7.x86_64
Как вывести список всех файлов для определенного установленного пакета RPM?
Мы можем перечислить все файлы установленных пакетов rpm, используя опцию -ql с командой rpm.
$ sudo rpm -ql GeoIP
Вывод:
/etc/GeoIP.conf
/etc/GeoIP.conf.default
/usr/bin/geoiplookup
/usr/bin/geoiplookup6
/usr/bin/geoipupdate
/usr/lib64/libGeoIP.so.1
/usr/lib64/libGeoIP.so.1.5.0
/usr/lib64/libGeoIPUpdate.so.0
/usr/lib64/libGeoIPUpdate.so.0.0.0
/usr/share/GeoIP
/usr/share/GeoIP/GeoIP-initial.dat
/usr/share/GeoIP/GeoIP.dat
/usr/share/GeoIP/GeoIPASNum.dat
/usr/share/GeoIP/GeoIPASNumv6.dat
/usr/share/GeoIP/GeoIPCity.dat
/usr/share/GeoIP/GeoIPCityv6.dat
/usr/share/GeoIP/GeoIPCountry.dat
/usr/share/GeoIP/GeoIPCountryv6.dat
/usr/share/GeoIP/GeoIPv6-initial.dat
...
Как вывести список недавно установленных пакетов RPM?
Мы можем использовать параметр -qa с параметром --last, в котором будут перечислены все недавно установленные пакеты rpm.
$ sudo rpm -qa --last
Вывод
GeoIP-1.5.0-11.el7.x86_64 Sat 01 Sep 2019 11:34:09 AM UTC
wget-1.14-15.el7_4.1.x86_64 Sun 26 Aug 2019 03:21:02 PM UTC
iwl7265-firmware-22.0.7.0-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:18 PM UTC
libgomp-4.8.5-28.el7_5.1.x86_64 Thu 16 Aug 2019 02:10:15 PM UTC
iwl2030-firmware-18.168.6.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:15 PM UTC
iptables-1.4.21-24.1.el7_5.x86_64 Thu 16 Aug 2019 02:10:15 PM UTC
yum-plugin-fastestmirror-1.1.31-46.el7_5.noarch Thu 16 Aug 2019 02:10:14 PM UTC
iwl6000-firmware-9.221.4.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:14 PM UTC
iwl4965-firmware-228.61.2.24-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:14 PM UTC
iwl105-firmware-18.168.6.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:14 PM UTC
iwl100-firmware-39.31.5.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:13 PM UTC
iwl1000-firmware-39.31.5.1-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:13 PM UTC
ca-certificates-2018.2.22-70.0.el7_5.noarch Thu 16 Aug 2019 02:10:13 PM UTC
iwl6000g2b-firmware-17.168.5.2-62.2.el7_5.noarch Thu 16 Aug 2019 02:10:12 PM UTC
...
Как установить RPM пакет без зависимостей?
Мы можем использовать параметры -ivh с параметром --nodeps для проверки отсутствия зависимостей, чтобы установить конкретный пакет без зависимостей, как показано ниже.
$ sudo rpm -ivh --nodeps GeoIP-1.5.0-11.el7.x86_64.rpm
Вывод
Preparing... ################################# [100%]
Как заменить установленный пакет RPM?
Мы можем использовать параметры -ivh –replacepkgs для замены установленного пакета.
$ sudo rpm -ivh --replacepkgs GeoIP-1.5.0-11.el7.x86_64.rpm
Вывод
Preparing... ################################# [100%]
Updating / installing...
1:GeoIP-1.5.0-11.el7 ################################# [100%]
Удаление
Как удалить пакет RPM?
Мы можем использовать параметр -e для удаления определенного пакета, установленного без зависимостей. Обратите внимание, что удаление определенного пакета может нарушить работу других приложений.
$ sudo rpm -e --nodeps GeoIP
Обновление
Как обновить установленный пакет RPM?
Для обновления пакета мы используем параметры -Uvh
$ sudo rpm -Uvh GeoIP-1.5.0-11.el7.x86_64.rpm
Запрос
Как запросить все установленные пакеты?
Мы можем использовать параметры -a вместе с q для запроса всех установленных пакетов на сервере.
$ sudo rpm -qa
Вывод
python-firewall-0.4.4.4-14.el7.noarch
ncurses-base-5.9-14.20130511.el7_4.noarch
plymouth-0.8.9-0.31.20140113.el7.centos.x86_64
kbd-misc-1.15.5-13.el7.noarch
vim-common-7.4.160-4.el7.x86_64
bash-4.2.46-30.el7.x86_64
dmidecode-3.0-5.el7.x86_64
filesystem-3.2-25.el7.x86_64
kbd-1.15.5-13.el7.x86_64
vim-enhanced-7.4.160-4.el7.x86_64
firewalld-0.4.4.4-14.el7.noarch
....
Как запросить конкретный пакет?
Мы можем использовать команду grep, чтобы узнать, установлен ли конкретный пакет или нет.
$ sudo rpm -qa | grep GeoIP
Вывод
GeoIP-1.5.0-11.el7.x86_64
Как запросить файл, который принадлежит пакету RPM?
Чтобы узнать к какому пакету RPM относится файл /usr/lib64/libGeoIP.so.1.5.0. используем следующую команду.
$ sudo rpm -qf /usr/lib64/libGeoIP.so.1.5.0
Вывод
GeoIP-1.5.0-11.el7.x86_64
Проверка
Как получить информацию для конкретного пакета?
Мы можем использовать параметры -i вместе с q, чтобы получить информацию для конкретного пакета, как показано ниже.
$ sudo rpm -qi GeoIP
Вывод
Name : GeoIP
Version : 1.5.0
Release : 11.el7
Architecture: x86_64
Install Date: Thu 16 Aug 2018 02:04:09 PM UTC
Group : Development/Libraries
Size : 2905020
License : LGPLv2+ and GPLv2+ and CC-BY-SA
Signature : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5
Source RPM : GeoIP-1.5.0-11.el7.src.rpm
Build Date : Sat 05 Nov 2016 08:29:17 PM UTC
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem
Vendor : CentOS
URL : http://www.maxmind.com/app/c
Summary : Library for country/city/organization to IP address or hostname mapping
Description :
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from. It uses a file based database that is
accurate as of June 2007 and can optionally be updated on a weekly
basis by installing the GeoIP-update package. This database simply contains IP
blocks as keys, and countries as values. This database should be more complete
and accurate than using reverse DNS lookups.
This package includes GeoLite data created by MaxMind, available from http://www.maxmind.com/
Как проверить RPM пакет?
Мы можем проверить пакет, сравнив информацию об установленных файлах пакета с базой данных rpm, используя опцию -Vp.
$ sudo rpm -Vp GeoIP-1.5.0-11.el7.x86_64.rpm
Как проверить все пакеты RPM?
Мы можем проверить все установленные пакеты rpm, используя опцию -Va
$ sudo rpm -Va
Вывод
S.5....T. c /etc/sysconfig/authconfig
S.5....T. c /etc/yum.repos.d/CentOS-Base.repo
.M....... c /etc/machine-id
.M....... g /etc/udev/hwdb.bin
.M....... g /var/lib/systemd/random-seed
.M....... c /etc/shadow
S.5....T. c /etc/ssh/sshd_config
.M....... c /etc/audit/rules.d/audit.rules
S.5....T. c /etc/NetworkManager/NetworkManager.conf
....L.... c /etc/pam.d/fingerprint-auth
....L.... c /etc/pam.d/password-auth
....L.... c /etc/pam.d/postlogin
Современные веб-сайты и приложения генерируют большой трафик и одновременно обслуживают многочисленные запросы клиентов. Балансировка нагрузки помогает удовлетворить эти запросы и обеспечивает быстрый и надежный отклик веб-сайта и приложений.
В этой статье вы узнаете, что такое балансировка нагрузки, как она работает и какие существуют различные типы балансировки нагрузки.
Что такое балансировка нагрузки?
Балансировка нагрузки (Load Balancing) распределяет высокий сетевой трафик между несколькими серверами, позволяя организациям масштабироваться для удовлетворения рабочих нагрузок с высоким трафиком. Балансировка направляет запросы клиентов на доступные серверы, чтобы равномерно распределять рабочую нагрузку и улучшать скорость отклика приложений, тем самым повышая доступность веб-сайта или сервера.
Балансировка нагрузки применяется к уровням 4-7 в семиуровневой модели OSI.
Возможности балансировки:
L4. Направление трафика на основе сетевых данных и протоколов транспортного уровня, например IP-адреса и TCP-порта.
L7. Добавляет переключение содержимого в балансировку нагрузки, позволяя принимать решения о маршрутизации в зависимости от таких характеристик, как HTTP-заголовок, унифицированный идентификатор ресурса, идентификатор сеанса SSL и данные HTML-формы.
GSLB. Global Server Load Balancing расширяет возможности L4 и L7 на серверы на разных сайтах.
Почему важна балансировка нагрузки?
Балансировка нагрузки необходима для поддержания информационного потока между сервером и пользовательскими устройствами, используемыми для доступа к веб-сайту (например, компьютерами, планшетами, смартфонами).
Есть несколько преимуществ балансировки нагрузки:
Надежность. Веб-сайт или приложение должны обеспечивать хороший UX даже при высоком трафике. Балансировщики нагрузки обрабатывают пики трафика, эффективно перемещая данные, оптимизируя использование ресурсов доставки приложений и предотвращая перегрузки сервера. Таким образом, производительность сайта остается высокой, а пользователи остаются довольными.
Доступность. Балансировка нагрузки важна, поскольку она включает периодические проверки работоспособности между балансировщиком нагрузки и хост-машинами, чтобы гарантировать, что они получают запросы. Если одна из хост-машин не работает, балансировщик нагрузки перенаправляет запрос на другие доступные устройства.
Балансировщики нагрузки также удаляют неисправные серверы из пула, пока проблема не будет решена. Некоторые подсистемы балансировки нагрузки даже создают новые виртуализированные серверы приложений для удовлетворения возросшего количества запросов.
Безопасность. Балансировка нагрузки становится требованием для большинства современных приложений, особенно с добавлением функций безопасности по мере развития облачных вычислений. Функция разгрузки балансировщика нагрузки защищает от DDoS-атак, перекладывая трафик атак на общедоступного облачного провайдера, а не на корпоративный сервер.
Прогнозирование. Балансировка нагрузки включает аналитику, которая может предсказать узкие места трафика и позволить организациям их предотвратить. Прогнозные аналитические данные способствуют автоматизации и помогают организациям принимать решения на будущее.
Как работает балансировка нагрузки?
Балансировщики нагрузки находятся между серверами приложений и пользователями в Интернете. Как только балансировщик нагрузки получает запрос, он определяет, какой сервер в пуле доступен, а затем направляет запрос на этот сервер.
Направляя запросы на доступные серверы или серверы с более низкой рабочей нагрузкой, балансировка нагрузки снимает нагрузку с загруженных серверов и обеспечивает высокую доступность и надежность.
Балансировщики нагрузки динамически добавляют или отключают серверы в случае высокого или низкого спроса. Таким образом, обеспечивается гибкость.
Балансировка нагрузки также обеспечивает аварийное переключение в дополнение к повышению производительности. Балансировщик нагрузки перенаправляет рабочую нагрузку с отказавшего сервера на резервный, уменьшая воздействие на конечных пользователей.
Типы балансировки нагрузки
Балансировщики нагрузки различаются по типу хранилища, сложности и функциональности балансировщика. Ниже описаны различные типы балансировщиков нагрузки.
Аппаратное обеспечение (Hardware-Based)
Аппаратный балансировщик нагрузки - это специализированное оборудование с установленным проприетарным программным обеспечением. Он может обрабатывать большие объемы трафика от различных типов приложений.
Аппаратные балансировщики нагрузки содержат встроенные возможности виртуализации, которые позволяют использовать несколько экземпляров виртуального балансировщика нагрузки на одном устройстве.
Программное обеспечение (Software-Based)
Программный балансировщик нагрузки работает на виртуальных машинах или серверах белого ящика, как правило, в составе ADC (application delivery controllers - контроллеры доставки приложений). Виртуальная балансировка нагрузки обеспечивает превосходную гибкость по сравнению с физической.
Программные балансировщики нагрузки работают на обычных гипервизорах, контейнерах или как процессы Linux с незначительными накладными расходами на bare metal сервере.
Виртуальный (Virtual)
Виртуальный балансировщик нагрузки развертывает проприетарное программное обеспечение для балансировки нагрузки с выделенного устройства на виртуальной машине для объединения двух вышеупомянутых типов. Однако виртуальные балансировщики нагрузки не могут решить архитектурные проблемы ограниченной масштабируемости и автоматизации.
Облачный (Cloud-Based)
Облачная балансировка нагрузки использует облачную инфраструктуру. Вот некоторые примеры облачной балансировки нагрузки:
Балансировка сетевой нагрузки. Балансировка сетевой нагрузки основана на уровне 4 и использует информацию сетевого уровня, чтобы определить, куда отправлять сетевой трафик. Это самое быстрое решение для балансировки нагрузки, но ему не хватает балансировки распределения трафика между серверами.
Балансировка нагрузки HTTP(S). Балансировка нагрузки HTTP(S) основана на уровне 7. Это один из наиболее гибких типов балансировки нагрузки, позволяющий администраторам принимать решения о распределении трафика на основе любой информации, поступающей с адресом HTTP.
Внутренняя балансировка нагрузки. Внутренняя балансировка нагрузки почти идентична балансировке сетевой нагрузки, за исключением того, что она может балансировать распределение во внутренней инфраструктуре.
Алгоритмы балансировки нагрузки
Различные алгоритмы балансировки нагрузки предлагают разные преимущества и сложность в зависимости от варианта использования. Наиболее распространенные алгоритмы балансировки нагрузки:
Round Robin (По-круговой)
Последовательно распределяет запросы на первый доступный сервер и по завершении перемещает этот сервер в конец очереди. Алгоритм Round Robin используется для пулов равных серверов, но он не учитывает нагрузку, уже имеющуюся на сервере.
Least Connections (Наименьшее количество подключений)
Алгоритм наименьшего количества подключений предполагает отправку нового запроса наименее загруженному серверу. Метод наименьшего соединения используется, когда в пуле серверов много неравномерно распределенных постоянных соединений.
Least Response Time (Наименьшее время отклика)
Балансировка нагрузки с наименьшим временем отклика распределяет запросы на сервер с наименьшим количеством активных подключений и с самым быстрым средним временем отклика на запрос мониторинга работоспособности. Скорость отклика показывает, насколько загружен сервер.
Hash (Хеш)
Алгоритм хеширования определяет, куда распределять запросы, на основе назначенного ключа, такого как IP-адрес клиента, номер порта или URL-адрес запроса. Метод Hash используется для приложений, которые полагаются на сохраненную информацию о пользователях, например, тележки на веб-сайтах интернет магазинов.
Custom Load (Пользовательская нагрузка)
Алгоритм Custom Load направляет запросы к отдельным серверам через SNMP (Simple Network Management Protocol). Администратор определяет нагрузку на сервер, которую балансировщик нагрузки должен учитывать при маршрутизации запроса (например, использование ЦП и памяти, а также время ответа).
Заключение
Теперь вы знаете, что такое балансировка нагрузки, как она повышает производительность и безопасность сервера и улучшает взаимодействие с пользователем.
Различные алгоритмы и типы балансировки нагрузки подходят для разных ситуаций и вариантов использования, и вы должны иметь возможность выбрать правильный тип балансировщика нагрузки для своего варианта использования.