По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В нашей базе знаний есть довольно много статей о различных полезных трюках и командах для Linux, которые облегчают жизнь системному администратору – сегодня поговорим ещё о нескольких командах и объясним их синтаксис. История введённых команд Представьте себе долгую и утомительную сессию по настройке вашего сервера, и, вдруг, вы понимаете, что какой-то шаг был выполнен неверно – в таком случае может очень пригодиться команда history - как видно на скриншоте ниже, она выводит все введённые команды. Более того, если вы хотите повторить какую-нибудь уже введённую команду, достаточно ввести !####, где #### - номер команды. Однако номер команды даёт не очень много информации о том, когда эта команда была введена – для изменения этого факта, достаточно ввести команду HISTTIMEFORMAT="%d/%m/%y %T " - теперь вы увидите время, когда команда была исполнена. Итак, более подробное описание синтаксиса: history - непосредственно команда для вывода истории команд (библиотека GNU); HISTIMEFORMAT - переменная, отвечающая за вывод и формат даты; %d - дни; %m - месяцы; %y - годы; %T - описание; Файлы в системе, занимающие больше всего места и файловая информация Драгоценное место на сервере имеет тенденцию заканчиваться, особенно, если это сервер, служащий для записи звонков или IP-АТС - для вывода списка основных файлов «жрущих» место можно воспользоваться командой: du –hsx * | sort -rh | head -6 du - оценка занимаемого пространства; -hsx (-h) вывод в читаемом формате,(-s) суммаризация вывода команды, (-x) использование одного формата файла; sort - сортировка; -rh -(-r) вывод в обратном порядке,(h) вывод в читаемом формате; head - вывод первых N строк, в данном случае – 6; Команда stat filename_ext позволяет вывести информацию о файле – его объем, права, дату правки и так далее. Забавная команда для новичков, позволяющая постепенно постигать Linux Многие знакомы с командой man, которая показывает мануал по незнакомой команде, изучения – а скрипт ниже выводит какой-нибудь случайный мануал. Таким образом можно постоянно обучаться или просто развлекаться :) man $(ls /bin | shuf | head -1) man - страницы Linux Man; ls - команда ls; /bin - местоположение системного файла Binary; shuf - случайная генерация; head - вывод первых N строк, в данном случае – 1;
img
У облачного провайдера нам необходимо арендовать пул виртуальных серверов для создания на его основе облачного аналога перечисленной серверной части сети. К организованной облачной виртуальной инфраструктуре будут иметь доступ все отделения организации посредством VPN-туннелей. Все виртуальные машины создаются посредством гипервизора. Аналогичным образом виртуальные машины могут быть созданы и в обычной сети, но также могут использоваться и отдельные физические серверы. Для облачных же услуг технология виртуализации является основополагающей, поэтому в этом разделе подробнее будет рассмотрена технология виртуализации. В данном случае для организации собственных виртуальных серверов мы пользуемся услугами IaaS (чаще всего в списке услуг именуется как "аренда виртуальных серверов" или похожим образом). Но для организации серверов для, например, корпоративной почты или базы данных можно воспользоваться уже готовыми PaaS и SaaS-решениями, которые предлагаются некоторыми облачными провайдерами. При организации облачной инфраструктуры для крупной организации имеет смысл строить частное облако. Даже пусть оно иногда не будет покрывать все потребности организации и периодически придется превращать его в гибридное. Крупным компаниям нужна не столько экономия, столько полный контроль над обрабатываемыми данными - чтобы конфиденциальные данные не вышли за пределы компаний. Для небольших и средних организаций можно создать облачную инфраструктуру на базе публичного облака. Если компания только начинает свою деятельность, нет смысла покупать физические серверы - можно сразу арендовать виртуальные и сэкономить средства, которые можно потратить с большей пользой. Перевод в облако сразу всей инфраструктуры обусловлен еще и взаимосвязями между серверами и скоростью обмена данными между ними. Поэтому следует учитывать взаимосвязь серверов между собой и тот факт, что из любого офиса теперь скорость скачивания файла из того же облачного хранилища будет ограничиваться максимальной скоростью на сетях интернет-провайдера, однако обмен данными в сетях облачного провайдера будет гораздо выше в силу специализированности построенной сети ЦОД. Виртуальные машины Гипервизор - это программное или микропрограммное обеспечение, позволяющее виртуализировать системные ресурсы. Виртуальные машины в гипервизоре логически отделены друг от друга и не привязаны к аппаратному обеспечению, поэтому вирусы и ошибки на одной виртуальной машине никак не влияют на другие на том же гипервизоре и на аппаратную часть сервера, и могут быть легко перемещены с одного сервера на другой. Гипервизор по своей сути аналогичен операционной системе. Существуют 2 типа гипервизоров: гипервизор 1-го типа устанавливается поверх аппаратной части оборудования, 2-й тип устанавливается поверх операционной системы, а также гибридные. В таблице 1 приведены некоторые примеры гипервизоров. Таблица 1 Примеры гипервизоров Гипервизор Тип Требуемые ОС для установки Гостевые ОС KVM 2 Linux, FreeBSD, illumos FreeBSD, Linux, Solaris, Windows, Plan 9 VMware: ESX Server 1 Не требует ОС Windows, Linux, Solaris, FreeBSD, OSx86 (as FreeBSD), virtual appliances, Netware, OS/2, SCO, BeOS, Haiku, Darwin, others: runs arbitrary OS ESXi Server 1 Не требует ОС Fusion 2 macOS Server 2 Windows, Linux Workstation 2 Windows, Linux VMware ESXi (vSphere) 1 No host OS Same as VMware ESX Server Microsoft Hyper-V Hyper-V 2 Windows FreeBSD, Linux (SUSE 10, RHEL 6, CentOS 6) Hyper-V Server 1 Не требует ОС Xen гиб- рид GNU/Liux, Unix-like GNU/Linux, FreeBSD, MiniOS, NetBSD, Solaris, Windows 7/XP/Vista/Server 2008 (requires Intel VT-x (Vanderpool) or AMD-V (Pacifica)-capable CPU), Plan 9 VirtualBox 2 Windows, Linux, macOS, Solaris, FreeBSD, eComStation DOS, Linux, macOS, FreeBSD, Haiku, OS/2, Solaris, Syllable, Windows, and OpenBSD (with Intel VT-x or AMD-V PowerVM ? PowerVM Firmware Linux PowerPC, x86; AIX, IBM i Таким образом при проектировании корпоративной сети с помощью виртуальных серверов, следует заранее определиться с типом виртуальной машины и совместимых с ней операционных систем. Для облачных виртуальных серверов достаточно учитывать совместимые гостевые ОС, обеспечение работоспособности физических серверов и гипервизора берет на себя облачный провайдер. Создание виртуальной машины или виртуальной сети Для переноса элементов корпоративной сети в облако необходимо арендовать у облачного провайдера один или несколько виртуальных серверов, на которых будут развернуты необходимые нам системы. Часто достаточно обойтись моделью предоставления услуги VPS/VDS, описанной в разделе 2, арендовав несколько виртуальных серверов для каждого элемента инфраструктуры. Готовая виртуальная машина (ВМ) на сервере, по сути, будет представлять из себя два файла: файл конфигурации аппаратной части машины и образ диска этой машины, предназначенный для размещения в нем операционной системы. На диске ВМ помимо ОС размещается все программное обеспечение и файлы пользователей. Оба файла, а значит и вся ВМ целиком, могут быть без особых сложностей перенесены или дублированы с одного гипервизора и сервера на другой, что позволяет гибко распределять серверные ресурсы, создавать и восстанавливать резервные копии данных пользователей, а также помогать в процессе миграции на облачную инфраструктуру с уже заранее заготовленными образами систем. Для создания виртуальной машины на сайте почти любого облачного провайдера можно найти параметры конфигурации и "ползунки" для точной настройки вычислительных ресурсов арендуемой виртуальной машины, подобрав все параметры под цели и задачи сервера. Либо же можно воспользоваться "кейсами" - готовыми наборами настроек. А также часто клиентам предлагаются услуги тестирования, платного или бесплатного, арендуемого сервера, чтобы оценить его возможности и соответствие требованиям. Примеры параметров настройки виртуального сервера приведены на рисунке 1. В первом случае идет выбор именно ресурсов сервера, для дальнейшего развертывания на нем "целого парка виртуальных машин". Во втором случае настраивается конкретно виртуальный сервер данный вариант хорошо подойдет. Разворачивание частного облака позволяет создать и настроить необходимое количество виртуальных машин со своими приложениями, но организация и сопровождение такой структуры будет требовать больших затрат по сравнению с выделенным сервером. После создания виртуального сервера на рабочем столе рабочей станции появляется значок подключения к виртуальному серверу. Далее рассмотрим подробнее облачные решения для необходимых нам серверных структур. Терминальный сервер Как уже было упомянуто в разделе 1, терминальный сервер будет представлять собой сервер с заранее установленным на него приложением для удаленной работы с ним посредством "тонкого клиента". Например, такая возможность будет востребована при групповой работе с 1С. В таком случае сервер должен быть связан с сервером базы данных. Это означает, что клиенты подключаются к серверу приложения, а сервер приложения взаимодействует с сервером базы данных. Оба сервера должны находиться в облаке, чтобы между ними была хорошая связь. К терминальному серверу приложений сотрудники могут осуществлять подключение посредством протокола RDP. К приложению (1С, например) может быть организован доступ посредством публикации базы через web-сервер и, соответственно, работой с web-интерфейсом 1С, подключением с помощью "тонкого" или "толстого" клиента 1С или же подключением ко всему серверу терминалов по протоколам удаленного доступа (RDP и другие). Файловый сервер По сути, работа с файловым сервером в облаке ничем не отличается от того, если бы он был в локальной сети. Подключение к файловому серверу обычно осуществляется через протокол FTP (File Transport Protocol) с помощью файлового проводника. Однако следует тщательно взвесить решение о переносе файлового сервера в облако, т.к. объем данных при сообщении с сервером может сильно повлиять на тарифы услуг Интернет. Почтовый сервер В качестве почтового сервера, согласно перечню облачных сервисов, представленному в разделе 2, чаще всего облачные провайдеры используют Microsoft Exchange Server. Он является одним из самых распространенных ПО для корпоративной почты. Подключение к почтовому серверу может осуществляться аналогично другим терминальный приложениям: web, клиенты или удаленный доступ. Также требует доступа к базам данных Виртуальное рабочее место VDI или виртуальное рабочее место позволяет сотрудникам организации использовать рабочую станцию с любой конфигурацией для работы из любого места и в любое время. Для подключения к VDI чаще всего используется специальное клиентское ПО, или же иногда это может осуществляться из браузера. Web-сервер Формально web-приложение также должно быть соединено c сервером базы данных и может быть разбито на 3 части: исполняемый модуль на стороне браузера клиента; исполняемый модуль на стороне сервера; база данных. База данных представляет собой систематизированный набор данных для сетей и пользователей и управляемый посредством системы управления базами данных (СУБД). Пример СУБД MySQL. Сервер печати Следует учесть, что сервер печати однозначно не требует переноса в облако, т.к. выполняет задачу сообщения с офисным оборудованием, таким как принтеры и факсы. Конфигурация сервера Развертывание терминального сервера, а в частности внедрение продуктов 1С одна из самых распространенных задач системны администраторов. И подбор серверной аппаратной конфигурации под данную задачу может служить хорошим примером требований серверных систем к техническим параметрам оборудования. Рассмотрим несколько вариантов организации и аппаратной конфигураций для развертывания 1С сервера с базой данных. Можно предложить 3 варианта: Один сервер с файловой 1С; Один сервер с виртуальными машинами 1С и БД; Два физических сервера: один терминальный 1С, второй с БД. В первом случае будет организован терминальный сервер, на котором будет использоваться файловая версия 1С, таким образом БД будет находиться в файловой системе самого сервера вместе с программой 1С. Для большого количества пользователей разработчик рекомендует использовать систему "клиент-сервер". Организовать терминальный сервер, сервер БД и сервер 1С на одной операционной системе все равно можно, но это будет подвергать сомнению стабильность и информационную безопасность такой системы. Во втором случае как раз-таки и используется такая система, но оба сервера будут виртуальными на одном физическом. Данный вариант и используется в облачной инфраструктуре. Первый сервер будет содержать серверную часть 1С, второй базу данных. В третьем случае будут отдельно использоваться два сервера, а базы данных и программа будут разделены. Для конфигурации общего терминального сервера с двумя виртуальными машинами с расчетом работы примерно на 50 человек должно хватить следующей конфигурации: 10 ядер центрального процессора: по 6-8 терминальных сессий на одно ядро примерно 8 ядер, 1-2 ядра на базу данных, дополнительно еще запас, но для облачных серверов можно в любой момент докупить дополнительную вычислительную мощность; 64 Гб оперативной памяти: операционная система (например, Windows Server) 2 Гб база данных 4-6 Гб сервер 1С 2-4 Гб примерно 700 Мб на каждого пользователя 35 Гб SSD (для быстрых операций) и SAS (для хранения) память данных в условиях облачной инфраструктуры выбор дисковой подсистемы сводится к выбору конкретного типа дисков и их объемов: быстрых твердотельных накопителей (SSD) для быстрых операций чтения/записи и/или более медленных, но вместительных жестких дисков жестких дисков с интерфейсов SAS, подходящих для хранения баз данных. Подключение к облаку Для подключения сотрудников к корпоративному облаку могут применяться комбинации сразу нескольких решений, каждое из которых более детально рассмотрено в таблице 2. Таблица 2 Способы подключения к инфраструктуре в облаке Способ подключения Назначение Требования со стороны сервера Требования со стороны клиента Веб-доступ Доступ к сайту, расположенному на web-сервере через протокол HTTP/HTTPS Наличие выделенного терминального сервера + служба TS Web Access Использование адреса сайта для доступа к ресурсу с помощью браузера RDP Доступ к виртуальным серверам Наличие выделенного терминального сервера Запуск клиента RDP RemoteApp Доступ к терминальным сессиям Наличие конфигурационног о файла со списком программ, имеющим доступ к приложению Запуск сконфигурированного rdp-файла или иконки приложения для подключения к приложению по RDP Remote access VPN Подключение каждого пользователя к серверу через VPN-туннель Наличие сконфигурированного VPN- устройства/сервера. Запуск ярлыка для подключения к VPN-серверу. Продолжение таблицы 2 VPN site-to-site Подключение офиса к серверу через VPN- туннель Наличие двух сконфигурированных VPN-серверов. Пример: VPN-сервер в компании и VPN- сервер в облаке. Отсутствие необходимости создания и запуска ярлыка VPN- подключения. Обращение к ресурсам филиала / центрального офиса / облака напрямую. При обращении к ресурсам VPN- подключение организуется автоматически на уровне серверов. DirectAccess Автоматическая установка связи со всей корпоративной сетью сразу Наличие одного или более серверов DirectAccess в составе домена. Наличие центра сертификации (PKI). Windows - инфраструктура. Только Windows Компьютер клиента должен входить в состав домена. Отсутствие необходимости в создании и запуске ярлыка подключения. VDI Доступ к отдельному виртуальному рабочему месту Развернутая инфраструктура виртуальных рабочих столов VDI Пользователь получает свой собственный виртуальный рабочий стол, к которому можно подключаться с помощью тонкого клиента с любой рабочей станции. Выбор каждого конкретного способа подключения может зависеть от потребностей пользователей, что будет быстрее и удобнее для работы. Облачная инфраструктура корпоративной сети Теперь мы можем составить схему облачной инфраструктуры корпоративной сети. Это будет модифицированная схема из раздела 1. Схема представлена на рисунке:
img
В этой статье мы рассмотрим механизмы масштабируемости BGP и связанные с ними концепции. Предыдущие статьи цикла про BGP: Основы протокола BGP Построение маршрута протоколом BGP Формирование соседства в BGP Оповещения NLRI и политики маршрутизации BGP Видео: Основы BGP за 7 минут Механизмы масштабируемости BGP Истощение доступных автономных системных номеров явилось проблемой точно так же, как было проблемой для интернета истощение IP-адресов. Чтобы решить эту проблему, инженеры обратились к знакомому решению. Они обозначили диапазон номеров AS только для частного использования. Это позволяет вам экспериментировать с AS конструкцией и политикой, например, в лаборатории и использовать числа, которые гарантированно не конфликтуют с интернет-системами. Помните, что число AS-это 16-разрядное число, допускающее до 65 536 чисел AS. Диапазон для частного использования: 64512-65535. Еще одним решением проблемы дефицита, стало расширение адресного пространства имен. Было утверждено пространство, представляющее собой 32-разрядное число. В течение длительного времени, с точки зрения масштабируемости, одноранговые группы Border Gateway Protocol считались абсолютной необходимостью. Мы настраивали одноранговые группы для уменьшения конфигурационных файлов. Так же мы настраивали одноранговые группы для повышения производительности. Преимущества производительности были нивелированы с помощью значительно улучшенных механизмов, сейчас. Несмотря на это, многие организации все еще используют одноранговые группы, поскольку они поняты и легки в настройке. Появились в BGP одноранговые группы для решения нелепой проблемы избыточности в BGP конфигурации. Рассмотрим простой (и очень маленький) пример 1. Даже этот простой пример отображает большое количество избыточной конфигурации. Пример 1: типичная конфигурация BGP без одноранговых групп ATL1(config)#router bgp 200 ATL1( config-router)#neiqhbor 10.30.30.5 remote-as 200 ATL1( config-router)#neiqhbor 10.30.30.5 update- source lo0 ATL1( config= router)#neiqhbor 10.30 .30.5 password S34Dfr112s1WP ATL1(config-router)#neiqhbor 10.40.40.4 remote-as 200 ATL1( config-router)#neiqhbor 10.40.40 .4 update- source lo0 ATL1(config-router)#neiqhbor 10.40.40.4 password S34Dfr112s1WP Очевидно, что все команды настройки относятся к конкретному соседу. И многие из ваших соседей будут иметь те же самые характеристики. Имеет смысл сгруппировать их настройки в одноранговую группу. Пример 2 показывает, как можно настроить и использовать одноранговую группу BGP. Пример 2: одноранговые группы BGP ATL2 (config)#router bgp 200 ATL2 (config-router)#neighbor MYPEERGR1 peer-group ATL2 (config-router)#neighbor MYPEERGR1 remote-as 200 ATL2 (config-router)#neighbor MYPEERG1l update-source lo0 ATL2(config-router)#neighbor MYPEERGRl next-hop-self ATL2 (config-router)#neighbor 10.40.40 .4 peer-group MYPEERGR1 ATL2 (config-router)#neighbor 10.50.50 .5 peer-group MYPEERGR1 Имейте в виду, что, если у вас есть определенные настройки для конкретного соседа, вы все равно можете ввести их в конфигурацию, и они будут применяться в дополнение к настройкам одноранговой группы. Почему же так часто использовались одноранговые группы? Они улучшали производительность. Собственно говоря, это и было первоначальной причиной их создания. Более современный (и более эффективный) подход заключается в использовании шаблонов сеансов для сокращения конфигураций. А с точки зрения повышения производительности теперь у нас есть (начиная с iOS 12 и более поздних версий) динамические группы обновлений. Они обеспечивают повышение производительности без необходимости настраивать что-либо в отношении одноранговых групп или шаблонов. Когда вы изучаете одноранговую группу, вы понимаете, что все это похоже на шаблон для настроек. И это позволит вам использовать параметры сеанса, а также параметры политики. Что ж, новая и усовершенствованная методология разделяет эти функциональные возможности на шаблоны сессий и шаблоны политики. Благодаря шаблонам сеансов и шаблонам политик мы настраиваем параметры, необходимые для правильной установки сеанса, и помещаем эти параметры в шаблон сеанса. Те параметры, которые связаны с действиями политик, мы помещаем в шаблон политики. Одна из замечательных вещей в использовании этих шаблонов сеансов или политик, а также того и другого, заключается в том, что они следуют модели наследования. У вас может быть шаблон сеанса, который выполняет определенные действия с сеансом. Затем вы можете настроить прямое наследование так, чтобы при создании другого наследования оно включало в себя вещи, созданные ранее. Эта модель наследования дает нам большую гибкость, и мы можем создать действительно хорошие масштабируемые проекты для реализаций BGP. Вы можете использовать шаблоны или одноранговые группы, но это будет взаимоисключающий выбор. Так что определитесь со своим подходом заранее. Вы должны заранее определиться, что использовать: использовать ли устаревший подход одноранговых групп или же использовать подход шаблонов сеанса и политики. После выбора подхода придерживайтесь его, так как, использовать оба подхода одновременно нельзя. Теперь можно предположить, что конфигурация для шаблонов сеансов будет довольно простой, и это так. Помните, прежде всего, все что мы делаем здесь и сейчас, относится к конкретной сессии. Поэтому, если мы хотим установить timers, нам нужно установить remote-as – и это будет считается параметром сеанса. Например, мы делаем update source. Мы настраиваем eBGP multihop. Все это имеет отношение к текущему сеансу, и именно это мы будем прописывать в шаблоне сеанса. Обратите внимание, что мы начинаем с создания шаблона. Поэтому используем команду template peer-session, а затем зададим ему имя. И тогда в режиме конфигурации шаблона можем настроить наследование, которое позволит наследовать настройки от другого однорангового сеанса. Можем установить наш remote-as как и/или update source. После завершения, мы используем команду exit-peer-session, чтобы выйти из режима конфигурации для этого сеанса. Пример 3 показывает конфигурацию шаблона сеанса. Пример 3: Шаблоны сеансов BGP ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL2 (config)#router bgp 200 ATL2 (config-router)#template peer- session MYNAME ATL2 (config-router-stmp)#inherit peer- session MYOTHERNAME ATL2 (config- router-stmp )#remote-as 200 ATL2(config-router-stmp )#password MySecrectPass123 ATL2 (config-router-stmp )#exit-peer-session ATL2 (config-router)#neiqhbor 10.30.30 .10 inherit peer-session MYNAME ATL2 (config-router)#end ATL2# Это простой пример настройки соседства с помощью оператора neighbor и использования наследования однорангового сеанса. Затем присваивается имя однорангового сеанса, созданного нами для нашего шаблона сеанса. Это соседство наследует параметры сеанса. Помните, что, если вы хотите сделать дополнительную настройку соседства, можно просто присвоить соседу IP-адрес, а затем выполнить любые настройки вне шаблона однорангового сеанса, которые вы хотите дать этому соседу. Таким образом, у вас есть та же гибкость, которую мы видели с одноранговыми группами, где вы можете настроить индивидуальные параметры для этого конкретного соседа вне шаблонного подхода этого соседства. Вы можете подумать, что шаблоны политик будут иметь сходную конструкцию и использование с шаблонами сеансов, и вы будете правы. Помните, что если ваши шаблоны сеансов находятся там, где мы собираемся настроить параметры, которые будут относиться к сеансу BGP, то, конечно, шаблоны политик будут храниться там, где мы храним параметры, которые будут применяться к политике. Пример 4 показывает настройку и использование шаблона политики BGP. Пример 4: Шаблоны политики BGP ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL2 (config)#router bgp 200 ATL2(config-router)#template peer-policy MYPOLICYNAME ATL2 (config-router-ptmp )#next-hop-self ATL2 (config-router-ptmp )#route-map MYMAP out ATL2 (config-router-ptmp )#allowas-in ATL2 (config-router-ptmp )#exit-peer-policy ATL2 (config-router)#neighbor 10.40.40.10 remote-as 200 ATL2 (config-router)#neighbor 10.40.40.10 inherit peer-policy MYNAME ATL2 (config-router)#end ATL2# Да, все эти параметры, которые мы обсуждали при изучении манипуляций с политикой, будут тем, что мы будем делать внутри шаблона политики. Однако одним из ключевых отличий между нашим шаблоном политики и шаблоном сеанса является тот факт, что наследование здесь будет еще более гибким. Например, мы можем перейти к семи различным шаблонам, от которых мы можем непосредственно наследовать политику. Это дает нам еще более мощные возможности наследования с помощью шаблонов политик по сравнению с шаблонами сеансов. Опять же, если мы хотим сделать независимые индивидуальные настройки политики для конкретного соседа, мы можем сделать это, добавив соответствующие команды соседства. Благодаря предотвращению циклов и правилу разделения горизонта (split-horizon rule) IBGP, среди прочих факторов, нам нужно придумать определенные решения масштабируемости для пирингов IBGP. Одним из таких решений является router reflector. Рис. 1: Пример топологии router reflector Конфигурация router reflector удивительно проста, поскольку все это обрабатывается на самом router reflector (R3). Клиенты route reflector – это R4, R5 и R6. Они совершенно не знают о конфигурации и настроены для пиринга IBGP с R3 как обычно. Пример 5 показывает пример конфигурации router reflector. Обратите внимание, что это происходит через простую спецификацию клиента router reflector. Пример 5: BGP ROUTE REFLECTOR R3#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3 (config)#router bgp 200 R3 (config-router)#neighbor 10.50.50.10 remote -as 200 R3 (config-router)#neighbor 10.50.50.10 route-reflector-client R3 (config-router)#end R3# Route reflector автоматически создает значение идентификатора (ID) кластера для кластера, и это устройство и эти клиенты будут частью того, что мы называем кластером route reflector. Cisco рекомендует разрешить автоматическое назначение идентификатора кластера для идентификации клиента. Это 32-разрядный идентификатор, который BGP извлекает из route reflector. Магия Route reflector заключается в том, как меняются правила IBGP. Например, если обновление поступает от клиента Route reflector (скажем, R4), то устройство R3 «отражает» это обновление своим другим клиентам (R5 и R6), а также своим неклиентам (R1 и R2). Это обновление происходит даже при том, что конфигурация для IBGP значительно короче полной сетки пирингов, которая обычно требуется. А теперь что будет, если обновление поступит от не клиента Route reflector (R1)? Route reflector отправит это обновление всем своим клиентам Route reflector (R4, R5 и R6). Но тогда R3 будет следовать правилам IBGP, и в этом случае он не будет отправлять обновление через IBGP другому не клиенту Route reflector (R2). Чтобы решить эту проблему, необходимо будет создать пиринг от R1 к устройству R2 с помощью IBGP. Или, можно добавить R2 в качестве клиента Route reflector R3. Есть еще один способ, которым мы могли бы решить проблему с масштабируемостью IBGP- это манипулирование поведением EBGP. Мы делаем это с конфедерациями. Вы просто не замечаете, что конфедерации используются так же часто, как Route reflector. И причина состоит в том, что они усложняют нашу топологию, и делают поиск неисправностей более сложным. На рис. 2 показан пример топологии конфедерации. Рисунок 2: Пример топологии конфедерации Мы имеем наш AS 100. Для создания конфедерации необходимо создать небольшие субавтономные системы внутри нашей основной автономной системы. Мы их пронумеруем с помощью, номеров автономных систем только для частного использования. Что мы имеем, когда манипулируем поведением eBGP, что бы имеет конфедерацию EBGP пирингов? Это позволяет нам установить пиринги между соответствующими устройствами, которые хотим использовать в этих автономных системах. Как вы можете догадаться, они не будут следовать тем же правилам, что и наши стандартные пиринги EBGP. Еще один важный момент заключается в том, что все это для внешнего неконфедеративного мира выглядит просто как единый AS 100. Внутри мы видим реальные AS, и конфедеративные отношения EBGP между ними. Помимо устранения проблемы разделения горизонта IBGP, что же меняется с пирингами конфедерации EBGP? В следующем прыжке поведение должно измениться. Следующий прыжок не меняется тогда, когда мы переходим от одной из этих небольших конфедераций внутри нашей АС к другой конфедерации. Вновь добавленные атрибуты обеспечивают защиту от цикла из-за конфедерации. Атрибут AS_confed_sequence и AS_confed_set используются в качестве механизмов предотвращения циклов. Пример 6 показывает пример частичной настройки конфедерации BGP. R3#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3 (config)#router bgp 65501 R3(config-router)#bgp confederation identifier 100 R3 (config-router)#bgp confederation peers 65502 R3 (config-router)#neighbor 10 .20.20.1 remote-as 65502 R3 (config-router)#end R3# Иногда возникает необходимость применения общих политик к большой группе префиксов. Это делается легко, если вы помечаете префиксы специальным значением атрибута, называемым сообществом (community). Обратите внимание, что сами по себе атрибуты сообщества ничего не делают с префиксами, кроме как прикрепляют значение идентификатора. Это 32-разрядные значения (по умолчанию), которые мы можем именовать, чтобы использовать дополнительное значение. Вы можете настроить значения сообщества таким образом, чтобы они были значимы только для вас или значимы для набора AS. Вы также можете иметь префикс, который содержит несколько значений атрибутов сообщества. Кроме того, можно легко добавлять, изменять или удалять значения сообщества по мере необходимости в вашей топологии BGP. Атрибуты сообщества могут быть представлены в нескольких форматах. Более старый формат выглядит следующим образом: Decimal - 0 to 4294967200 (в десятичном) Hexadecimal – 0x0 to 0xffffffa0 (в шестнадцатеричном) Более новый формат: AA:NN AA - это 16-битное число, которое представляет ваш номер AS, а затем идет 16-битное число, используемое для задания значимости своей политике AS. Таким образом, вы можете задать для AS 100 100:101, где 101- это номер внутренней политики, которую вы хотите применить к префиксам. Есть также хорошо известные общественные значения. Это: No-export - префиксы не объявляются за пределами AS. Вы можете установить это значение, когда отправляете префикс в соседний AS. чтобы заставить его (соседний AS) не объявлять префикс за собственные границы. Local-AS - префиксы с этим атрибутом сообщества никогда не объявляются за пределами локального AS No-advertise - префиксы с этим атрибутом сообщества не объявляются ни на одном устройстве Эти хорошо известные атрибуты сообщества просто идентифицируются по их зарезервированным именам. Есть также расширенные сообщества, которые также можно использовать. Они предлагают 64-битную версию для идентификации сообществ! Задание параметров осуществляется настройкой TYPE:VALUE. Выглядит оно следующим образом: 65535:4294967295 Как вы можете догадаться, мы устанавливаем значения сообщества, используя route maps. Пример 7 показывает пример настроек. Обратите внимание, что в этом примере также используется список префиксов. Они часто используются в BGP для гибкой идентификации многих префиксов. Они гораздо более гибки, чем списки доступа для этой цели. Пример 7: Установка значений сообщества в BGP R3#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3(config)#ip prefix-list MYLIST permit 172.16.0.0/16 le 32 R3(config)#route-map SETCOMM permit 10 R3(config-route-map)#match ip address prefix-list MYLIST R3(config-route-map)#set community no-export R3(config-route-map)#route-map SETCOMM permit 20 R3(config)#router bgp 100 R3(config-router)#neighbor 10.20.20.1 route-map SETCOMM out R3 (config-router)#neighbor 10.20.20.1 send-community R3(config-router)#end R3#
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59