Jump to content

All Activity

This stream auto-updates     

  1. Earlier
  2. Что означает ошибка http 403 Forbidden - доступ запрещен. Уведомление 403 (Forbidden) – причисляется к серверным ошибкам, но оно не сигнализирует о техническом сбое, а является вежливым ответом сервера: «Извините, вам сюда нельзя». Сообщение возникает на экране браузера в том случае, если вы обратились к интернет-ресурсу, директории, папке, файлу или скрипту, в доступе к которому вам отказано. Почему сайт выдает 403 ошибку, можно ли это устранить. Причин того, почему вам отказывают в доступе, может быть множество. От банального недоразумения или сбоя в работе сервера, до преднамеренного закрытия части виртуального пространства по политическим мотивам или с целью сохранения конфиденциальной информации. Доступ к сайту запретили для целого региона или страны. Как только происходит вход в виртуальное пространство, посетителю присваивается номер – IP. Делает это провайдер, предоставляющий доступ в интернет. IP состоит из четырех групп цифр, по два или три знака в каждой. Группы разделены точками. Самая важная для интернета маркировка – две первых группы цифр. По ней можно определить национальную принадлежность посетителя. Например, сервисы от гугла доступны не во всех странах. Вот так будет выглядеть окно ошибки: Когда страны имеют друг к другу претензии, то по команде «сверху» все IP адреса, принадлежащие одной стране, блокируются. Если вы попытались пройти на интересный зарубежный сайт и получили в ответ уведомление 403 Forbidden, то наверняка для этой страны вы персона non grata, хотя ничего плохого ей и не делали. Подвести пользователя под монастырь способен и провайдер. Если он пользуется списанным зарубежным оборудованием, то национальный идентификатор IP может отличаться от действительного географического положения. Рядовому пользователю можно не страшиться того, что заблокируют именно его. Дело в том, что обычные пользователи Всемирной сети получают «плавающий» IP, изменяющийся всякий раз, как происходит выход в интернет. Постоянным номером пользуются только те, у кого «выделенная линия». А это означает дополнительные расходы на оплату выделенного IP адреса ежемесячно. Поэтому, если вы при попытке входа в любимую социальную сеть получили «отлуп» в виде ошибки «403 – в доступе отказано», попробуйте зарегистрироваться еще раз и зайти под другим логином и паролем. В крайнем случае, если вы чисты как ангел, повторите попытку через несколько часов или на другой день. Нарушена работа Вашего интернет-сайта вследствие изменения кода - как устранить Случается и так, что вы обращаетесь к собственному сайту, но видите сообщение об отказе в доступе. Этому есть три объяснения: сайт атаковали хакеры и поломали индексный файл; вы переносили сайт самостоятельно и положили дистрибутив не в ту папку; вы пытаетесь зайти с IP-адреса, доступ с которого запрещен. Индексные файлы – это те, к которым сервер, получив адресный запрос, обращается в первую очередь. Они так называются потому, что в названии первым идет слово index. Если сайт статичный, и написан на HTML, то индексный файл выглядит как index.html. У активных интернет-ресурсов, работающих на системах управления контентом, индексные файлы имеют расширение php. В Joomla их два – index1 и index2. Обратите внимание, что если сервер хостера работает на ОС Linux, то ему небезразличен регистр надписи. Index и index – для него совершенно разные сущности. Примите за правило, что индексные файлы пишутся со строчной буквы. Взять чистый и работоспособный файл index для систем управления контентом можно из дистрибутива, распакованного на домашнем компьютере. Если вы обнаружили, что дистрибутив сайта лежит не в той папке, которая является «корневой», а, например, в предназначенной для скриптов (cgi-bin) то не трудитесь переносить, а переименуйте директории. Действия с индексными файлами и переименованиями папок можно совершать по протоколу FTP, но лучше, если вы войдете в панель управления на хосте. В этом случае можно увидеть следы злоумышленников, если они взломали сайт. Дело в том, что любое изменение в директории или файле фиксируется. Причем указывается не только дата, но и время изменения. Проверьте папки и файлы, которые были изменены без вашего ведома, и вы наверняка найдете там что-то «лишнее» или вирусный код, начинающийся с ?php eval или iframe. Если папки и файлы на месте, но на сайт вас так и не пускают, то обратитесь в техническую поддержку. Ошибка 403 выдается при попытке входа на опредленную страницу или папку Гораздо чаще случается, когда не дают доступ к одной из страниц, или «403» вылезает при попытке совершить действие. Например, при нажатии на кнопку «Купить», чем нередко грешит компонент Virtue Mart после переноса сайта с локального сервера вебмастера на хост. Такие отказы в доступе вредны для бизнеса. Ведь пользователь не захочет обращаться в техподдержку, чтобы ему дали возможность купить что-либо именно в этом интернет-магазине. Он пойдет в другое место. Локальные отказы спровоцированы тем, что папкам и директориям в корне сайта прописаны ненадлежащие права доступа. Они назначаются программой CHMOD, имеющей очень дружелюбный интерфейс. Ко всякой папке и к каждому файлу обращаются три группы пользователей: хозяин сайта или суперпользователи; группа доверенных лиц (администраторы); посетители сайта. Программа CHMOD устанавливает то, что им позволено совершать с файлом или папкой: 1) читать – обозначается цифрой 7 или буквой r; 2) писать (изменять) – цифра 7 или буква w; 3) исполнять – та же семерка или буква х. Если файлу назначили права доступа 777 (в буквенном коде, rwx–rwx–rwx), то он открыт для всех желающих вставить вирусный код, изменить смысл текста. Как вы понимаете, это неприемлемый вариант для безопасности ресурса. Наиболее распространенной директивой прав является 755, в буквенном виде выглядящая как rwx–r-x–r-x. Если в первой группе не будет буквы r, то к файлу или папке не допустят даже хозяина сайта. Пользователю запретят совершать действия (покупки, отправку сообщений и другие интерактивные функции), если в третьей группе CНMOD не будет буквы х. При установке прав на файл вам не требуется ничего знать. В корневой папке сайта список файлов и директорий представлен в виде в таблицы. В ячейке возле файла кликните по крохотной черточке или букве, и она изменит значение. Если же панель управления требует от вас цифры, то смело пишите 755. Это универсальная директива, подходящая к большинству случаев. Провоцируем 403 сами Вы можете сами спровоцировать появление ошибки 403 для выбранной группы пользователей или одного конкретного злодея хакера или спамера. Для этого используйте служебный файл .htaccess. В составе дистрибутива CMS Joomla он есть под именем htaccess.txt. Переименуйте файл, не забыв поставить точку перед именем. Его несложно создать и самостоятельно. Используйте для этого программу Notepad ++. Если в файле написать: , то вы закроете доступ к сайту всем, кроме заданного IP. Учитывая, что IP злоумышленника меняется, нежелательный IP адрес указывается в директиве Deny. Две следующие за ними заполните одной цифрой 0. Вы сами можете устроить бан для всех посетителей из конкретной страны, если знаете национальный код. В этом случае после deny from напишите, например: 83.4.0.0/14. Цифра 14 после слеша указывает, что надо блокировать все IP, начинающиеся с 83.4. IP обидчика (спамера, взломщика) вычисляется двумя путями: компоненты CMS (форум) пишут этот адрес, сообщая администратору о новом посте. в папке log-файлов на хосте. Копаться в «логах» придется долго, но оно того стоит. Выберите IP того, кто посещал сайт в ту минуту, когда файл или папка были несанкционированно изменены или пришел спамерский пост. А потом заблокируйте вредителя. Также можно дополнительно защитить особо важные директории или файлы. В Joomla это папка Libraries. Создайте файл .htaccess, напишите в нем: Order allow deny Deny from all , потом положите его в защищаемую папку. Тот, кто наберет адрес сайта и поставит после него /libraries, получит на экране браузера уведомление об ошибке 403. Как исправить 403 ошибку Обойти запрет на посещение ресурса можно. Это несложный прием, которым пользуются те, кто не желает светить свою персону в интернете. Чтобы избавиться от 403 ошибки - используются прокси-серверы. Они подменяют провайдера и становятся посредниками между вами и Всемирной сетью. Поэтому IP меняет национальность или иные признаки географической принадлежности. Ресурсы, предоставляющие такие услуги, функционируют как в России, так и за ее пределами. Обычно они платные. Обращение к ним не расценивается как криминал. Но и не приветствуется. Кроме тех, кто предоставляет услуги прокси-сервера именно с целью сокрытия личности посетителя интернета, существуют и вполне легальные прокси, обеспечивающие функциональность связи. Например, канал GPRS. Если использовать мобильный телефон как модем, то IP меняется даже в течение одного сеанса выхода в интернет. Это объясняется тем, что голосовые контакты в мобильной связи пользуются приоритетом, а для пакетной передачи данных выделяются оставшиеся каналы. Также пользуются прокси-серверами провайдеры несимметричного выхода в интернет, когда запрос идет по GPRS, а ответ поступает по каналу спутниковой связи.
  3. Любая работа по администрированию сервера начинается с самого очевидного и обязательного процесса — инсталляции необходимой ОС, чем мы и займемся. Скачаем и установим CentOS 8 Server в минимальной конфигурации с загрузочной флешки или по сети на обычный диск или raid раздел. Перед этим познакомимся с нововведениями последней версии дистрибутива и отметим ее основные особенности и отличия от остальных. Цели статьи Кратко рассказать о системе Centos, изменениях 8-й версии. Объяснить различия установочных iso образов. Показать, как сделать загрузочную флешку с Centos для установки с флешки или по сети. Подробно описать все этапы установки Centos 8 на сервер. Показать установку Centos на программный рейд mdadm на тех серверах, где нет физического рейд контроллера. Данная статья является частью единого цикла статьей про сервер Centos. Изменения 8-й версии Пройдемся по основным нововведениям CentOS 8, которые показались интересными лично мне. Функционально это полная копия RHEL 8, поэтому все его изменения на 100% актуальны для центос. Вот список наиболее интересных изменений: Разделение основного репозитория на 2 — BaseOS и AppStream. Первый будет работать как и раньше, а второй — appstream, сделали для того, чтобы была возможность устанавливать разные версии пакетов на сервер. Этот репозиторий поддерживает новый модульный формат rpm пакетов. Переход на пакетный менеджер DNF, который поддерживает модульный формат пакетов. Прощай YUM. Теперь это просто алиас для запуска dnf. Традиционно обновился весь софт и ядро (4.18) Linux. Теперь мы какое-то время будем иметь свежий софт. Прощай php5.4 из базового репозитория Я не буду по тебе скучать. Здравствуй php 7.2 и Python 3.6 из коробки. Замена iptables на nftables. Тут для меня самые серьезные изменения. Iptables я активно использую и настраиваю почти на всех серверах. С nftables не знаком вообще. Надо срочно переучиваться и осваивать новый функционал. Будут статьи на эту тему. Пожалуй этому нововведению я совсем не рад. Лично меня iptables устраивали целиком и полностью в первую очередь тем, что они используются почти везде. Можно брать готовый набор правил и спокойно переносить между серверами с разными ОС. Именно поэтому я всегда пользуюсь голыми iptables, а не надстройками над ними в виде firewalld или ufw. Мне достаточно знать только iptables, чтобы настроить firewall на любом linux сервере. Убрана поддержка Btrfs. Лично я ей никогда не пользовался, но я знаю, что это популярная штука и удаление ее поддержки значительное событие. До кучи обновился openssl и tls до последних версий 1.1.1 и 1.3. Некоторое время назад приходилось отдельно собирать пакеты для использования свежих версий. Теперь это на некоторое время ушло в прошлое, пока текущий релиз CentOS 8 не устареет. Года 2-3 будем жить спокойно. Network scripts для настройки сети объявлены устаревшими и по дефолту не поддерживаются. Можно поставить отдельно пакет для их работы. Для настройки сети надо использовать исключительно NetworkManager, который лично я предпочитаю отключать сразу после установки сервера. Не знаю, чем network-scripts не угодили. Простой и удобный инструмент. Более подробно с изменениями 8-й версии можете познакомиться на opennet или почитать полный список в оригинале на сайте redhat. Я полистал последний. Там в overview есть ссылки на подробное описание по каждому компоненту системы. Cистемные требования CentOS 8 Принципиальных отличий в системных требованиях CentOS 8 по сравнению с предыдущими редакциями нет. Я смог установить и запустить ее на виртуальной машине с 1CPU/512Mb. Однако появились нюансы. Для начала табличка системных требований. Системные требования CentOS 8 CPU Memory Disk Минимальные 1 512 Mb 10 G Рекомендуемые 2 4 G 20 G Я попробовал несколько раз установить Centos 8 на 1CPU/512Mb. При локальной установке все получилось, хотя графический интерфейс инсталлятора прилично тормозил. Установить на виртуальную машину с этими же характеристиками по сети у меня не получилось. Пробовал несколько раз и каждый раз установка зависала на 44% в момент загрузки пакетов из удаленного репозитория. Как только добавлял памяти установка проходила нормально. Так что можно сказать, что минимальные системные требования для установки CentOS 8 по сети — 1 CPU и 1024 Мб оперативной памяти. Для локальной установки хватит и 512. Заметил еще один интересный момент, которого не было в прошлых версиях. Если вы устанавливаете систему на 512 Мб оперативной памяти и не выделяете раздел под swap при разметке диска, установщик говорит вам, что ему надо хотя бы 600 мб оперативной памяти, чтобы выполнить установку без swap. Так что имейте ввиду, что если будете ставить CentOS 8 на минимальные системные требования, отказаться от отдельного раздела под swap не получится. Я обычно отказываюсь и подключаю swap в виде отдельного файла позже. Так просто удобнее. Теперь с 512 мб памяти это сделать не получится. Проще всего выделить во время установки побольше памяти, а потом уменьшить ее количество. Хотя надо будет еще понаблюдать, как система станет себя вести с таким количеством ресурсов. На 7-й версии центос тот же nginx в режиме proxy_pass отлично работает с минимальными системными требованиями. Типы iso образов В CentOS 8 остались только 2 установочный образа: CentOS-8-x86_64-1905-boot.iso — 534 Мб. CentOS-8-x86_64-1905-dvd1.iso — 6,65 Гб. С помощью первого можно запустить инсталлятор и выбрать зеркало в локальной сети или интернете для загрузки установочных пакетов. Второй позволяет выполнить установку centos 8 локально, можно не настраивать сетевой интерфейс вообще. Жаль, что не осталось минимального установочного образа для локальной установки. Я обычно таким пользовался. Netinstall никогда не любил из-за того, что приходится вручную писать длинный url от репозитория, чтобы им воспользоваться. Да и просто зачем нагружать сеть, если удобнее и быстрее взять готовый локальный iso образ. Теперь такого нет. Всех пересадили на огромный DVD образ объемом в районе 7-ми гигабайт. Cкачать CentOS 8 Загрузить CentOS 8 можно как с официального сайта так и со сторонних репозиториев. Я обычно использую зеркало Яндекса для загрузки — https://mirror.yandex.ru/centos/ И его же для сетевой установки. Чтобы вам долго не искать, сразу скажу, что установочные образы лежат тут. Структура репозитория не очевидная. Я первое время после знакомства с центос путался в ее репозиториях, особенно когда искал url для netinstall. Напоминаю, что 32 bit или i386 редакции CentOS 8 не существует. Все дистрибутивы только x86_64, то есть 64 bit. В качестве альтернативных зеркал для загрузки centos 8 можно использовать следующие: http://mirror.corbina.net/pub/Linux/centos/ http://mirror.docker.ru/centos/ http://mirror.logol.ru/centos/ Это актуально для тех, у кого Яндекс по каким-то причинам заблокирован. Жаль, что приходится сталкиваться с повсеместными блокировками в интернете. Плохая тенденция, которая осложняет многие моменты. Загрузочная флешка для CentOS 8 Лично я давно не пользовался загрузочными флешками для чего-то кроме установки гипервизора. Стараюсь все сервера держать в виртуальных машинах для удобного бэкапа и миграции. Тем не менее, если вам понадобится загрузочная флешка с CentOS 8, вы без проблем ее сделаете. Думаю, это актуально для тех, кто ставит систему на рабочие компьютеры или ноутбуки. Правда в таком случае вам моя статья не подходит, так как она описывает в первую очередь нюансы установки и подготовки системы для работы на сервере. На рабочем ноутбуке я предпочитаю использовать не linux. Сделать загрузочную флешку с CentOS 8 можно разными способами. Если у вас операционная система Windows, то рекомендую воспользоваться бесплатной программой Win32DiskImager. В случае с linux можно использовать Etcher. Хотя он и для windows есть, но мне показался тяжеловат. disk imager в этом плане удобнее, что не удивительно. Ведь Etcher написан на мерзком Electron, поэтому он тормозит и весит 80 Мб. Тру админы для создания загрузочных флешек могут использовать DD примерно так: # dd if=CentOS-8-x86_64-1905-dvd1.iso of=/dev/sdz Предложенный способ лично не проверял, но не вижу причин, почему это может не работать. Установка CentOS 8 с флешки Флешку подготовили, приступаем к установке. Ставим загрузку с USB и наблюдаем стандартный, горячо любимый и родной (смахнул слезу) установщик Centos. Выбираем первый пункт: Install Centos Linux 8 и жмем Enter. После загрузки инсталлера, нас встречает окно с выбором языка, который будет использоваться во время установки. Я всегда выбираю Еnglish, мне так привычнее. Язык современной техносферы Английский, ничего не поделать. Рекомендую учить, если кто-то не знаком с ним. Мне читатель в комментариях к одной статье, где я предлагаю выбирать английский язык, предъявил, что я не патриот, раз призываю выбирать не русский язык. Это считаю патриотизмом головного мозга. Врага надо знать в лицо Кстати, без шуток. Хочешь кого-то превзойти, сначала досконально изучи. Дальше увидите немного обновленный, но тем не менее привычный интерфейс с опциями установки. Перечислим их. Выбор часового пояса centos. Поддержка каких языков будет осуществляться на сервере. Выбор раскладки клавиатуры. Откуда будет происходить установка. Так как у нас дистрибутив centos dvd1, установка будет локальной. Выбор пакетов для установки. Разбивка жесткого диска. Подробнее коснемся этого пункта, когда будем разбирать установку на raid. Настройка режима работы KDUMP. Этот механизм делает дамп ядра, если оно у вас падает в момент установки. Теоретически может пригодится, если у вас с установкой возникнут какие-то проблемы. В общем случае лучше не включать, сэкономите немного оперативной памяти во время установки. Настройка сетевых интерфейсов. Без них нельзя установить систему, если используется netinstall. Подозреваю, что security policy это про SELinux, но скажу честно, я не знаю, как это работает на этапе установки, потому что никогда не настраивал и не изучал вопрос. Буду рад, если кто-то поделится актуальной инфой в комментариях. Восклицательным знаком помечены разделы, без настройки которых продолжение невозможно. Пройдемся по всем параметрам и установим необходимые для нас значения. Итак, нажимаем на Time & Date (раньше было Date & Time, явно поработал кто-то эффективный и протолкнул изменение, за которое получил премию по итогу квартала) и настраиваем параметры времени: Указываем регион. Выбираем город. Включаем при необходимости службу времени для синхронизации часов centos с внешними серверами. Это возможно сделать только если вы уже настроили сетевые параметры. Если нет, то вернитесь к этой настройке позже. Выбираем список внешних серверов для синхронизации времени. Указываем формат, в котором будет отображаться текущее время. При необходимости изменяем дату сервера. Когда все сделаете, жмите сверху на Done. В разделе Language Support можно выбрать дополнительные языки, которые будет поддерживать система. В принципе, настраивать прямо сейчас тут нет большой необходимости, если вы точно не знаете, понадобится ли вам какое-то еще язык, помимо английского. Все это можно добавить и потом. Но если точно знаете, что нужен еще один язык в системе, например, Русский может понадобиться, если будете использовать Сервер 1С, то добавляйте сразу. То же самое с клавиатурой. Если нужен набор на еще каком-то языке, то добавляйте его в разделе Keyboard. Добавляем необходимые раскладки. Я добавил Russian. Нажимаем Options и выбираем, как будет происходить переключение раскладок. Тестируем раскладки и переключение. Если все в порядке, идем дальше. Далее нужно указать, откуда будет производиться установка. Как я уже говорил, в данном примере я использую полный iso образ dvd1, который позволяет выполнить установку centos 8 полностью локально. Сетевую установку я рассмотрю отдельно позже. Так что в данном случае нам ничего отдельно настраивать не надо, по-умолчанию и так выбран виртуальный cd-rom в виде устройства sr0 в качестве источника. CentOS 8 minimal Следующим этапом нужно указать, какой набор программного обеспечения будет установлен на сервер вместе с системой. Тут выбираете на свой вкус и потребности. Я обычно ставлю всегда самый минимальный набор, а все, что необходимо, добавляю позже. Уж точно мне на сервере не нужен GUI. Так что мой выбор — Minimal Install и установка Standart. Если ставлю на виртуальную машину, то дополнительно выбираю Guest Agents. Следующий важный этап установки centos 8 — выбор диска и разметка. Тут нет универсальных советов, все зависит от назначения сервера и вашего понимания сути разделения диска на разделы. Лично я всегда выбираю ручную разметку диска и выполняю ее так: Раздел /boot размером в 1 Гб. Корневой раздел / на lvm на всем оставшемсяс вободном месте. Чтобы перейти в ручную разметку диска, надо выбрать диск, нажать Custom и кнопку Done. Дальше я жму на Click here to create them automatically и редактирую предложенную автоматическую разбивку. В принципе, раздел /boot тоже можно было бы разместить в корне, работать будет нормально, но я сталкивался с неожиданными проблемами, когда /boot раздел был на lvm. Так что не буду вам рекомендовать его там размещать. Размера в 1 Гб мне всегда хватало, но в целом, если есть возможность, можно выделить и 2 Гб, чтобы было с заметным запасом. Установщик автоматически предложит вам сделать swap раздел на отдельном lvm томе. Я обычно отказываюсь от этого и вообще не делаю swap. Это не принципиальный момент, мне так просто удобно. После установки я подключаю swap в виде отдельного файла. Так им проще управлять. Если вам не хочется с этим возиться, оставьте как есть. Финальная разметка диска получается следующая. После того, как нажмете Done, появится предупреждение. Warning checking storage configuration. Click for details or press Done again to continue. Можете прочитать суть предупреждения, хотя я знаю, что там будет указано. Вас предупредят, что вы забыли создать раздел swap. А если у вас на сервере меньше 512 Мб памяти, то еще скажут, что без swap продолжить установку невозможно с таким количеством памяти. Тогда вариантов нет, подключайте swap. Не буду подробно задерживаться на настройке KDUMP, просто отключите его. Если не знаете, что это такое, значит вам 100% это не нужно. Подробнее рассмотрим настройку сетевых интерфейсов. Идем в раздел NETWORK & HOST NAME (раньше было NETWORK & HOSTNAME, без пробела, еще один плюс к квартальной премии, кажется я начинаю понимать суть нововведений и объявлений deprecated в современных системах). Ставим переключатель в положение ON и получаем автоматически настройки по dhcp, если подобная служба работает в сети, на которую смотрит интерфейс: Включение ползунка в положение ON активирует интерфейс, он получает настройки по dhcp. Если вы хотите изменить эти настройки, нажимаете Configure. Указываете Host Name. Если забудете, то после установки этот параметр можно изменить. Завершаем настройку традиционным нажатием на Done. Теперь можно вернуться в настройки часов и активировать Network Time. Подготовка по сути завершена. Раздел Security Policy оставляем пустым. Теперь можно нажать на кнопку Begin installation и запустить непосредственно установку Centos 8. Делаем это и параллельно задаем пароль для root пользователя. Нравится, как это реализовано в centos. CentOS 8 netinstall Рассмотрим теперь установку centos 8 по сети с boot образа. Она ничем не отличается от обычной, кроме одного момента — вам нужно сначала настроить сеть с выходом в интернет или с доступом к локальному репозиторию и указать этот репозиторий в качестве источника для установки системы. В качестве источника для установки я буду использовать упомянутое ранее зеркало яндекса. CentOS 8 netinstall url — https://mirror.yandex.ru/centos/8/BaseOS/x86_64/os/ Указываем путь, сохраняем настройки и ждем, когда установщик подключиться к репозиторию и заберет у него информацию о пакетах. После этого в разделе Software Selection можно выбрать необходимый для установки набор софта, как и при локальной установке. Все остальное настраиваем точно так же, как мы сделали выше. Установка на raid Рассмотрим еще один, более специфичный вариант установки. Он может быть актуален, когда вы настраиваете, к примеру, железный сервер для работы на нем гипервизора KVM, либо отдельной ноды кластера Kubernetes, на которой будет использоваться локальное файловое хранилище. Мы будем ставить CentOS 8 на программный рейд. Для примера возьмем 2 диска и raid 1. Все установки будут такие же, как мы рассмотрели ранее, кроме одной — Installation Destination. Подключаем 2 диска к системе, загружаемся с установочного диска и идем в раздел разбивки диска. Видим 2 жестких диска. Выбираем оба и отмечаем пункт Custom. Если на дисках есть какие-то разделы, то все удаляем. Дальше наша задача выполнить такую же разбивку диска, как и ранее, только в качестве разделов использовать массивы mdadm, которые предварительно надо создать. Должно получиться примерно вот так. К сожалению, через стандартный установщик не получится установить centos 8 не только на mdadm raid 1, но затем на lvm разделы поверх mdadm массивов. Я не увидел такой возможности. К примеру, установка Debian позволяет это сделать. Там более гибкие варианты настройки разметки дисков и создания разделов. Дальше можно запускать установку centos на программный рейд. Проверим его после того, как система успешно загрузится. # df -h # cat /proc/mdstat Проверим теперь, как сервер переживет выход из строя одного из дисков. Я выключил сервер, вынул первый диск, с которого загрузился сервер в первый раз и поставил загрузку со второго. Включаю и проверяю. Сервер без проблем загрузился. Никаких ошибок загрузчика не было, кроме одного момента — загрузка была значительно дольше, чем обычно. Вместо нескольких секунд 3-5 минут. Все работает как и должно работать из коробки. Стандартный установщик отработал корректно, хотя так бывает не всегда. Проверим состояние массива. # cat /proc/mdstat # mdadm -D /dev/md126 Одного диска нет, но при этом все работает стабильно. Можно планово выполнить замену сбойного диска и добавить его в массив. Правда, тут могут быть ошибки, одну из которых я недавно словил. После выхода из строя одного диска в составе mdadm, массив с /boot разделом почему то перешел в статус inactive и система не грузилась. Но я это легко исправил и загрузил сервер. Подробности в статье — восстановление raid 1. Я рекомендую использовать софтовый raid mdadm, если у вас нет железного raid контроллера. Mdadm надежен и прост в эксплуатации. У меня с ним никогда не было серьезных проблем и потери информации. Да, бывает, что сервер не грузится после выхода из строя диска, есть нюансы, но данные всегда остаются целы. Все можно исправить. Он намного надежнее, понятнее и стабильнее встроенных в материнскую плату контроллеров. Отдавать предпочтение аппаратному рейду следует только в том случае, если он действительно аппаратный, имеет батарейку и действительно увеличивает производительность сервера за счет кэширования. Во всех остальных случаях рекомендую пользоваться mdadm. Заключение На этом статью по установке сервера на базе ОС CentOS 8 завершаю. Надеюсь, было интересно и полезно. Я постарался подробно рассмотреть все основные нюансы установки, с которыми сам сталкиваюсь в процессе своей профессиональной деятельности. Основные отличия моих статей от подобных, которых развелось огромное количество в интернете в том, что они действительно уникальные и авторские. Я всегда стараюсь привнести в материал часть своих знаний и опыта, накопленного за годы работы в качестве системного администратора. Или просто какие-то свои мысли высказать. Прежде чем написать статью, я погуглил как ru сегмент, так и мировой на тему установки centos 8 и с грустью констатирую, что не нашел ничего интересного. В топе выдачи банальные СЕО статьи со скриншотами и шагами инсталлятора. Ничего уникального и действительно полезного. Это удручает, потому что СЕО побеждает реальных авторов-практиков, у которых нет времени разбираться в продвижении, и делает их статьи невидимыми для людей, потому что их нет в ТОП 10 выдачи поисковиков. Если мне попадаются интересные сайты с качественным контентом, я добавляю их в закладки и просматриваю вручную, когда есть время. Обозначенная выше проблема актуальна для всех информационных сайтов. Думаю, каждый это замечает, когда что-то ищет в интернете не по коммерческим запросам. На первых местах всегда СЕО статьи с рерайтом одной и той же фигни. Практическая ценность подобных статей стремится к нулю. Поисковики что-то постоянно пытаются с этим сделать, но получается не очень, потому что сеошники подстраиваются. В этом плане Гугл работает более качественно, чем Яндекс. У последнего выдача более мусорная, что косвенно подтверждается тем, что он с каждым годом теряет свои позиции в качестве поисковика. Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos. Статья позаимствована с ресурса serveradmin.ru
  4. Будучи администратором Windows, трудно НЕ использовать продукты из линейки Microsoft System Center. Эти продукты имеют широкий спектр применения и отлично интегрируются с Windows Server. Плюс, компания Microsoft часто предлагает эти продукты по низким ценам со скидками, если вы приобретаете корпоративную лицензию. Так давайте узнаем, что включает эта линейка продуктов и как она может помочь в управлении своей ИТ инфраструктурой. Microsoft System Center представляет собой линейку продуктов управления от компании Microsoft. Это большая линейка продуктов, настолько большая, что даже проводятся ежегодные конференции, посвящённые этим продуктам. Эта конференция, Microsoft Management Summit 2010, как раз сейчас, на момент написания статьи, проходит в Лас-Вегасе. Вы, вероятно, слышали о SMS или MOM линейках продуктов от Microsoft; все эти продукты переименованы и являются частью пакета MS System Center Suite. Так из чего же состоит этот пакет продуктов управления и как он может помочь лучше управлять своей ИТ инфраструктурой. Что такое Microsoft System Center? В Microsoft говорят, что System Center управляет всем, от настольных компьютеров до целых центров данных, и они правы. Благодаря 6+ разным ОСНОВНЫМ приложениям, являющимся частью пакета, есть приложения для управления всей ИТ инфраструктурой и связанными с ней приложениями (да, приложения для управления приложениями). Но пакет "SC" не только управляет приложениями, клиентскими устройствами, серверами, виртуальными машинами (и т.д.), его задачей является автоматизация этих заданий по управлению ("Динамическое управление ИТ", как называют это в Microsoft) и выполнение этого таким образом, чтобы можно было стандартизировать политики и применять рекомендации. В пакет System Center входит следующее: Диспетчер конфигурации System Center Configuration Manager (SCCM) Диспетчер операций System Center Operations Manager (SCOM) Диспетчер защиты данных System Center Data Protection Manager (SCDPM) Диспетчер виртуальных машин System Center Virtual Machine Manager (SCVMM) System Center Essentials Диспетчер служб System Center Service Manager (beta) Подробнее я расскажу о каждом компоненте чуть позже, но сначала хочу выделить следующее: System Center не поставляется на рынок для малых предприятий. На самом деле в Microsoft говорят, что SC предназначен для средних и больших организаций. Идеальным временем применения компонентов SC является время, когда вы только создаете свою ИТ инфраструктуру, прежде чем она разрастется. Даже если вы не работаете на идеально подходящее предприятие, которое нуждается в System Center, вы, возможно, захотите узнать больше о продукции System Center в силу того, что вы, возможно, собираетесь устроиться на работу в компанию, которая использует эти популярные продукты, или вы работаете консультантом, который должен понимать эти продукты, чтобы управлять инфраструктурой клиентов. Для дополнительной информации о System Center смотрите мою статью о том, как сертифицироваться на Microsoft System Center, которая будет вскоре опубликована на WindowsNetworking.com. Многие продукты System Center в настоящее время обозначены, как версия 2007, но думаю, что вскоре выйдут версии 2010, а бета версии или RTM уже есть для многих продуктов. Эти продукты System Center доступны в качестве пробных версий с Microsoft, и если вы подписаны на Microsoft TechNet, вы можете загрузить продукты System Center и использовать их согласно правилам TechNet для оценки и внутреннего тестирования. System Center Configuration Manager (SCCM) Microsoft System Center Configuration Manager (или SCCM) ранее назывался SMS или Systems Management Server. Поэтому большинству людей более знаком термин "SMS", и они практически не знают термин "SCCM". Как говорят в Microsoft, ролью SCCM является "оценка, развертывание и обновление серверов, клиентов и устройств в физических, виртуальных, распределенных и мобильных средах". Вот некоторые примеры реальных задач, которые можно выполнять с помощью SCCM: Составление описи всех ПК и серверов в сети, определение аппаратных средств и ПО. Выпуск нового программного пакета для группы ПК Апгрейд операционных систем или их обновление на группе ПК Поскольку эти задачи столь важны для ИТ организаций средних и больших предприятий, я бы осмелился сказать, что SCCM является самым важным продуктом в линейке System Center. Microsoft говорит, что 70% затрат компаний на ИТ составляет обслуживание их ИТ инфраструктуры и что SCCM является необходимым инструментом для помощи ИТ администраторам в управлении расходами посредством надлежащего и эффективного обслуживания. В настоящее время последней версией SCCM является 2007 R2, но уже есть SCCM R3 beta, которую можно загрузить и опробовать самостоятельно. SCCM R3 будет предлагать возможность централизованного управления и контроля питания компьютеров Windows PC, включая новые компоненты управления питанием в Windows 7. Также в SCCM R3 теперь будет включен диспетчер мобильных устройств System Center Mobile Device Manager, позволяющий администраторам составлять опись, разворачивать ПО, управлять параметрами и внедрять политики пароля на мобильные устройства Windows. System Center Operations Manager (SCOM) Ранее известный как MOM (Microsoft Operations Manager), SCOM 2007 R2 концентрируется на здоровье, доступности, производительности, конфигурации, безопасности и рабочих нагрузках физических и виртуальных серверов и ОС по всему предприятию. Помимо мониторинга, диспетчер SCOM также выдает оповещения, когда фиксируется определенное наблюдаемое условие. В реальности SCOM используется для: Определения проблемных мест в ресурсах, вызывающих проблемы в производительности и у приложений Определения соответствия приложений и серверов соглашению об уровне услуг (SLA) Предотвращению простоев до их появления путем оповещения, когда определенный ресурс достиг указанного порогового значения В настоящее время SCOM идет в версии "2007 R2", он доступен в пробной версии, а также с ним идет Service Level Dashboard (SLD) 2.0. System Center Data Protection Manager (SCDPM) System Center Data Protection Manager (DPM) 2010 теперь доступен и он предлагает защиту резервным копированием для Windows серверов, ноутбуков, настольных компьютеров, Sharepoint, SQL Server, Exchange и виртуальных серверов (на базе Hyper-V). Вот некоторые новые функции версии 2010: Возможность перемещения ноутбуков для использования централизованно управляемых политик резервного копирования Site-to-site репликация для аварийного восстановления на другой DPM сервер или на сервер провайдера услуг компьютерного облака Централизованно управляемое состояние системы и восстановление пустых системы (System State and Bare Metal Recovery) для резервных клиентов. Лично мне нравится то, что DPM теперь имеет возможность использовать провайдеров компьютерного облака для хранения резервных копий. Будет интересно наблюдать за тем, как это получит распространение и сможет ли хранение резервных копий в компьютерном облаке стать общепринятым новым стандартом защиты резервным копированием. Загрузите пробную версию DPM 2010 по вышеуказанной ссылке и попробуйте его. System Center Virtual Machine Manager (SCVMM) System Center Virtual Machine Manager 2008 R2 (или SCVMM, или просто VMM) используется для предоставления возможности централизованного управления Hyper-V серверами и их виртуальными машинами. В VMM ряд компонентов и функций Hyper-V становится доступным, например оптимизация производительности ресурсов (PRO) по всей виртуальной инфраструктуре. Помимо управления Hyper-V, VMM также может выполнять централизованное управление VMware ESX сервером и Microsoft Virtual Server. Дополнительные расширенные компоненты, доступные в VMM, включают следующее: P2V и V2V консолидация с интеллектуальным размещением Централизованная оптимизация ресурсов Библиотека VM шаблонов Быстрая миграция хранилища Вы можете загрузить пробную версию VMM в формате VHD, что позволит вам быстро запустить его и приступить к работе, или вы можете приобрести лицензию на две редакции Enterprise ($869 плюс $40 на клиентскую ОС или пользователя, не использующего серверную ОС) или Workgroup ($505 с возможностью получения до 5 принимающих серверов). System Center Essentials System Center Essentials (SCE) 2010 уже доступен. Задачей SCE или "Essentials" является предоставление средним организациям возможностей пакета System Center, которые им необходимы, по доступной цене. С помощью новой редакции 2010 вы можете: Управлять общим количеством до 50 серверов Windows из единого решения, которое включает не только физические серверы, но и виртуальные серверы, клиенты, ПО и ИТ службы. Проактивно управлять и автоматизировать общие задачи управления инфраструктурой. Управлять Hyper-V серверами с помощью встроенных VMM 2008 R2 функций, таких как P2V. Вы можете загрузить пробную версию Essentials 2010 сейчас, а цены на этот продукт будут известны, когда он выйдет в массовую продажу. Essentials 2010 представляет собой то, что я бы хотел опробовать, поскольку мне нравится идея единой физической и виртуальной инфраструктуры для средних предприятий. System Center Service Manager (beta) Самым последним дополнением пакета System Center стал Service Manager 2010 (пока что доступный только в бета версии). Диспетчер Service Manager можно воспринимать, как службу поддержки в вашей компании – способ отслеживания проблем и их разрешения. Однако SM делает нечто большее. Он также предоставляет: Возможность контроля изменений Управление активами CMDB совместимость и автоматическое подключение к другим продуктам System Center для совместного использования информации Бизнес целями Service Manager является снижение расходов посредством сокращения времени на разрешение проблем и помощи интеграции ИТ с бизнесом. Бесплатная пробная версия Service Manager 2010 уже доступна. Заключение В этой статье мы рассмотрели шесть основных компонентов пакета управления Microsoft System Center. Это большой пакет продуктов, включающий управление ОС и ПО, управление конфигурацией, оповещения и мониторинг производительности, резервное копирование и восстановление данных, управление виртуальными машинами, управление службы поддержки, и более маленький пакет, который включает многие из этих возможностей в уменьшенном масштабе. Для всех продуктов доступны бесплатные пробные версии (некоторые в формате VHD для быстрого развёртывания). Некоторые продукты уже доступны в версиях 2010, другие скоро станут доступны в этой версии. В общем и целом, я думаю, что этот пакет многообещающий и время покажет, предпочтут ли пользователи стандартизировать продукты управления Microsoft, вместо использования продуктов управления от сторонних производителей. Автор: Дэвид Дэвис • Иcточник: www.netdocs.ru
  5. Рассмотрим вопросы установки и настройки MS SQL Server для 1С. Первое, что хотелось бы отметить, способ установки MS SQL Server во многом зависит от предполагаемой нагрузки на 1С. В зависимости от этого можно обозначить следующие варианты: Вариант 1. Предприятие, с количеством операций в день до 500; Вариант 2. Предприятие, с количеством операций в день более 500, но в основном не интерактивных (загрузка платежей из Интернета и банк-клиента, загрузка заказов из Интернет-магазина, автоматическое формирование складских и транспортных операций и т.д.); Вариант 3. Предприятие, с количеством операций в день более 500, большинство из которых являются интерактивными, т.е. инициируются и оформляются пользователями. Для первых двух вариантов MS SQL Server можно устанавливать на том же сервере, где установлен 1С, что особенно актуально, скорее, для второго варианта при условии соблюдения требований по «железу». А вот в третьем случае MS SQL Server нужно устанавливать только на отдельный сервер. Рассмотрим характеристики «железа» для всех трех случаев В случае установки на отдельный сервер: Процессор Вариант 1. Не ниже 1.8 ГГц (желательно 2-х ядерный) Вариант 2. Не ниже 2х2ГГц с числом ядер не менее 2-х Вариант 3. Не ниже 4х3ГГц с числом ядер не менее 4-х ОЗУ Вариант 1. Не менее 8 ГБ Вариант 2. Не менее 32 ГБ Вариант 3. Не менее 128 ГБ Дисковая подсистема Вариант 1. SAS не менее 120 ГБ Вариант 2. SAS не менее 500 ГБ (желательно SSD) Вариант 3. SAS не менее 1 ТБ (рекомендуется SSD) Сетевое подключение Вариант 1. Не менее 1 Гб/сек Вариант 2. Не менее 1 Гб/сек (желательно оптика) Вариант 3. Не менее 1 Гб/сек (рекомендуется оптика) В случае совместной установки с сервером 1С Предприятия: Процессор Вариант 1. Не ниже 2х2ГГц с числом ядер не менее 2-х Вариант 2. Не ниже 4х3ГГц с числом ядер не менее 4-х Вариант 3. Категорически запрещено так делать ОЗУ Вариант 1. Не менее 32 ГБ Вариант 2. Не менее 128 ГБ Вариант 3. Категорически запрещено так делать Дисковая подсистема Вариант 1. SAS не менее 500 ГБ (желательно SSD) Вариант 2. SSD не менее 1 ТБ Вариант 3. Категорически запрещено так делать Сетевое подключение Вариант 1. Желательно 1 Гб/сек Вариант 2. Желательно 1 Гб/сек Вариант 3. Категорически запрещено так делать Следует учесть, что это минимальные требования для комфортной работы. Более точные параметры подбираются исходя из конкретной ситуации, руководствуясь основными потребностями MS SQL Server для 1С в дисковой подсистеме и объемом оперативной памяти. Теперь перейдем непосредственно к процессу установки MS SQL Server для 1С в варианте MS SQL Server 2014 на операционную систему MS Windows Server 2012 Прежде всего, необходимо переписать дистрибутив установки MS SQL Server для 1С на локальный жесткий диск сервера. Запустить установку MS SQL Server для 1С под администратором. В открывшемся окне на правой панели выбираем «Установка». Начнется установка MS SQL Server для 1С. В ходе установки вас попросят ввести ключ продукта и ознакомиться с условиями лицензирования. После этого необходимо выбрать роль сервера, выбрав «Установка компонентов MS SQL Server». Следующим шагом будет выбор устанавливаемых компонентов. Обычно они все выделены, но если нет, то жмите кнопку «Выделить все». Далее надо выбрать имя для экземпляра MS SQL Server. Если не хотите проблем с производительностью в будущем, оставьте «экземпляр по умолчанию» и не меняйте пути. Ничего не меняйте, т.е. жмите «Далее», пока не возникнет окно «Настройка компонента Database Engine». В этом окне на первой закладке укажите пользователя «sa» и задайте его пароль (можно назначить и пользователя Windows, но более безопасным считается пользователь «sa»). На двух других закладках можно настроить новые каталоги для хранения пользовательских БД (но лучше не менять). После жмите все время «Далее», не меняя предложенного по умолчанию. Теперь вы установили MS SQL Server для 1С «Откроем» наш MS SQL Server для 1С. Для этого переходим в приложения и находим там SQL Server 2014 Management Studio. При запуске откроется окно авторизации. В нем выбираем «проверка подлинности SQL Server». В имени пользователя указываем «sa», а в поле пароля – комбинацию, заданную на этапе установки. После того, как подключились, слева в дереве выбираем «Безопасность», а в нем – «Имена входа». Нажав правую кнопку мыши, выбираем в подменю «Создать имя входа». В открывшейся форме указываем имя пользователя и его пароль (запомните этот пароль и этого пользователя, т.к. именно его вы будете указывать при подключении баз из сервера 1С). Далее переходим в закладку «Роли сервера» и проставляем там галочки, как указано на рисунке. Переходим к «Защищаемые объекты» и устанавливаем право на соединение с SQL, как на рисунке. Жмем на «Ок». Установка MS SQL Server для 1С и его настройка завершена. Переходим к подключению базы 1С на сервере 1С Запускаем консоль администрирования серверов «1С:Предприятие». Далее делаем, как на рисунке. Открывшийся диалог заполнить, как это показано на рисунке. <Имя базы на латинице> - укажите имя своей базы. <Имя компа MS SQL Server> - укажите имя компьютера, на который вы ранее установили MS SQL Server для 1С. Жмем на «Ок». База подключена. Можно подключить базу прямо из диалога подключения базы 1С. Для этого запускаем диалог открытия баз 1С и жмем кнопку «Добавить». В появившемся окне, выбираем «Создание новой информационной базы». В следующем окне выбираем нужный шаблон в дереве или указываем «Создание новой базы без конфигурации…». В следующем окне задаем имя базы и указываем, что она будет на сервере «1С:Предприятие». На следующей вкладке заполняем поля, аналогично тому, как это было описано в разделе подключения базы с сервера 1С. Жмем «Далее» и «Готово». Оптимизация SQL под 1С завершена. Можно запускать и работать.
  6. Synology DSM это операционная система выпускаемая в комплекте с NAS одноименной компании. Фактически ваше персональное облако с простым интерфейсом. DiskStation Manager (DSM) представляет собой интуитивную операционную веб-систему, работающую на всех NAS-серверах Synology - говорится на их сайте. Там же можно и посмотреть возможности этой WebOS - https://www.synology.com/ru-ru/dsm/live_demo DSM ставится с помощью дополнительного загрузчика, практически на любое устройство (с совместимым оборудованием), загрузчик разрабатывается сообществом XPEnology https://xpenology.com/forum/forum/4-russian/ Установка возможна на x86-x64 совместимые системы, на виртуальные машины ESXI, Hyper-V, VirtualBox. Разница в установке только в конфигурации каждой выбранной виртуальной машины и выбора загрузчика. Расскажу вам как устанавливать на PC, для этого необходимо: 1. USB Flash любого обьема (250MB достаточно) всегда должна быть вставлена в PC 2. Образ IMG для флешки (ds3615 v1.02b на момент написания) - https://mega.nz/#F!yQpw0YTI!DQqIzUCG2RbBtQ6YieScWg 3. Утилита для разворачивания образа (использовал https://rufus.akeo.ie/?locale=ru_RU) 4. Утилита для редактирования образа (использовал OSFMount https://www.osforensics.com/tools/mount-disk-images.html) 5. Утилита для определения PID&VID флешки (http://flashboot.ru/files/file/448/) - либо в диспетчере устройств посмотрите. Все действия вы выполняете на свой страх и риск! Скачиваете образ, монтируете в утилите OSFMount для записи раздел 15МБ. На смонтированном диске находим папку grub а в ней файл grub.cfg Открываем файл с помощью нормального блокнота (например Notepad++) Находим строку с: set vid=0x058f set pid=0x6387 set sn=C7LWN09761 set mac1=0011322CA785 Меняем vid и pid на те которые на вашей флешке. Сохраняем grub.cfg размонтируем образ. Так же можем изменить серийный номер устройства и мак адрес на валидные что бы работал удаленный доступ с любого места. Разворачиваем отредактированный образ на флешку с помощью Rufus. Вставляем флешку в компьютер и загружаемся с нее (компьютер должен подключен к вашей локальной сети и очень желательно что бы получил IP от вашего роутера) Ничего не нажимаем, загрузится первый пункт меню Все отлично - система готова к установке. Во время установки на жесткий диск установленный в компьютере будет форматирован и установлена файловая система (около 2GB) - остальное пространство будет не размечено и доступна в последствии для работы. Заходим на в браузере на сайт http://find.synology.com Находим ваше устройство в сети (либо можете подключится по IP:5000) И с помощью мастера установки (либо онлайн скачается файл прошивки, либо вручную, скачать здесь) установить WebOS на ваш компьютер. После перезагрузки по полученному IP будет доступна DiskStation Manager (DSM) А дальше все по вашему желанию. Сразу же установил свой любимый monitorrent https://pikabu.ru/story/monitorrent__avtomaticheskiy_zagruzchik_torrentov_4812706 Дополнительный репозитарий: https://synocommunity.com/ с полезным софтом https://synocommunity.com/packages Так же можно установить контейнеры Docker коих великое множество. Использовались материалы этого форума: https://xpenology.com/forum/topic/7973-tutorial-installmigrate-dsm-52-to-61x-juns-loader/
  7. Настройка взаимодействия Plex сервера и Apple TV Plex media server — Для того что бы подключаться к Plex серверу, и воспроизводить его контентом на Apple TV устройстве. Необходимо: Установить специальный плагин «PlexConnect» на ПК, на котором установлен Plex media server. Установить сертификат PlexConnect на приставку Apple TV Произвести настройку DNS сервера на Apple TV устройстве Схема Взаимодействия Установка PlexConnect на ПК PlexConnect (https://github.com/iBaa/PlexConnect/wiki/Install-Guide)–это специальная программа, которая перехватывает запрос на DNS сервер с Apple TV, и подставляет свои данные в ответе Apple TV. В результате чего при нажатии кнопки Трейлеры (Trellers) на Apple TV, происходит переход на портал Plex. Причем данный результат достигается без jailbreak устройства Apple TV. Все файлы для установки и настройки PlexConnect находятся по данной ссылке. Для установки, плагина PlexConnect, предварительно требуется установить интерпретатор языка Python. Для это установите python-2.7.5.amd64.exe. После установки python-2.7.5.amd64.exe скопируйте папку Plex_Connect (из архива) на диск C. В папке Plex Connect главным исполняющим файлом является «C:\Plex_Connect\PlexConnect.py» создайте ярлык для данного файла на рабочем столе. Только после запуска PlexConnect.py начнется работа PlexConnect плагина. Скриншот корректно запущенного PlexConnect’a.: Вслучае если необходимо скрыть запуск и работу скрипта PlexConnect.py, на ПК с Plex сервером. Создайте текстовый файл PlexConnectStart.vbs с содержимым: Dim oShell Set oShell = WScript.CreateObject («WSCript.shell») oShell.run «C:\Plex_Connect\PlexConnect.py», 2 Set oShell = Nothing И добавьте его в автозапуск Windows. Теперь скрипт будет запускаться в свернутом режиме. Далее приступим к установке сертификата PlexConnect на устройство Apple TV. Установка сертификата PlexConnect на приставку Apple TV Убедитесь в том что у Вас установлена программа iTunes. Установите программу iPhoneConfigUtilitySetup.exe. Запустите iPhone Configuration Utility ярлык программы находится в меню пуск. Возьмите кабель micro USB и подсоедините им Apple TV к ПК без подключенного кабеля HDMI. Убедитесь что iTunes не запущен и закрыт. В папке “C:\Plex Connect\assets\certificates” Вы найдете сертификат trailers.der который необходимо установить на Ваш ПК. Для этого щелкните дважды по файлу trailers.der. В появившемся окне нажмите «Установить сертификат», далее следуйте инструкциям на скриншотах. 1 2 3 4 5 6 После установки сертификата на ПК, запустите iPhone Configuration Utility. Убедившись что устройство Apple TV отображается в DEVICES установите сертификат в Apple TV как указано на скриншотах. 1 2 3 После того так сертификат был установлен, кнопка на против сертификата «Inatall» сменит название на «Remove» Отключите Apple TV от ПК. Теперь можно приступить к настройке Apple TV для подключения к Plex. Настройка Apple TV для подключения к Plex медиатеке Перед тем как приступить к настройке подключения Apple TV к Plex медиатеке, убедитесь в том что сервер Plex работает. А так же PlexConnect корректно запущен на ПК. Включите Apple TV и подключите к сети (пач корд или вай-фай без разницы). Убедитесь еще раз в том, что сертификат установлен. Для этого пройдите по шагам указанным на скриншотах.: 1 2 3 4 Теперь можно настраивать DNS сервер 1 2 3 4 5 6 7 После указания DNS сервера вручную, если Вами все было сделано верно. При нажатии на кнопку «Треллеры», Вы увидите медиатеку Plex. 1 2 Полезные ссылки: https://forums.plex.tv/index.php/forum/34-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/ https://oldwiki.plexapp.com/index.php?title=Documentation/ru http://ixinji.com/iblog/2013/08/29/fix-broken-dns-server-for-trailer-hacking-on-apple-tv-3-after-recent-update/ https://github.com/iBaa/PlexConnect/wiki/Install-Guide-Windows-Certificates http://macdaily.me/howto/how-to-watch-iptv-on-apple-tv-part-2/ . https://langui.sh/2013/08/27/appletv-ssl-plexconnect/ http://www.iguides.ru/forum/showthread.php?t=87484 http://4pda.ru/forum/index.php?s=23f1c7e4b33e501d3cd125b2dc20829f&showtopic=321746&st=1720&p=27161470&#entry27161470 http://habrahabr.ru/post/183866/ http://appstudio.org/manuals/nastroyka-klienta-plex-na-apple-tv-bez-dzheylbreyka.html http://www.iguides.ru/forum/showthread.php?t=89545 http://www.youtube.com/watch?v=tK4IobMKwuk http://forum.appleinsider.ru/topic/3571-kak-smotret-ljubimoe-video-na-apple-tv-bez-dzheilbreika/ http://appstudio.org/reviews/plex-luchshij-mediatsentr-dlya-maka.html http://habrahabr.ru/post/198740/ http://www.youtube.com/watch?v=LRJRGrbgbUQ
  8. Рассмотрим команды для резервного копирования базы данных сайта на mysql через SSH и дальнейшего ее восстановления. Бывает, что необходимо сделать резервную копию базы данных сайта, а подручные средства не справляются по ряду причин, например, сталкивался, что база весила более 10 гигов, а phpmyadmin выбивал 502 ошибку. Тогда делал резервную копию через ssh. Команды для работы с резервным копированием и восстановлением. Создать резервную копию всех баз данных в файл all.sql в папке tmp. mysqldump -u root -p --all-databases >/tmp/all.sql Для создания копии всех баз, необходимо будет указать логин root. Password можно не указывать в команде, а так как есть "-p", то сервер запросит ввести пароль от root. Создать резервную копию одной базы данных в файл databasename.sql в папке tmp mysqldump -u username -p --databases databasename >/tmp/databasename.sql Для создания копии 1 базы Вам необходимо указать пользователя базы вместо username (это тоже может быть root), так же имя базы вместо databasesname. Восстановление базы данных из резервной копии databasename.sql в папке tmp: mysql -u username -p databasename < /tmp/databasename.sql Для восстановления копии базы Вам необходимо указать пользователя базы вместо username (это тоже может быть root), так же имя базы вместо databasesname.
  9. В данной статье я приведу пример организации простейшего резервного копирования сайтов и баз данных MySQL с сервера CentOS 7.x на Яндекс.Диск. Прежде всего установим yandex-disk на сервер, для этого воспользуемся утилитой yum и инструкцией от Яндекса: # nano /etc/yum.repos.d/yandex.repo В файл yandex.repo введём такие данные: [yandex] name=Yandex failovermethod=priority baseurl=http://repo.yandex.ru/yandex-disk/rpm/stable/$basearch/ enabled=1 metadata_expire=1d gpgcheck=1 gpgkey=http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG Далее: # rpm --import http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG # yum install yandex-disk После установки запускаем конфигурацию Яндекс.Диска: $ yandex-disk setup В качестве директории для синхронизации, я оставил дефолтную (/home/user/Yandex.Disk) Создадим в ней директорию для бэкапа: $ cd /home/user/Yandex.Disk $ mkdir backup Нелишним будет в файле конфигурации Яндекс.Диска отключить директории отличные от backup, если вы планируете пользоваться им не только для создания резервных копий. Делается это просто, добавлением строки в файл config.cfg: exclude-dirs="exclude/dir1,exclude/dir2,path/to/another/exclude/dir" Теперь необходимо создать bash-скрипт, который будет в эту папку создавать backup’ы: $ vim backup.sh CURDATE=`date +%F` OLDDATE=`date +%F --date='7 day ago'` mysqldump -u mysqluser -ppassword --all-databases > /home/user/mysql-$CURDATE.sql gzip /home/user/mysql-$CURDATE.sql mv /home/user/mysql-$CURDATE.sql.gz /home/user/Yandex.Disk/backup rm /home/user/Yandex.Disk/backup/mysql-$OLDDATE.sql.gz tar czf /home/user/Yandex.Disk/backup/sites-$CURDATE.tar.gz /var/www/sites rm /home/user/Yandex.Disk/backup/sites-$OLDDATE.tar.gz В этом скрипте переменной CURDATE присваивается текущая дата, переменной OLDDATE дата недельной давности. Создаётся дамп базы данных, сжимается gzip’ом, и переносится в директорию Яндекс.Диска, туда же создается сжатая tar+gzip’ом копия директории с сайтами (в данном примере это /var/www/sites). Скрипт настроен таким образом, что удаляет бекапы старее 6 дней. Далее нужно запустить синхронизацию с Яндекс.Диском: $ yandex-disk start Можно протестировать создание бекапов: $ bash backup.sh Убедитесь в наличии прав на запуск файла backup.sh Как только резервная копия будет создана, демон Яндекс.Диска начнёт синхронизировать копию с облаком. Если всё прошло нормально, добавим выполнение скрипта backup.sh в планировщик cron: $ crontab -e Внесём туда такую строку 3 5 * * * bash /home/user/backup-new.sh При такой конфигурации скрипт будет запускаться каждый день в 5 часов 3 минуты утра. Можно скорректировать время, исходя из дневной нагрузки на сервер, выбирая промежуток времени с наименьшей нагрузкой.
  10. Выход Xiaomi Mi Band 4 с NFC снова стал причиной волнений в мобильном сообществе. Неужели бесконтактные платежи на Ми Бэнд станут возможными, раз была выпущена отдельная версия с NFC и в России скоро запустят платежную систему Mi Pay? Мы решили развеять все ваши сомнения на этот счет и рассказать всю правду об NFC на фитнес-часах в России. Статья исчерпывающая и подкреплена технической базой. NFC на Mi Band Многие из нас ошибочно полагают, что наличие модуля NFC в любом мобильном устройстве означает возможность совершать бесконтактные платежи уже привычным всем способом. Однако это не так, если мы говорим о наручных аксессуарах. Сегодня не такой большой выбор носимых устройств с функцией мобильных платежей. В их число входят Apple Watch, которые работают на собственной ОС WatchOS с платежной системе Apple Pay; умные часы на Android Wear и Wear OS с поддержкой Google Pay, часы от Samsung на Tizen OS (Samsung Pay). Это, пожалуй, самые популярные варианты. Почему же сюда не попали Xiaomi Mi Band, ведь даже третья версия браслета уже имела поддержку NFC модуля… Да и последние новости о скором появлении Mi Pay внесли неясность. Для реализации бесконтактной оплаты нужно, чтобы носимый аксессуар имел полноценную ОС, которая сможет обеспечить должную безопасность. В Mi Band она отсутствует. Бесконтактные платежи через NFC этим браслетом не возможны, даже с Mi Pay. Бесконтактная оплата Mi Band Полагать, что с помощью Ми Бэнд 4 вы сможете оплачивать покупки в России, абсурдно. Аксессуар рассчитан исключительно на китайский рынок. И оплачивать им можно только в Китае. Кстати, что касается бесконтактной оплаты в Китае, то там сейчас актуально два способа оплаты. Первый предполагает использование QR-кода. Второй — использование NFC. Подробнее о каждом расскажем чуть ниже. 1 способ: Покупатель использует свой смартфон с предустановленным приложением Alipay или WeChat с электронным кошельком. Либо покупатель сканирует QR код, предоставленный самим продавцом (сумма вводится вручную или уже зашифрована в коде), и деньги автоматически списываются. Либо покупатель показывает продажу свой QR код, который генерируется мобильным кошельком, тот его сканирует, и происходит списание средств. Первый вариант невозможно использовать на фитнес-браслете за отсутствием камеры. А вот второй способ вполне реализуем на подобных аксессуарах, так как на браслете есть дисплей, которого достаточно, чтобы показать QR код. Вот именно второй вариант и был реализован с помощью системы Alipay с расчетом на то, что пользователь (покупатель) привязывает свой наручный аксессуар к приложению Alipay, создает для себя отдельный счет с определенным лимитом. Оплата проводится в режиме офлайн без необходимости доставать смартфон, а сами операции передаются на сервера Alipay именно с кассы магазина. Естественно, что в России данной практики не существует. 2 способ: Предполагает использование модуля NFC. Использование данного метода предполагает максимальную безопасность бесконтактных платежей. Недорогие фитнес-браслеты не могут обеспечить этот самый уровень безопасности. К слову, в сборке используются одни из самых дешевых чипов NFC. Другой разговор, если мы говорим о транспортной карте, на который вряд ли будут лежать дбольшие суммы денег. В браслетах Ми Бэнд для этого в первую очередь и были реализованы возможности NFC. Китайцы могут через специализированное приложение в разделе NFC купить виртуальную транспортную карту для своего фитнес-браслета, положив деньги на баланс. Карта привязывается именно к определенному браслету, а дальше все просто — часы используют для оплаты проезда. Бесконтактные платежи на Mi Band с NFC в России на сегодня не возможны. В России с этим все еще сложно, но развитие идет в нужном направление. Некоторые муниципальные карты Москвы успешно привязываются с NFC Mi Band, кому то удалось привязать ключ домофона. Будет ли работать Mi Pay на Mi Band? Проанализировав все выше сказанное, вывод на главный вопрос напрашивается сам собой. Не ждите, что ваш новый браслет Mi Band с NFC будет поддерживать бесконтактные платежи в России. Нет в них стойкого шифрования, сертифицированного Visa или MasterCard. Оплата с помощью QR кода в России не актуальна, использование транспортных карт с помощью браслета от Сяоми тоже пока до конца не реализовано в России, ведь на это нужно время, чтобы договориться с перевозчиками и т.д. Система Mi Pay в Россию придет также не скоро. И несмотря на то, что в Сети ходят слухи о ее запуске в России, сроки реализации очень далеки от нас. Поэтому, если вы надумали покупать Xiaomi Mi Band 4 из-за NFC, знайте, что для российских пользователей эта функция по-прежнему остается не актуальной.
  11. Бывает возникает ситуация, в которой необходимо загрузить на сервер хостинга базу данных больше разрешенного хостингом в утилите управления базами данных phpMyAdmin- обычно этот предел установлен в ~2Mb. Если это случается на виртуале, то обычно просто заливаю базу через ftp и прошу суппорт хостинга помочь в данном вопросе. Поскольку использую нормальные хостинги, то решение это проблемы занимает всего 10-15 минут, так что особо не парился, но тут столкнулся с тем что возникла необходимость подсказать человеку у которого суппорт курил бамбук, так что выделилось несколько вариантов решения данной проблемы. Оговорюсь сразу что наиболее удобен для импорта базы данных mysql последний вариант, но он подходит только тем у кого есть доступ к терминалу. Так что в статье описаны все возможные способы импорта большой базы данных в mysql, кроме общения с суппортом. 1. Варинт первый – выгружаем бэкап базы не целиком, а по несколько таблиц, чтобы файл не превышал наши лимиты. Основной минус данного решения- это то, что операцию выгрузки- загрузки необходимо будет проводить много раз, так что подойдет исключительно для тех у кого много свободного времени и нечем заняться на досуге. 2. Вариант второй – выгружать в пожатом состоянии- так как степень сжатия для текстового файла будет максимальной. Но тут опять же можно столкнуться с тем, что на хостинге не установлена поддержка архиваторов. 3. Используем сторонний скрипт, который позволяет производить экспорт и импорт базы данных, минуя общение с phpMyAdmin. Наиболее известный из имеющихся в наличии, и к тому же наиболее хорошо работающий- это BigDump. О том как его настроить – я отписался чуть позже, так что это касается и настройки по 5му пункту. 4. Как частный случай 3 вариант, возможно залить на сервер эмулятор терминала и сделать 5 пункт через него. Например можно попробовать PHPterm, но в этом варианте можно столкнуться с ограничениями хостинга в плане безопасности запуска команд и скриптов. 5. Также есть простенькая программка аналогичная BigDump, которая также позволяет импортировать большие базы данных, только в данном случае необходим Zend Optimizer либо Nu-Coder. Программка называется Sypex Dumper, и вторую версию скрипта можно даже интегрировать в наиболее популярные CMS. На сайте есть как платная утилита, так и облегченная бесплатная версия. 6. Если таки имеется доступ к консоли, то можно добавить в php.ini следующие строки (увеличиваем лимит загрузки файлов по времени и размеру), после загрузки, лучше вернуть все назад, чтобы не нагнули сервак с оказией: max_execution_time = 20000 max_input_time = 20000 upload_max_filesize = 150M post_max_size = 150M 7. Но на самом деле наиболее быстрым и оптимальным вариантом загрузки большой базы данных, имея доступ к консоли, будет загрузить дамп базы данных dump.sql через ftp, а затем залить её через консоль ssh: mysql -h hostname -u user-name -p DB_name < /path-to-dir/dump.sql если у вас в качестве хоста базы данных используется стандартный localhost , то ключик -h можно и опустить, так что получится вида: mysql -u user-name -p DB_name < /path-to-dir/dump.sql Да, чуть не забыл про самые поганые грабли всей пляски с импортом- при импорте базы данных могут возникнуть проблемы с кодировками, поэтому нам надо убедиться что дефолтная база и выгрузка sql находятся в одной кодировке, либо переконвертировать базу данных в стандартную для mysql кодировку (обычно это utf-8): iconv -f CP1251 -t UTF-8 dump.sql > dump.sql.utf8 либо указать необходимую кодировку при процедуре импорта базы данных: mysql -h hostname -u user-name -default_character_set utf8 -p DB_name < /path-to-dir/dump.sql ---------------------------------- И ещё немного информации ... Импорт и экспорт данных MySQL Экспорт и импорт данных в MySQL обычно требуется при переносе информации из одной базы данных MySQL в другую и для осуществления резервного копирования. Резервное копирование данных носит чисто технологический характер. Это означает, что в случае какого-либо программного или аппаратного сбоя оборудования, мы сможем восстановить актуальные данные клиента. Мы гарантируем сохранность самих данных, а не их резервных копий. Однако, при наличии резервной копии на необходимую дату, мы готовы пойти навстречу клиенту и восстановить утерянные по неосторожности данные. Для это необходимо подать заявку на свободную тему из панели управления. Единственный способ быть уверенным в 100% восстановлении данных — самостоятельно выполнять регулярное резервное копирование информации. Для этого необходимо воспользоваться утилитой mysqldump, которая доступна через unix shell. Пример команд для экспорта и импорта базы данных: mysqldump -u имя_пользователя -p -h имя_сервера_БД имя_базы > dump.sql Данные будут сохранены в файле dump.sql. Далее (в случае необходимости) восстанавливаем данные из резервной копии (дампа) так: mysql -u имя_пользователя -p -h имя_сервера_БД имя_базы < dump.sql Запускаемые указанным образом утилиты для работы с MySQL будут запрашивать пароль к базе данных. Нужно вводить пароль соответствующего пользователя БД. Если пароль был утерян, вы можете самостоятельно изменить его в панели управления, в разделе Древо услуг (выпадающее меню расположено в самой верхней строчке панели управления справа). По умолчанию система считает, что данные в базе хранятся в кодировке UTF-8. Если ваши данные хранятся в другой кодировке, то после создания резервной копии (дампа) для последующего корректного восстановления данных необходимо открыть созданный файл текстовым редактором и исправить в нём строчку: /*!40101 SET NAMES utf8 */; Например, для кодировки Windows-1251 нужно указать: /*!40101 SET NAMES cp1251 */; Дополнительные опции утилиты mysqldump: --add-drop-table — опция, которая добавляет команду DROP TABLE перед созданием таблиц. Перед восстановлением таблиц из дампа, таблицы с таким же именем в рабочей базе данных будут удалены и пересозданы из резервной копии. Рекомендуется использовать для предотвращения возможных ошибок после восстановления; --add-locks — опция, которая добавляет команды LOCK TABLES перед выполнением и UNLOCK TABLE после выполнения каждого дампа таблицы. Применяется для ускорения доступа к MySQL; --quote-names — опция, сообщающая утилите о необходимости ставить кавычки для названий таблиц и столбцов. Рекомендуется к использованию для MySQL версий, младше 4.1.1. В старших версиях она активирована по умолчанию. Опции --quick и --opt рекомендуется использовать, если база данных MySQL слишком большая для того, чтобы целиком поместиться в памяти. При этом утилита mysqldump выдает ошибку: mysqldump: Out of memory (Needed XXXXX bytes) mysqldump: Got error: 2008: MySQL client run out of memory when retrieving data from server В итоге строчка для создания копии базы данных получается следующей: mysqldump --opt -u имя_пользователя -p -h имя_сервера_БД --add-drop-table имя_базы > dump.sql либо такой: mysqldump --quick -u имя_пользователя -p -h имя_сервера_БД --add-drop-table имя_базы > dump.sql Для совместимости дампа, сделанного на стороннем сервере мы рекомендуем создавать дамп базы данных с ключом: --set-variable max_allowed_packet=2M либо -O max_allowed_packet=2M Если во время импорта вы получите ошибку вида mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when dumping table `some_table_name ` at row: 2 значит в вашей базе данных присутствуют данные, которые невозможно разделить на отдельные части, каждая не больше двух мегабайт. Как правило, такое случается, если базу данных MySQL используют для хранения содержимого различных файлов, например, картинок или музыки, не размещая их непосредственно в файловой системе. В таком случае, если размер какого-нибудь файла превышает определённое значение — база данных становится непригодной для использования на наших серверах и потребуется либо удалить такие данные из вашей базы, либо рассмотреть вариант использования сервера баз данных на VPS-сервере , где можно установить нужное ограничение max_allowed_packet в необходимое значение, либо не использовать его вообще. Если на вашем сервере установлена версия MySQL 4.0.x, то для корректного переноса данных со сторонних серверов необходимо при экспорте базы данных использовать ключ: --compatible=mysql40 Как работать с MySQL из скриптов на Perl Для работы с MySQL из Perl-скриптов как правило используют модуль DBI. Это позволяет удобно открывать и закрывать соединения к СУБД, подготавливать и выполнять запросы к базе, обрабатывать ошибки и так далее. Если вы не имеете опыта работы с MySQL из Perl, рекомендуем вам книгу «Программирование на Perl DBI» (рус., англ.). Итак, пример работы с MySQL из Perl DBI: #!/usr/bin/perl use DBI; my $host = "u12345.mysql.masterhost.ru"; # вымышленный MySQL-сервер my $port = "3306"; # порт, на который открываем соединение my $user = "u12345"; # имя пользователя (вымышленное) my $pass = "password"; # пароль my $db = $user; # имя базы данных -по умолчанию равно имени пользователя print "Content-type: text/html\n\n"; $dbh = DBI->connect("DBI:mysql:$db:$host:$port",$user,$pass); $sth = $dbh->prepare("select field1 from table2");# готовим запрос $sth->execute; # исполняем запрос while ($ref = $sth->fetchrow_arrayref) { print "$$ref[0]\n"; # печатаем результат } $rc = $sth->finish; # закрываем $rc = $dbh->disconnect; # соединение В этом примере мы сначала определяем переменные с параметрами доступа к MySQL, далее выдаем HTTP-заголовок, так как это у нас скрипт для запуска через веб, затем соединяемся с базой, подготавливаем и отправляем select-запрос, получаем и печатаем результаты, после чего закрываем соединение. Это простейший скрипт для работы с MySQL из Perl. Более подробные примеры вы можете найти в этой статье. Как работать с MySQL из скриптов на PHP Для работы с MySQL вы можете использовать встроенный в язык PHP средства, поддержка которых уже осуществляется на хостинге. PHP имеет развитый и понятный интерфейс к этой СУБД, что делает работу с MySQL именно из PHP наиболее простой и удобной особенно для начинающих веб-мастеров и веб-программистов. # соединяемся с сервером и выбираем свою базу данных mysql_connect("u12345.mysql.masterhost.ru","u12345","password"); mysql_select_db("database"); # готовим и выполняем запрос к БД $query = "SELECT * FROM table"; $result = mysql_query($query) or die(mysql_error()); # выводим результаты выполнения запроса while($i = mysql_fetch_row($result)) { echo $i[0]; echo $i[1]; ..... } Полная документация на русском языке по работе с MySQL из PHP-скриптов находится здесь. Кроме описаний, там же вы найдете советы опытных пользователей и примеры использования функций, упоминаемых в документации. Также рекомендуем вам статью «Использование MySQL в PHP сценариях» на сервере hostinfo.ru. Загрузка данных с помощью LOAD DATA Начиная с версии MySQL 3.23.49, LOAD DATA LOCAL по умолчанию запрещено по соображениям безопасности, и его надо специально включать. MySQL-сервер у нас работает с включенным LOAD DATA LOCAL, но необходимо включение данной функциональности со стороны клиента. Для утилиты mysql есть несколько вариантов включения данной опции: Параметр --local-infile=1 Создать в домашней директории файл .my.cnf и в нем разрешить эту опцию для группы [mysql], которой пользуется данная утилита: [mysql] local-infile=1 Включение данного режима из perl'а: необходимо в dsn при подключении указать файл конфигурации mysql (т.к. библиотека libmysql по умолчанию никаких дополнительных файлов конфигурации не читает) и группу в нем, в файле создать эту группу, и для этой группы выставить local-infile=1: Например, вписываем в ~/.my.cnf [perl] local-infile=1 а в скрипте подключение оформляем так: my $dsn = "DBI:mysql:database:hostname;mysql_read_default_group=perl;". "mysql_read_default_file=~/.my.cnf"; my $dbh = DBI->connect($dsn, "username", "password") ||die "[err]: Can't connect to MySQL: $!"; Включение данного режима из PHP: у вас обязательно должен быть установлен свой собственный, скомпилированный интерпретатор PHP. В функции mysql_connect() необходимо использовать аргумент 128 (значение константы CLIENT_LOCAL_FILES) в качестве пятого параметра. Пример: $dbh = mysql_connect($server, $user, $pass, false, 128); Дополнительные MySQL-база и MySQL-доступ (MySQL-пользователь) Пользователям предоставляется определенное количество баз MySQL в рамках приобретенного тарифа. При этом автоматически подключается одна база, и реквизиты доступа к ней сообщаются в письме с уведомлением о заведении услуг. Клиенты могут самостоятельно создавать дополнительные базы данных и MySQL-доступы. Для этого необходимо в контрольной панели в разделе Древо услуг выбрать площадку, для которой необходимо создать дополнительную услугу и в таблице «MySQL» выбрать команду «добавить» для услуги «MySQL-доступ (доп.)» или «MySQL-база (доп.)». Пароли доступа к базам данных можно изменить, вызвав команду «изменить» у требуемого MySQL-доступа. -------------------- Вот еще немного инфы (которая, кстати работает, сам проверял) Импорт больших файлов sql в базу данных mysql Как изменить максимально допустимый размер импорта файла sql в базе данных Mysql. Для этого нужен доступ к папке \usr\local\mysql-5.1\ на сервере (или на локальном сервере denver). По умолчанию у вас установлен Максимально допустимый размер загружаемого файла 2 MB. По этому пути \usr\local\mysql-5.1\ открываем файл конфигурации my.cnf. Раскомментируйте следующие строки, если вы хотите изменить настройки InnoDB по умолчанию. # #innodb_data_home_dir = /usr/local/mysql-5.1/var/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /usr/local/mysql-5.1/var/ #innodb_log_arch_dir = /usr/local/mysql-5.1/var/ # Вы можете установить .._buffer_pool_size размером до 50 - 80 % # оперативной памяти, но опасайтесь перерасхода innodb_buffer_pool_size = 16M innodb_additional_mem_pool_size = 2M - здесь меняем до нужного размера! #Устанавливайте .._log_file_size to 25 % от _buffer_pool_size innodb_log_file_size = 5M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit=1 innodb_lock_wait_timeout = 50 Затем перезагружаем сервер и весело работаем с импортом больших sql файлов.
  12. После полутора лет разработки компания Oracle представила выпуск операционной системы Solaris 11.2. Для загрузки в настоящее время подготовлена бета-версия Solaris 11.2, установочные образы с которой доступны для архитектур x86 и SPARC. Для архитектуры x86 дополнительно поставляется демонстрационная Live-система. Из ключевых улучшений нового выпуска отмечается интеграция средств для обеспечения работы облачных инфраструктур, основанных на платформе OpenStack, поддержка нового вида изолированных контейнеров kernel zones и новые возможности по развёртыванию SDN-сетей. Основные новшества Solaris 11.2: — Включение в поставку полноценного стека для создания и обслуживания облачных инфраструктур, а также управления связанными с ними вычислительными ресурсами, хранилищами и сетевыми возможностями. Стек построен на базе платформы OpenStack и предоставляет единые средства для управления облачными системами, как на базе Solaris VM и Solaris Zones, так и на основе гипервизоров Xen и KVM; — Унифицированные архивы — новая форма резервного копирования и архивирования, позволяющая клонировать текущие рабочие окружения для последующего восстановления в случае сбоя или для быстрого развёртывания копии в облачной инфраструктуре; — Поддержка динамического переконфигурирования и переименования изолированных окружений на базе Solaris Zones без перезагрузки; — Новый тип контейнеров Kernel Zones, позволяющих использовать разные варианты ядра Solaris в разных изолированных окружениях. Новая возможность в том числе позволяет выполнять обновление ядра отдельных изолированных окружений без перезагрузки хост-системы (global Zone); — Новая система для развёртывания программных SDN-сетей (Software Defined Network), позволяющих реализовать независимые от оборудования методы обработки и приоритезации сетевого трафика, учитывающие потребности приложений. Интеграция компонента Elastic Virtual Switch для создания виртуальных сетей; — В инструменты управления пакетами интегрированы средства для обновления прошивок и управления прошивками, что позволяет при выполнении обновления системы добиться наличия всегда корректных прошивок; — В ZFS проведена оптимизация производительности, обеспечен процесс отображения прогресса выполнения длительных операций, улучшены средства для хранения данных в сжатом виде, работы на гибридных хранилищах и шифрования данных; — Добавлена утилита compliance для проверки наличия актуальных обновлений, оценки текущих настроек с точки зрения безопасности и выявления возможных следов нарушения безопасности; — Улучшение средств для автоматизированной установки большого числа серверов, организации серверов для распространения обновлений и создания зеркал репозиториев пакетов; — Добавлена новая группа пакетов solaris-minimal-server для установки минимального серверного окружения; — В пакетный менеджер pkg добавлена новая команда еxact-install для возврата системы к первоначальному состоянию, без удаления отдельных пакетов; — Для платформы SPARC началось формирование загрузочных USB-носителей; — Добавлена поддержка протоколов VXLAN (Virtual Extensible Local Area Network), L3 VRRP (Layer 3 Virtual Router Redundancy Protocol), PTP (Precision Time Protocol), DLMP (Probe Based Failure Detection in Datalink Multipathing); — Добавлена поддержка IKEv2 (Internet Key Exchange 2); — В состав включены две новые утилиты мониторинга ipstat и tcpstat; — Увеличена масштабируемость работы DTrace; — Добавлен системный вызов processor_affinity для привязки процессов или нитей к заданным ядрам CPU; — В поставку включены Java 8, GCC 4.8 и MySQL 5.5.
  13. Диагностика по SSH Если вы хотите узнать сколько места у вас занято на дисках и чем конкретно оно занято вам нужно подключиться к серверу по SSH И использовать команды df и du с различными ключами. Например: Команда df Узнать сколько занято и сколько всего у нас места: [root@hostname ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 1.1T 290G 752G 28% / Size - общий размер диска, Used - используется места, Avail - доступное место на диске. В нашем примере, занято 290 Гб, свободно 752Гб. Команда du Узнать какая директория занимает больше всего места: [root@host ~]# du -hs /* 32K /aquota.group 20K /aquota.user 7.5M /bin 74M /boot 188K /dev 50M /etc 4.0K /home 358M /lib 23M /lib64 16K /lost+found 4.0K /media 4.0K /mnt 561M /opt 0 /proc 48G /root 15M /sbin 4.0K /selinux 4.0K /srv 0 /sys 352M /tmp 172M /user2153294 15G /usr 265G /var После того как нашли директорию которая занимает много и вы не знаете что в ней занимает место, можно выполнить эту же команду, но указав в качестве параметры нужную директорию [root@host ~]# du -hs /usr/* 66M /usr/bin 4.0K /usr/etc 4.0K /usr/games 25M /usr/include 321M /usr/lib 162M /usr/lib64 40M /usr/libexec 3.2G /usr/local 28M /usr/sbin 11G /usr/share 12K /usr/src 0 /usr/tmp Так же можно комбинировать данную команду с другими, например grep, для того чтобы выводились только директории занимающие более гигабайта (G в колонке размера) [root@host ~]# du -hs /usr/* | grep G 3.2G /usr/local 11G /usr/share Команда repquota Repquota отобразит квоту пользователей, текущее состояние и ее лимит. ISPmanager считает квоту по группе пользователей, поэтому команда будет выглядеть так: [root@host ~]# repquota -g / | grep user21 user211 -- 254948 0 5242880 1756 0 0 user212 -- 2622280 0 5242880 37930 0 0 user213 -- 668776 0 5242880 35090 0 0 user214 -- 43860 0 5242880 2507 0 0 user215 -- 75788 0 5242880 8950 0 0 user216 -- 24864532 0 78643200 267 0 0 user217 -- 297576 0 5242880 1820 0 0 user218 -- 129208 0 5242880 11305 0 0 user219 -- 411052 0 5242880 15262 0 0 Диагностика в ISPmanager 5 Раздел Пользователи В этом разделе отображается размер дискового пространства в мебибайтах, которое занимают файлы пользователя (занято/доступно). В панели управления не отображается занятое дисковое пространство. В логе панели ошибка: Dec 5 16:09:02 [3228:38] proc EXTINFO Run '/bin/sh -c quotasync\ -g\ /' pid 3658 Dec 5 16:09:02 [3228:38] proc EXTINFO Process 3658 finished with status 1 Такое поведение характерно для файловой системы reiserfs (вирутализация OpenVZ). Для решения проблемы достаточно добавить в файл конфигурации ispmgr.conf (или ispmgrnode.conf если речь о ISPmanager Business) опцию DisableQuotasync. Option DisableQuotasync - если указана данная опция, панель не будет вызывать команду quotasync перед получением информации о системных квотах. После добавления опции в конфиг необходимо перезапустить панель командой killall core Значение занятого дискового пространства в ISPmanager отличается от того, что показывает команда du Например, в панели управления в разделе "Пользователи" отображается информация по занятому дисковому пространству: 880/1000 MB Но du -sh на директорию пользователя показывает 1,6 GB Это означает, что в директории пользователя есть файлы, группа которых не соответствует группе пользователя. Найти такие файлы поможет команда find /var/www/user/ -not -group user Если же команда du , наоборот, показывает меньшее значение, чем в панели, то значит за пределами домашней директории есть файлы, принадлежащие группе пользователя. Найти такие файлы можно с помощью команды find / -path /var/www/user/ -group user Раздел Ограничения (ISPmanager Business) В данном модуле представлена информация об использовании ресурсов пользователем панели управления, включая количество web-доменов, доменных имен, баз данных и т.п. Кроме того, вы можете просмотреть более подробную информацию о некоторых ресурсах, и, в зависимости от выбранного параметра, выполнить дополнительные действия над ним. Частые проблемы Файлы сессий Обычно их занимают файлы сессий. Они сохраняются в директориях пользователей mod-tmp В линуксах /var/www/user_name/data/mod-tmp чтобы удалить файлы из папок необходимо перейти в эту директорию командой # cd /www/user_name/data/mod-tmp где user_name это имя вашего пользователя. И выполняете команду # find . -type f -name 'sess_*' -delete Логи Так же много места могут занимать файлы логов. Расположены они обычно в директории /var/log /var/www/httpd-logs Смотрим размер логов [root@ashamans www]# du -hs /var/www/httpd-logs/* 4,0K /var/www/httpd-logs/ashamans.ru.access.log 4,0K /var/www/httpd-logs/ashamans.ru.error.log [root@ashamans www]# находим большие и можем обнулить их # :> /var/www/httpd-logs/ashamans.ru.error.log Полезные скрипты Уведомление о заканчивающемся свободном месте (PHP) Создайте файл с содержимым: <?php $bash_run = "df -m | grep \"/dev/vdisk\" | awk '{print $4}'"; $freespace = exec($bash_run); $srv_ip=$_SERVER['SERVER_ADDR']; // ip- адрес проверяемого сервера if ($freespace < 5000) // 5 Gb { mail( "mail@mail.ru", "!!! FreeSpase on the Server $srv_ip !!! // chech_disk_space_to_email.php ", "Warning!!! On the Server $srv_ip Freespace = $freespace Mb" ); } Добавьте выполнение данного скрипта в cron: # crontab -e 0 */2 * * * php /путь/до/скрипта
  14. Сегодня закончил интересный эксперимент — перенос сервера под управлением CentOS 7 с реального железа, на виртуальное. Поскольку виртуализация и облачные вычисления в наше время становятся все более и более популярными, считаю что данный способ переноса физических машин в виртуальную среду будет актуальным в некоторых случаях. Ситуация такова: есть сервер с работающим и настроенным CentOS на борту, нам нужно между голым железом и операционкой сделать прокладку в виде гипервизора ESXi/XenServer/Virtualbox и т.п. При этом, у нас нету второго сервера, нету vCenter, соответственно, нету возможности использовать «легальные» и поддерживаемые утилиты типа VMware Converter для P2V миграций. Собственно, у меня и возникла необходимость переноса Linux-сервера в такой ситуации. Но прежде чем делать все это на живом, работающем продакшн-сервере, я решил протестировать в, так сказать, «лабораторных» условиях. И вот что получилось. План миграции таков: — делаем образ диска с помощью Acronis True Image на флешку или внешний винчестер (в зависимости от объема) — форматируем внутренние винты сервера и устанавливаем гипервизор — создаем нужных размеров виртуальную машину — разворачиваем образ диска на виртуалке Данный способ хорош тем, что для миграции нам понадобится только: Live CD с Acronis, установщик ESXi, флешка или внешний винчестер подходящих размеров, консоль (ноутбук или ПК-шка в одной сети с сервером). Теоретически, план вполне рабочий, но «могут быть варианты» :)) В общем ближе к делу, по пунктам: Создание образа работающего сервера 1. Загружаемся с Windows Live-CD на котором есть Acronis (например Alkid). 2. Подключаем флешку или внешний винчестер, свободного места на котором будет достаточно для создания образа. Советую брать устройство, на котором есть столько свободного места, сколько занятого пространства на всех разделах сервера вместе взятых. Акронис, конечно, сжимает данные в процессе создания образа, но лучше брать с запасом. 3. С помощью Acronis True Image создаем файл образа всего винчестера. Подробно сей процесс описывать не буду т.к. Acronis — программа многим знакомая и интуитивно понятная. Единственное, на что нужно обратить внимание, это что бы стояли галочки на всех разделах диска, включая MBR!!! Форматирование дисков и установка гипервизора 4. После сзодания образа работающего сервера отключаем внешний накопитель, вставляем установочный диск с гипервизором, в моем случае — VMware ESXi 6.o, и перезагружаем сервер. 5. Устанавливаем ESXi, который автоматически отформатирует винчестер (или RAID-массив сервера), предварительно предупредив об этом (подробно процесс установки опишу отдельной статьей). 6. Настраиваем сеть на ESXi и подключаемся с помощью vSphere Client 6.0 (его можно скачать на веб-интерфейсе ESXi-сервера) из нашей «консоли» (ноутбук или пк-шка). Если проблем с подключением к серверу через vSphere Client не возникло (а их не должно возникнуть), то можно приступить к следующему этапу — подготовке целевой виртуальной машины для сервера 7. В vSphere Client-е кликаем правой по нашему хосту и выбираем «New Virtual Machine» -> «Custom». 8. Следуя мастеру выбираем «Version 8» -> задаем параметры оперативной памяти и кол-во процессоров, тип операционной системы и т.п.. 9. Когда доходим до диска — выбираем «Create New Disk» и задаем размер виртуального диска, который хотим отдать виртуалке. Здесь нужно указать размер не меньше чем объем занятого пространства на ВСЕХ разделах нашего Linux-сервера, когда он еще был живой. 10. Что бы пробросить USB-девайс в нашу виртуалку, понадобится добавить соответствующий контроллер в нее. Для этого кликаем правой -> «Edit Settings» -> «Add» -> «USB controller». Виртуальную машинку создали и подготовили — можно приступать к развертыванию образа в ней 11. Монтируем iso-шку Live-CD в CD-привод нашей виртуалки и пробрасываем наш USB-накопитель, загружаемся. 12. Убеждаемся, что наш внешний накопитель подключен и распознался и приступаем к развертыванию образа с помощью Acronis True Image. 13. Как было замечено выше — на одном из этапов восстановления Acronis предложил сделать автоматический ресайз разделов, или же можно сделать это вручную. Я выбрал автомат. Немного забегая наперед, скажу что данная процедура прошла удачно и Acronisне побил мои разделы, а все все файлы остались в целости и сохранности. У меня все разделы были в старой доброй Ext3, про другие файловые системы не скажу. 14. После завершения восстановления системы из образа — отключаем iso-шку, usb-девайс и перезагружаем виртуалку наблюдая результаты своего труда. И шо с того получилось… После перезагрузки, я был приятно удивлен тем, что мой CentOS начал бодренько грузиться. Сначала Grub, потом ядро…это значило что MBR в порядке и загрузочный раздел тоже. Но когда дело дошло до монтирования дисков, то вылезла бочина: В общем кернел в панике, а я в шоке…полез гуглить И вот что нагуглил. Решением данной проблемы есть создание нового файла initrd. Ничего сложного в этом нету. В CentOS это делается так: Подключаем к CD-приводу нашей виртуалки установочную iso-шку CentOS, желательно такой же версии как на сервере (в моем случае это был CentOS 7). Бутаемся с нее и при загрузке нажимаем F5-Rescue что бы загрузится в «Rescue mode» загрузчик нас просит написать linux rescue и нажать <ENTER> — делаем как сказано. При загрузке в этом режиме, загрузчик предложит автоматически обнаружить установленную на жестком CentOS и смонтировать все ее разделы в /mnt/sysimage— соглашаемся!. Итак, появилась командная строка. Набираем mount и видим что-то типа: Система смонтировала все автоматом, это круто!! Нам остается только сменить окружение с помощью команды chroot /mnt/sysimage Смотрим что у нас лежит в /boot и бэкапим старый файлик initrd: Генерируем новый файл initrd, в качестве параметров: имя целевого файла (должно быть идентичным старому) и точная версия ядра, затем проверяем наличие новоиспеченного файла: Отключаем iso-шку и перезагружаем виртуалку в нормальном режиме — вуаля! После таких манипуляций у меня все замечательно завелось, чего и вам желаю. В заключение Эксперимент можно считать удачным, а данный способ миграции — работающим. НО! исход данной процедуры зависит от дистрибутива, состояния операционной системы, файловых систем на разделах и т.п., поэтому завершение такой процедуры может быть далеко не тривиальным.
  15. k010v

    Zabbix 4 на CentOS 7

    Считаем, что у нас есть установленный и предварительно минимально настроенный CentOS 7. В качестве web-сервера для Zabbix будет использоваться nginx. Подключаем репозиторий nginx и устанавливаем его: rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install -y nginx Запускаем nginx и добавляем в автозагрузку. systemctl start nginx systemctl enable nginx Дальше устанавливаем менеджер процессов FastCGI (FPM) – php-fpm. Для этого подключаем репозиторий remi rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm Активируем remi-php71 yum install -y yum-utils yum-config-manager --enable remi-php71 Устанавливаем php 7.1 и модули к нему yum install -y php71 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-bcmath Запускаем и добавляем в автозагрузку php-fpm systemctl start php-fpm systemctl enable php-fpm Проверяем, запустился ли он. netstat -tulpn | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 14271/php-fpm: mast Все в порядке, но запустим его через unix сокет. Для этого правим конфиг mcedit /etc/php-fpm.d/www.conf Комментируем строку: ;listen = 127.0.0.1:9000 После нее добавляем несколько других: listen = /var/run/php-fpm/php-fpm.sock listen.mode = 0660 listen.owner = nginx listen.group = nginx Там же изменим пользователя, от которого будет работать php-fpm. Вместо apache укажем nginx: user = nginx group = nginx Перезапустим php-fpm проверим, запущенный сокет systemctl restart php-fpm ll /var/run/php-fpm/php-fpm.sock srw-rw---- 1 nginx nginx 0 Jan 14 14:36 /var/run/php-fpm/php-fpm.sock Дальше установим свежую версию сервера баз данных MariaDB. Подключаем нужный репозиторий – Идем сюда и выбираем нужные параметры операционки mcedit /etc/yum.repos.d/mariadb.repo Содержимое файла: # MariaDB 10.3 CentOS repository list - created 2019-01-15 09:15 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 Устанавливаем сервер баз данных yum install -y MariaDB-server MariaDB-client Запускаем mariadb и добавляем в автозагрузку systemctl start mariadb systemctl enable mariadb Запустим скрипт начальной конфигурации mysql и создадим пароль для root. Все остальное можно оставить по-умолчанию. /usr/bin/mysql_secure_installation Сделаем свой конфиг для mariadb, оптимизированный под zabbix mcedit /etc/my.cnf.d/server.cnf Содержимое файла: [client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 [mysqld] character_set_server=utf8 collation-server=utf8_bin init_connect="SET NAMES utf8 collate utf8_bin" port = 3306 socket = /var/lib/mysql/mysql.sock innodb_file_per_table=1 innodb_buffer_pool_size = 768M #примерно в 2 раза меньше объема оперативной памяти сервера innodb_buffer_pool_instances=1 #увеличивать на 1 каждый GB innodb_buffer_pool_size innodb_flush_log_at_trx_commit = 0 innodb_log_file_size = 512M innodb_log_files_in_group = 3 [server] [galera] [embedded] [mariadb] [mariadb-10.3] Перезапустим mariadb и убедимся, что он запустился systemctl restart mariadb systemctl status mariadb.service ● mariadb.service - MariaDB 10.3.12 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: active (running) since Mon 2019-01-14 14:42:35 MSK; 21h ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 5353 (mysqld) Status: "Taking your SQL requests now..." CGroup: /system.slice/mariadb.service └─5353 /usr/sbin/mysqld Приступим к установке Zabbix Server 4.0, первым делом нужно подключить репозиторий rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm Теперь запускаем установку Zabbix-server yum install -y zabbix-server-mysql zabbix-web-mysql После установки, создаём базу данных zabbix, пользователя zabbix и заполняем базу mysql -uroot -p Enter password: > create database zabbix character set utf8 collate utf8_bin; > grant all privileges on zabbix.* to zabbix@localhost identified by 'пароль_для_пользователя_zabbix'; exit zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix Отредактируем файл конфигурации сервера zabbix, этих минимальных настроек достаточно, для работы сервера mcedit /etc/zabbix/zabbix_server.conf Изменяем указанные строки, остальное не трогаем DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=пароль_для_пользователя_zabbix ListenIP=0.0.0.0 Timeout=10 Запустим zabbix и добавим его в автозагрузку systemctl start zabbix-server systemctl enable zabbix-server Можно проверить лог файл на наличие ошибок cat /var/log/zabbix/zabbix_server.log Остается сделать конфиг nginx для работы web интерфейса zabbix. В моем случае nginx работает на том же сервере, где сам zabbix, а других виртуальных хостов нет, правим дефолтный конфиг mcedit /etc/nginx/conf.d/default.conf Приводим его к следующему виду: server {listen 80; server_name localhost; root /usr/share/zabbix; location / {index index.php index.html index.htm;} location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PHP_VALUE " max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Europe/Moscow always_populate_raw_post_data = -1 "; fastcgi_buffers 8 256k; fastcgi_buffer_size 128k; fastcgi_intercept_errors on; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } } Проверим конфиг на ошибки и перезапустим nginx nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful nginx -s reload Важный нюанс – необходимо изменить права доступа и назначить владельцем nginx chown -R nginx:nginx /var/lib/php/session chown -R nginx:nginx /etc/zabbix/web Этот нужно будет проделывать после каждого обновления php или zabbix. По-умолчанию zabbix идет в комплекте с apache и рассчитан на работу с ним. После установки или обновления, он делает его владельцем директории /etc/zabbix/web. С серверной частью всё, продолжаем установку zabbix сервера через Zabbix Frontend. На одном из этапов указываем параметры доступа к базе данных. После завершения установки, авторизуемся на сервере со стандартной учетной записью Пользователь Admin Пароль zabbix Изменение стандартных шаблонов мониторинга В шаблоне Template App Zabbix Agent отключаем триггер Version of zabbix_agent(d) was changed on {HOST.NAME}. В шаблоне Template OS Linux меняем в триггере Disk I/O is overloaded on {HOST.NAME} значение со стандартных 20% до 50%. В этом же шаблоне в правиле обнаружения Mounted filesystem discovery добавим еще один прототип триггера, скопировав Free disk space is less than 20% on volume {#FSNAME}. В новом шаблоне вместо 20% указываем 5% и ставим важность «Высокая». В этом же шаблоне в триггере Lack of free swap space on {HOST.NAME} меняем порог срабатывания с 50% до 20%. В шаблоне Template OS Windows отключаем Правило обнаружения Windows service discovery. Если нужен мониторинг какой-то службы windows, для этого можно сделать отдельный шаблон. Общие настройки В общих настройках zabbix server, которые располагаются в разделе Администрирование -> Общие меняем следующие параметры: В разделе Рабочее время выставляем актуальные рабочие часы. В разделе Опции отображения триггеров меняем значения Отображать триггеры в состоянии ОК в течении и Мигание триггеров при изменении состояния на 1 минуту. В разделе Прочее меняю Обновление неподдерживаемых элементов данных на 1 минуту. Это актуально во время отладки новых шаблонов.
  16. Docker – это популярное приложение для контейнеризации процессов программ. Такие контейнеры – это, по сути, виртуальные машины с высокой портативностью, которые более рационально используют ресурсы и в большей степени зависят от операционной системы. Существует два метода установки Docker в CentOS 7. Первый метод подразумевает установку программы в существующую операционную систему, второй – установку программы при помощи инструмента Docker Machine. Данное руководство поможет установить и подготовить к работе Docker в текущей операционной системе. Требования 64-битный сервер CentOS 7. Не-root пользователь с доступом к sudo (инструкции по настройке такого аккаунта – здесь). Все команды в руководстве следует выполнять в сессии такого пользователя (если не сказано другое). Примечание: Для работы программы Docker необходима 64-битная версия CentOS 7 и ядро версии 3.10+. 1: Установка Docker Пакет Docker можно найти в официальном репозитории CentOS 7, однако этот пакет, скорее всего, будет устаревшим. Чтобы получить наиболее актуальную версию программы, нужно обратиться к официальному репозиторию Docker. В этом разделе показано, как загрузить и установить пакет из официального репозитория Docker. Обновите индекс пакетов: sudo yum check-update Теперь можно загрузить и установить пакет Docker. Для этого запустите: curl -fsSL https://get.docker.com/ | sh После завершения установки запустите демон Docker: sudo systemctl start docker Чтобы убедиться в том, что программа работает, запросите её состояние: sudo systemctl status docker Команда вернёт: docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2016-05-01 06:53:52 CDT; 1 weeks 3 days ago Docs: https://docs.docker.com Main PID: 749 (docker) Теперь в системе работает сервис Docker (или демон). Также у вас есть доступ к утилите командной строки docker (это клиент Docker). 2: Настройка команды docker (опционально) По умолчанию команда docker требует привилегий root (или доступа к команде sudo). Также её можно запускать в группе docker, которая создаётся автоматически во время установки программы Docker. Если вы попытаетесь запустить команду docker без префикса sudo и вне группы docker, вы получите ошибку: docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?. See 'docker run --help'. Чтобы вам не пришлось набирать префикс sudo каждый раз, когда вам нужно запустить команду docker, добавьте своего пользователя в группу docker: sudo usermod -aG docker $(whoami) Чтобы активировать это изменение, выйдите из системы и войдите снова. Чтобы добавить в группу docker пользователя, который не является текущим, укажите в команде его имя: sudo usermod -aG docker username Примечание: Далее в руководстве предполагается, что команда docker запускается пользователем, который состоит в группе docker. В противном случае вам нужно добавлять префикс sudo самостоятельно. 3: Использование команды Docker Итак, программа контейнеризации Docker установлена и готова к работе. Использование команды docker заключается в передаче ей ряда опций и команд с аргументами. Базовый синтаксис имеет такой вид: docker [option] [command] [arguments] Чтобы просмотреть все подкоманды, введите: docker В Docker 1.11.1 полный список доступных подкоманд выглядит так: attach Attach to a running container build Build an image from a Dockerfile commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes on a container's filesystem events Get real time events from the server exec Run a command in a running container export Export a container's filesystem as a tar archive history Show the history of an image images List images import Import the contents from a tarball to create a filesystem image info Display system-wide information inspect Return low-level information on a container or image kill Kill a running container load Load an image from a tar archive or STDIN login Log in to a Docker registry logout Log out from a Docker registry logs Fetch the logs of a container network Manage Docker networks pause Pause all processes within a container port List port mappings or a specific mapping for the CONTAINER ps List containers pull Pull an image or a repository from a registry push Push an image or a repository to a registry rename Rename a container restart Restart a container rm Remove one or more containers rmi Remove one or more images run Run a command in a new container save Save one or more images to a tar archive search Search the Docker Hub for images start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop a running container tag Tag an image into a repository top Display the running processes of a container unpause Unpause all processes within a container update Update configuration of one or more containers version Show the Docker version information volume Manage Docker volumes wait Block until a container stops, then print its exit code Чтобы получить общесистемную информацию о Docker, введите: docker info 4: Образы Docker Контейнеры Docker запускаются из образов. По умолчанию образы Docker хранятся на Docker Hub – это каталог Docker, поддерживаемый командой разработчиков проекта. Разместить свой образ Docker на Docker Hub может любой пользователь, потому здесь можно найти образы для большей части приложений и дистрибутивов Linux. Чтобы проверить доступ и возможность загружать образы с Docker Hub, введите: docker run hello-world Команда должна вернуть следующий результат: Hello from Docker. This message shows that your installation appears to be working correctly. ... Для поиска необходимых образов на Docker Hub используется команда docker и подкоманда search. К примеру, чтобы найти образ CentOS, нужно ввести: docker search centos Данная команда выполнит поиск по Docker Hub и вернёт список образов, чьё имя соответствует поисковому запросу. В данном случае команда вернула: NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 2224 [OK] jdeathe/centos-ssh CentOS-6 6.7 x86_64 / CentOS-7 7.2.1511 x8... 22 [OK] jdeathe/centos-ssh-apache-php CentOS-6 6.7 x86_64 / Apache / PHP / PHP M... 17 [OK] million12/centos-supervisor Base CentOS-7 with supervisord launcher, h... 11 [OK] nimmis/java-centos This is docker images of CentOS 7 with dif... 10 [OK] torusware/speedus-centos Always updated official CentOS docker imag... 8 [OK] nickistre/centos-lamp LAMP on centos setup 3 [OK] ... Если в столбце OFFICIAL содержится OK, это значит, что данный образ поддерживается командой разработчиков проекта. Выбрав необходимый образ, вы можете загрузить его при помощи подкоманды pull: docker pull centos Загрузив образ, вы можете запустить контейнер с помощью подкоманды run. Если команда docker run обнаружит, что запрашиваемый образ не был загружен, она выполнит его загрузку самостоятельно, а затем запустит контейнер. docker run centos Чтобы просмотреть список загруженных образов, введите: docker images [secondary_lable Output] REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 778a53015523 5 weeks ago 196.7 MB hello-world latest 94df4f0ce8a4 2 weeks ago 967 B Далее в руководстве будет показано, как изменять загруженные образы и использовать их для создания новых образов, которые затем можно загрузить на Docker Hub или в другой каталог Docker. 5: Запуск контейнера Docker Ранее загруженный контейнер hello-world – это всего лишь образец контейнера. Существует множество полезны контейнеров. Кроме того, они бывают интерактивными. В целом они очень похожи на ресурсосберегающие виртуальные машины. Для примера попробуйте запустить контейнер при помощи последнего образа CentOS. Комбинация опций –i и –t откроет интерактивную оболочку контейнера: docker run -it centos Командная строка должна измениться, что указывает на то, что теперь вы работаете в контейнере: [root@59839a1b7de2 /]# Примечание: В командной строке будет указан id контейнера (в данном примере это d9b100f2f636). Запишите его – он необходим для дальнейшей работы. Внутри контейнера можно запускать любые команды. Попробуйте установить в контейнер какое-нибудь приложение, например, MariaDB. Имейте в виду: теперь добавлять префикс sudo не нужно, поскольку работа внутри контейнера выполняется с правами root. yum install mariadb-server 6: Коммиты контейнеров Docker Файловые системы Docker являются временными по умолчанию. После запуска образа Docker вы можете создавать, изменять и удалять файлы так же, как на виртуальной машине. Однако если вы остановите контейнер, а позже запустите его снова, все изменения будут потеряны: все ранее удалённые файлы будут восстановлены, а все новые файлы или внесенные изменения будут утрачены. Это потому, что образы Docker больше похожи на шаблоны, чем на стандартные образы. Чтобы сохранить все изменения внутри контейнера (и иметь к ним доступ даже после его перезапуска), используйте тома данных Docker. Данный раздел научит вас сохранять состояние контейнера в качестве нового образа Docker. Итак, в контейнер CentOS вы установили приложение MariaDB. Теперь контейнер отличается от образа, который был использован для его создания. Чтобы сохранить текущее состояние контейнера в качестве нового образа, сначала закройте контейнер: exit Затем передайте все изменения в новый образ Docker при помощи следующей команды. Опция –m позволяет создать сообщение о коммите, которое предоставит вам (и другим пользователям) подробную информацию о внесённых изменениях. Опция –a позволяет указать автора коммита. ID контейнера был выписан из командной строки. В качестве репозитория, как правило, указывается имя пользователя your Docker Hub: docker commit -m "What did you do to the image" -a "Author Name" container-id repository/new_image_name Например: docker commit -m "added mariadb-server" -a "Sunday Ogwu-Chinuwa" 59839a1b7de2 finid/centos-mariadb Примечание: Новый образ сначала сохраняется локально. Далее будет показано, как выгрузить новый образ на Docker Hub. Запросите список доступных образов, чтобы убедиться, что новый образ был сохранён успешно: docker images Команда вернёт список: REPOSITORY TAG IMAGE ID CREATED SIZE finid/centos-mariadb latest 23390430ec73 6 seconds ago 424.6 MB centos latest 778a53015523 5 weeks ago 196.7 MB hello-world latest 94df4f0ce8a4 2 weeks ago 967 B Теперь в списке появился новый образ centos-mariadb, который был получен из существующего образа CentOS, загруженного с Docker Hub. Разница в размерах отражает внесенные изменения (в данном случае установку приложения MariaDB). Поэтому если в дальнейшем вам понадобится контейнер CentOS с предустановленным приложением MariaDB, вы можете просто использовать этот образ. Также можно собирать образы из так называемых Dockerfile, но это очень сложный процесс, который выходит за рамки данного руководства. 7: Список контейнеров Docker Со временем в вашей системе соберётся определённое количество активных и неактивных контейнеров. Чтобы просмотреть список активных контейнеров, введите: docker ps Команда вернёт такой вывод: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f7c79cc556dd centos «/bin/bash» 3 hours ago Up 3 hours silly_spence Чтобы просмотреть список всех контейнеров, добавьте опцию -a: docker ps -a Чтобы получить список недавно созданных контейнеров, добавьте опцию –l: docker ps -l Чтобы остановить активный контейнер, введите: docker stop container-id Чтобы узнать id контейнера, используйте команду docker ps. 8: Загрузка образов Docker в репозиторий Создав новый образ Docker, вы можете поделиться им на Docker Hub или в другом каталоге Docker. Для этого нужно иметь аккаунт. Данный раздел научит вас загружать образы Docker на Docker Hub. Зарегистрируйтесь на Docker Hub. После этого нужно открыть аккаунт при помощи своих учётных данных. docker login -u docker-registry-username Получив доступ к Docker Hub, можно загрузить новый образ: docker push docker-registry-username/docker-image-name На выполнение команды уйдёт некоторое время. Команда вернёт: The push refers to a repository [docker.io/finid/centos-mariadb] 670194edfaf5: Pushed 5f70bf18a086: Mounted from library/centos 6a6c96337be1: Mounted from library/centos ... Загрузив образ в каталог, вы увидите его в панели инструментов аккаунта. Если в процессе загрузки произошла ошибка, команда выдаст сообщение: The push refers to a repository [docker.io/finid/centos-mariadb] e3fbbfb44187: Preparing 5f70bf18a086: Preparing a3b5c80a4eba: Preparing 7f18b442972b: Preparing 3ce512daaf78: Preparing 7aae4540b42d: Waiting unauthorized: authentication required Скорее всего, вам не удалось пройти аутентификацию. Войдите и попробуйте снова отправить образ.
  17. Если у вас есть Apple TV вы наверняка знаете, что с помощью этой миниатюрной приставки можно просматривать видео, фильмы, слушать музыку…. Но её возможности этим не ограничиваются. Помимо того, что с помощью Apple TV цифровое ТВ бесплатно, эта небольшая приставка к телевизору значительно увеличивает количество просматриваемых программ до нескольких сотен. Все что вам нужно это только сама приставка. Apple TV, которая присоединяется от вашего электронного устройства (планшета, смартфона, компьютера, Интернета…) к телевизору. Таким образом информация выводится на экран вашего телевизора. Согласитесь, достаточно выгодная и полезная штука. Итак, Apple TV это модифицированное, цифровое устройство предназначенное для просмотра спутникового контента посредством сети. С помощью данной приставки возможен просмотр видео, фотографий, музыки…, которые выводятся на телевизоры, плазменные панели, из приложения iTunes, размещенного на вашем компьютере, планшета, iPhone… У приставки второго и последующих поколений модифицированная оперативная система Apple iOS. Когда устройство первого поколения предназначалось для просмотра контента лишь в зоне домашней сети, синхронизируя информацию в библиотеке iTunes. Всего модификаций данного устройства 4 поколения. Поддерживает яблочная приставка только цифровой аудио вывод. При этом прекрасно выводит информацию на широкоэкранные телевизоры и стандартного разрешения. Цифровое TV на Apple TV Apple TV приставка состоит из: Разъёма HDMI (подключение к телевизору). Аудио вывода оптического цифрового. Разъёма Ethernet для подключения к локальной сети. Встроенного Wi-Fi. Соединительного кабеля нет, поэтому необходимо приобретать его самому. Разрешение изображения на телеэкране будет не более Full HD 1080р. Приставка работает только напрямую из Интернета, так как не имеет достаточное дисковое пространство. Для того чтобы запустить цифровое ТВ на Apple TV необходимо выполнить несколько простых действий. Как смотреть телеканалы Для начала чтобы обозрение стало доступным нужно зайти в настройки Apple TV. Затем в сетевые настройки. Обозначаем действующую сеть подключения. Прописываем адрес DNS 62.75.229.47 Заходим в пункт Trailers из главной панели. Таким образом вам открывается многочисленный перечень ТВ каналов. Далее выбираете необходимый вам канал и наслаждаетесь просмотром. Устройство достаточно удобно в обращении и не требует особых усилий, что несомненно ставит его в ряд с другими не менее успешными нововведениями компании Apple. Если сравнить приложение с аналогичным функционалом других изобретений Apple TV выигрывает финансовую сторону. Что нужно для того, чтобы просматривать бесплатно телеканалы на Apple TV3 Для этого выбираете привычный для вас интернет браузер. Вбиваете в адресную строку Pager TV.ru На появившейся страничке отметкой соглашаетесь, что имеете яблочное устройство. Затем, входите. Регистрируетесь. Вписываете имя, фамилию и обязательно реальный адрес электронной почты. Указываете пароль. Разгадываете каптчу. Жмете «Зарегистрироваться». Далее стандартное подтверждение почты указанной при регистрации. Таким образом произошла активация вашей учётной записи и вы можете в неё войти с помощью ввода логина и пароля указанных при регистрации. Далее настраиваете приставку. Для этого запускаете Apple TV. Заходите в «Настройки», «Основные», «Сеть». Затем найдите в перечне Wi-Fi или Ethernet, «Настройка DNS». Выберите настройку вручную и пропишите DNS 062.109.022.177 В подпункте «Основные» выбираем не отправлять данные в Apple. С помощью «Play» на пульте, войдите в «Профили», добавьте его выбрав соответствующий пункт. Далее отметьте «Добавить», после ввода адреса pagertv.ru/atv Добавляете устройства в учётную запись. Выбираете иконку Vimeo и таким образом произойдет замена на pagertv. Вбиваете персональный номер который отобразится у вас в личном кабинете. Сохраните изменения. Добавляете плейлист, URL или имя файла, сохраняете. Помните, чтобы избежать торможения, не добавляйте большое количество плейлистов. Входом в Vimeo активируете просмотр бесплатного телевидения. Плейлисты для pagertv можно взять тут Нововведения в Apple TV Не обошлось и без обновлений. В недавнем времени появилось обновление платформы данного девайса tvOS 9.1. Это новшество 4 поколения появилось на эпл ТВ с появлением в продаже нового образца Apple TV. Собственно обновление заключалось в добавлении функции голосовая команда. С помощью этого нововведения Siri стал доступным голосовой поиск музыки и не только… А магазин приложений App Store позволил устанавливать программное обеспечение, игры иных разработчиков. К тому же новый девайс получил новую OS (tvOS) и А8 с 64 бит. Пока пользователям доступен бесплатный просмотр более 30 тыс. фильмов через сайт ivi.ru с помощью рассматриваемого нами девайса. Хотя поговаривают, что эта халява не надолго. В конце 2015 года появилась возможность просмотра цифрового телевидения с обзором в 360 и доступна она, и через сеть, и через мобильные приложения. Способствовала этому Litlstar официально выпустив приложение для эппле ТВ, позволяющее просматривать видео с обзором в 360. Презентация Apple TV4 прошла на новой прошивке tvOS в 2015 г. Билайновский оператор ВымпелКом первым выпустил специальное приложение для нашего «четверышного» девайса, благодаря этому возможен просмотр 44 спутниковых каналов из них 12 в качестве HD. Подойдет любой провайдер домашнего интернета и вы сможете использовать программу теле гид, так же оформить подписку. Изначально плата не взимается по истечении семи дней потребуется ежемесячная оплата в размере 379 руб. Бесплатная версия загрузки приложения на App Store Apple TV 2015 года. С внедрением Abobe Lightroom появилась возможность просмотра фотографий через облако Creative Cloud, что делает возможным просматривать и отсортировывать, а при необходимости и увеличивать фото через слайдшоу. Яблочные технологи вновь готовы порадовать нововведениями, выпустив обновление, Компания Apple в очередной раз порадовала пользователей теперь уже приставкой Apple TV, позволяющей просматривать цифровое телевидение, тем самым значительно увеличив возможности при просмотре спутникового контента. Теперь стал доступным просмотр любимых сериалов, любой телевизионной программы, фильмов, спортивных и детских словом понравившийся спутниковый телеканал. На Apple TV 3, Apple TV 4 доступны бесплатные фильмы, это действительно удобное в обращении и нужное изобретение при просмотре на телевизорах. Яблочные технологи вновь готовы порадовать нововведениями, выпустив обновление для видео приложений Apple TV, iPhone, iPad. За счет чего возможен вход в ТВ-шоу и к видео через несколько приложений. С помощью голосовой команды пользователи могут с лёгкостью переключаться на спортивные телеканалы и прогноз погоды. Теперь если вы начали просмотр например фильма на одном электронном устройстве, вы можете продолжить просмотр на любом другом яблочном гаджете. UnliMovie предложил новую возможность для яблочного ТВ, это просмотр российских каналов совершенно бесплатно и без модификации прошивки. Тем самым видео сервис значительно упростил просмотр российского цифрового телевидения. Однако некоторые каналы временами могут зависать, это означает загруженность сети. Это не критично и в скором времени вы сможете вернуться к просмотру. Компания Apple в очередной раз порадовала пользователей выпустив приставку Apple TV позволяющую просматривать цифровое телевидение, тем самым значительно увеличив возможности при просмотре видео. Теперь стал доступным просмотр любимых сериалов, любой телевизионной программы, фильмов, спортивных и детских словом понравившийся спутниковый телеканал.
  18. В этом разделе описаны некоторые новые функции в Windows Server 2019. В основе операционной системы Windows Server 2019 лежит надежная платформа Windows Server 2016. Она предоставляет множество инновационных возможностей для работы с четырьмя основными областями: гибридное облако, безопасность, платформа приложений и гиперконвергентная инфраструктура (HCI). Описание новых возможностей Windows Server версии 1809 см. в разделе Новые возможности Windows Server версии 1809. Общее Возможности рабочего стола Поскольку Windows Server 2019— это выпуск в канале Long-Term Servicing Channel (LTSC), он включает возможности рабочего стола. (Эти возможности не входят в состав Windows Server (версия 1709), Windows Server (версия 1803) или Windows Server (версия 1809), так как выпуски в канале Semi-Annual Channel (SAC) не включают возможности рабочего стола по умолчанию; они представляют собой исключительно выпуски образа контейнеров основных серверных компонентов и сервера Nano Server). Как и в случае с Windows Server 2016, во время настройки операционной системы можно выбрать установку основных серверных компонентов или установку сервера с возможностями рабочего стола. Системная аналитика Системная аналитика — это новая функция, доступная в Windows Server 2019, за счет которой в Windows Server реализуется встроенная поддержка локальных возможностей прогнозной аналитики. Эти возможности прогнозирования, каждая из которых основана на модели машинного обучения, выполняют локальных анализ системных данных Windows Server, например счетчиков производительности и событий, предоставляя аналитические сведения о работе ваших серверов, а также помогают сократить эксплуатационные затраты, связанные с активным управлением проблемами в развертываниях Windows Server. Гибридное облако Функция совместимости приложений основных серверных компонентов по требованию Функция совместимости приложений основных серверных компонентов по требованию (FOD) значительно улучшает совместимость приложений установки основных серверных компонентов Windows путем включения подмножества двоичные файлов и компонентов из Windows Server с возможностями рабочего стола без добавления самой графической среды Windows Server Desktop Experience. Это делается для расширения функциональных возможностей и улучшения совместимости основных серверных компонентов практически без усложнения процесса их установки. Эта дополнительная функция по требованию доступна в отдельном ISO-файле и ее можно добавлять только в образы и установки основных серверных компонентов Windows с помощью DISM. Безопасность Advanced Threat Protection в Защитнике Windows (ATP) Датчики глубокого анализа и ответные меры платформы ATP выявляют атаки на уровне памяти и ядра и реагируют на них путем подавления вредоносных файлов и завершения вредоносных процессов. Дополнительные сведения об ATP в Защитнике Windows см. в разделе Обзор возможностей ATP в Защитнике Windows. Дополнительные сведения о подключении серверов см. в разделе Подключение серверов к службе ATP в Защитнике Windows. Exploit Guard для ATP в Защитнике Windows представляет собой новый набор средств предотвращения вторжений в узлы. Четыре компонента Exploit Guard в Защитнике Windows предназначены для блокировки различных векторов атак на устройство, а также блокировки поведений, которые часто используются во вредоносных атаках, при одновременном сохранении баланса между активным реагированием на угрозы безопасности и производительностью. Уменьшение числа возможных направлений атак (ASR)— это набор элементов управления, которые предприятия могут использовать для предотвращения попадания вредоносных программ на компьютер путем блокировки подозрительных вредоносных файлов (например, файлов Office), сценариев, бокового смещения, программ-шантажистов и угроз на основе электронной почты. Функция Защита сети защищает конечные точки от веб-угроз, блокируя любые процессы на устройстве, идущие к недоверенным узлам и IP-адресам, с помощью фильтра SmartScreen Защитника Windows. Функция Контролируемый доступ к файлам защищает конфиденциальные данные от программ-шантажистов, блокируя доступ недоверенных процессов к защищенным папкам. Защита от эксплойтов— это набор мер защиты от уязвимостей (замена EMET), которые можно легко настроить для обеспечения безопасности системы и приложений. Функция Управление приложениями в Защитнике Windows (также известна как политика целостности кода (CI)) была выпущена в Windows Server 2016. Пользователи сообщали, что это отличное решение, которое, однако, сложно развернуть. Для решения этой проблемы мы создали политики целостности кода по умолчанию, которые разрешают исполнение всех файлов, по умолчанию входящих в состав Windows, и приложений Microsoft, таких как SQL Server, и блокируют исполнение известных исполняемых файлов, способных обойти политику целостности кода. Безопасность программно-конфигурируемых сетей (SDN) Функция Безопасность для SDN предоставляет множество возможностей для безопасного выполнения рабочих нагрузок клиентами как в локальной среде, так и в качестве поставщика услуг в облаке. Эти усовершенствования безопасности интегрированы в многофункциональную платформу SDN, появившуюся в Windows Server 2016. Полный список новых возможностей SDN см. в разделе Новые возможности SDN для Windows Server 2019. Улучшения экранированных виртуальных машин Улучшения для филиалов Теперь экранированные виртуальные машины можно запускать на компьютерах с периодическими разрывами подключения к службе защиты узла, используя новый резервный сервер HGS и автономный режим. Резервный сервер HGS позволяет настроить второй набор URL-адресов для Hyper-V, который будет использоваться в случае невозможности установления подключения к основному серверу HGS. Автономный режим дает возможность продолжить запуск экранированных виртуальных машин, даже если не удается установить подключение с HGS при условии, что виртуальная машина была успешно запущена хотя бы один раз и в конфигурацию системы безопасности узла не вносились изменения. Дополнительные возможности устранения неполадок Мы также упростили процесс устранения неполадок в работе экранированных виртуальных машин за счет добавления поддержки режима расширенного сеанса VMConnect и PowerShell Direct. Эти средства будут особенно полезны при потере сетевого подключения к виртуальной машине и возникновении необходимости обновить ее конфигурацию, чтобы восстановить доступ. Эти функции не нужно настраивать, они становятся доступны автоматически, когда экранированная виртуальная машина размещается на узле Hyper-V под управлением Windows Server версии 1803 или выше. Поддержка Linux Теперь Windows Server 2019 поддерживает выполнение систем Ubuntu, Red Hat Enterprise Linux и SUSE Linux Enterprise Server внутри экранированных виртуальных машина при работе в средах со смешанными ОС. HTTP/2 для более быстрого и безопасного просмотра веб-страниц Улучшенное объединение подключений исключает сбои при работе в Интернете, а также обеспечивает правильное шифрование веб-сеансов. Обновленный процесс согласования наборов шифров на стороне сервера в HTTP/2 обеспечивает автоматическое устранение сбоев подключений и удобство развертывания. Мы сделали CUBIC поставщиком контроля перегрузки протокола TCP по умолчанию, чтобы еще больше повысить пропускную способность! Хранилище Вот некоторые изменения, которые мы внесли в хранилище в Windows Server 2019. Дополнительные сведения см. в разделе Новые возможности хранилища. Служба миграции хранилища Служба миграции хранилища— это новая технология, которая упрощает перенос серверов в более новую версию Windows Server. Она предоставляет графическое средство, которое выполняет инвентаризацию данных на серверах, передает данные и конфигурации на новые серверы, а затем при необходимости перемещает удостоверения старых серверов на новые серверы, чтобы пользователям и приложениям не требовалось вносить какие-либо изменения. Дополнительные сведения см. в разделе Служба миграции хранилища. Локальные дисковые пространства Ниже приведен список новых возможностей в локальных дисковых пространствах. Дополнительные сведения см. в разделе Новые возможности локальных дисковых пространств. Дедупликация и сжатие томов ReFS Встроенная поддержка энергонезависимой памяти Программно вложенная устойчивость гиперконвергентной инфраструктуры с двумя узлами на границе Кластеры из двух серверов, использующие USB-устройство флэш-памяти в качестве свидетеля Поддержка Windows Admin Center Журнал производительности Масштабирование до 4ПБ на кластер Контроль четности с зеркальным ускорением вдвое быстрее Обнаружение выброса задержки диска Ручное разграничение выделения томов для повышения отказоустойчивости Реплика хранилища Новые возможности в реплике хранилища. Дополнительные сведения см. в разделе Новые возможности реплики хранилища. Реплика хранилища теперь доступна в Windows Server 2019 Standard Edition. Тестовая отработка отказа— это новая функция, которая позволяет подключать целевое хранилище для проверки репликации или резервного копирования данных. Дополнительные сведения см. в разделе Вопросы и ответы по реплике хранилища. Улучшения производительности журнала реплики хранилища Поддержка Windows Admin Center Отказоустойчивая кластеризация Ниже приведен список новых возможностей отказоустойчивой кластеризации. Дополнительные сведения см. в разделе Новые возможности отказоустойчивой кластеризации. Наборы кластеров Кластеры с поддержкой Azure Миграция кластеров между доменами Свидетель USB Улучшения инфраструктуры кластера Кластерное обновление поддерживает локальные дисковые пространства Улучшения файлового ресурса-свидетеля Усиление защиты кластера Отказоустойчивый кластер больше не использует аутентификацию NTLM Платформа приложений Контейнеры Linux в Windows Теперь можно запускать контейнеры на основе Windows и Linux на одном и том же узле контейнера с помощью одинаковой управляющей программы Docker. Это позволяет работать в разнородной среде узлов контейнеров и предоставить разработчикам гибкость в создании приложений. Реализация поддержки Kubernetes В Windows Server 2019 представлены улучшения обновлений, касающиеся вычислений, сети и хранилища, из выпусков Semi-annual Channel, необходимые для реализации поддержки платформы Kubernetes в Windows. Дополнительная информация будет доступна в следующих выпусках Kubernetes. Средства работы с сетевыми подключениями контейнеров в Windows Server 2019 значительно повышают удобство использования Kubernetes в Windows за счет улучшения устойчивости сети платформы и поддержки подключаемых модулей сетевых подключениях контейнеров. Развернутые в Kubernetes рабочие нагрузки могут использовать средства сетевой безопасности для защиты служб Linux и Windows с помощью встроенных механизмов безопасности. Улучшения контейнеров Улучшенные интегрированные удостоверения Мы упростили процесс встроенной проверки подлинности Windows в контейнерах и повысили ее надежность, устранив некоторые ограничения из предыдущих выпусков Windows Server. Улучшенная совместимость приложений Размещать приложения Windows в контейнерах стало проще: совместимость приложений с существующим образом windowsservercore была улучшена. Приложениям с дополнительными зависимостями API теперь доступен третий базовый образ: windows. Уменьшение размера и повышение производительности Были уменьшены размеры файлов для скачивания базовых образов контейнеров и необходимое пространство на диске, а также ускорено время запуска. Это ускоряет рабочие процессы контейнеров. Интерфейс администрирования в Windows Admin Center (ознакомительная версия) Теперь стало проще, чем когда-либо осуществлять мониторинг контейнеров, запущенных на вашем компьютере, а также управлять отдельными контейнерами с помощью нового расширения для Windows Admin Center. Найдите расширение "Контейнеры" в общедоступном веб-канале Windows Admin Center. Зашифрованные сети Зашифрованные сети— функция шифрования виртуальных сетей, позволяющая шифровать трафик виртуальной сети между виртуальными машинами, которые обмениваются данными между собой в подсетях с пометкой Включено шифрование. Для шифрования пакетов с помощью этой возможности также используется протокол DTLS в виртуальной подсети. Протокол DTLS обеспечивает защиту от перехвата, несанкционированных изменений и подделки со стороны любых лиц, имеющих доступ к физической сети. Повышение производительности сети для виртуальных рабочих нагрузок Повышение производительности сети для виртуальных рабочих нагрузок обеспечивает максимальную пропускную способность сети для виртуальных машин без необходимости постоянной настройки или избыточного предоставления ресурсов узла. За счет этого сокращаются расходы на эксплуатацию и обслуживание и одновременно повышается доступная плотность узлов. Новые функции: Объединение полученных сегментов в виртуальном коммутаторе Динамическое управление несколькими очередями виртуальных машин (d.VMMQ) Передача данных с помощью алгоритма Low Extra Delay Background Transport Low Extra Delay Background Transport (LEDBAT)— это поставщик управления перегрузкой сети с низкой задержкой, разработанный для автоматического повышения пропускной способности для пользователей и приложений и потребления всей доступной пропускной способности, когда сеть не используется. Эта технология предназначена для применения при развертывании крупных критических обновлений в ИТ-среде без ущерба для служб, использующихся пользователями, и связанной с ними пропускной способности. Служба времени Windows В Службе времени Windows реализована полноценная поддержка UTC-совместимой корректировочной секунды, новый протокол времени под названием "Протокол точного времени" (Precision Time Protocol), а также трассировка в сквозном режиме. Высокопроизводительные шлюзы SDN Высокопроизводительные шлюзы SDN в Windows Server 2019 значительно повышают производительность подключений IPsec и GRE, обеспечивая сверхвысокую пропускную способность при гораздо меньшей нагрузке на ЦП. Новый пользовательский интерфейс развертывания и расширение Windows Admin Center для SDN Теперь в Windows Server 2019 легко развернуть новый пользовательский интерфейс развертывания и расширение Windows Admin Center и управлять ими, предоставляя возможности SDN всем пользователям. Поддержка энергонезависимой памяти для виртуальных машин Hyper-V Обеспечение высокой пропускной способности и низкой задержки энергозависимой памяти (или памяти хранилища) для виртуальных машин за счет прямой реализации этой функции в виртуальных машинах. Это позволяет существенно уменьшить задержку транзакций базы данных и сократить время восстановления баз данных с низкой задержкой в памяти в случае сбоя.
  19. В связи с недавним выходом нового Windows Server 2019 пришла пора обновить инфраструктуру KMS активации в домене, добавив возможность поддержки новой версии Windows Server и Windows 10 1809 / LTSC 2019 (Long Term Service Channel). Если вы хотите детальнее познакомиться с технологией KMS активации Miccrosoft, рекомендуем начать со статьи FAQ по KMS активации Microsoft. Установка нового KMS сервера на Windows Server 2019 Если у вас в домене отсутствуют KMS серверы, вы можете установить роль Volume Activation Services сразу на новый Windows Server 2019. Процедура аналогична установке и активации KMS сервера на базе Windows Server 2012 R2 или Windows Server 2016. Вкратце напомним, что нужно сделать Установить на сервере роль Volume Activation Services из консоли Server Manager или PowerShell командой: Install-WindowsFeature -Name VolumeActivation -IncludeAllSubFeature –Include ManagementTools Включите правила файервола, которое разрешает доступ к KMS серверу: Enable-NetFirewallRule -Name SPPSVC-In-TCP Авторизуйтесь в личном кабинете на сайте Microsoft Volume Licensing Service Center (VLSC), и перейдите в раздел License -> Relationship Summary -> Выберите License ID для вашего активного контракта Active License -> Product Keys. Скопируйте ключ для Windows Srv 2019 DataCtr/Std KMS; Установите KMS ключ командой: slmgr /ipk <KMS_host_ключ_Windows_Server_2019> Активируйте KMS сервер на серверах Microsoft: slmgr /ato Если вы планируете использовать данный KMS сервер в качестве сервера активации продуктов MS Office, нужно установить специальные лицензионные пакеты для нужных версий Office (для Office 2010, Office 2013 или Office 2016). Затем нужно указать KMS Host Key для активации редакции Office и активировать KMS сервер (подробные инструкции доступны в статьях по ссылкам выше); После этого вы можете использовать ваш KMS сервера для активации всех поддерживаемых версий Windows (от Windows 7 до Windows 10) и Windows Server (2008R2 до 2019). Обновление Windows Server 2012 R2 и 2016 для поддержки активации Windows Server 2019 Если в вашей организации уже есть активированный KMS сервер с Windows Server 2016 или 2012 R2 и вы не хотите развертывать для этого новый сервер с Windows Server 2019, вы можете использовать старые хосты для активации новой версии Windows Server и Windows 10 1809 / LTSC 2019. Для этого нужно указать новый KMS Host Key на старом сервере активации. В моем случае я попытался указать новый ключ Windows Srv 2019 DataCtr/Std KMS на KMS сервере с Server 2016 с помощью команды: slmgr /ipk <KMS_host_ключ_Windows_Server_2019> Но появилась ошибка: Error: 0xC004F015 On a computer running Microsoft Windows non-core edition, run ‘slui.exe 0x2a 0xC004F015’ to display the error test. При этом в журнале событий фиксируется ошибка c текстом: Installation of the Proof of Purchase failed. 0xC004F015 Partial Pkey=xxxxxxxxxxxx ACID = xxxID При активации KMS ключа через GUI появляется ошибка: Invalid product key or license mismatch. Please confirm this product key is entered correctly and is valid for this application or Windows edition. Естественно Windows 10 LTSC 2019 и WS2019 не активируются на данном KMS сервере с ошибкой недоступности сервера активации (Error code: 0xC004F074). Чтобы использовать старый KMS сервер для активации новых версий Windows, необходимо установить специальные обновления на сервера KMS для поддержки Windows 10 LTSC 2019, Windows 10 1809 и Windows Server 2019. На Windows Server 2012 R2 нужно установить обновления: KB3173424 — обновление стека обслуживания (Servicing Stack Update) от июля 2016 года; Любое накопительное обновление для Windows Server 2012 R2, начиная с 11 декабря 2018 года (KB4471320) или более новое. Для Windows Server 2016 необходимы следующие обновления: KB4132216 — обновление стека обслуживания (Servicing Stack Update) от мая 2018 года; Любое накопительное обновление для Windows Server 2016, начиная с 27 ноября 2018 года (KB4467681) или более новое. После установки обновлений и перезагрузки KMS сервера, вы можете добавить на него новый KMS host ключ и активировать. GVLK ключи для Windows Server 2019 и Windows 10 LTSC В следующей таблице представлен список общедоступных KMS ключей активации (GVLK ключи) для разных редакциq Windows Server 2019 и Windows 10 LTSC: Редакция ОС KMS ключ Windows Server 2019 Datacenter WMDGN-G9PQG-XVVXX-R3X43-63DFG Windows Server 2019 Standard N69G4-B89J2-4G8F4-WWYCC-J464C Windows Server 2019 Essentials WVDHN-86M7X-466P6-VHXV7-YY726 Windows 10 Enterprise LTSC 2019 M7XTQ-FN8P6-TTKYV-9D4CC-J462D Windows 10 Enterprise N LTSC 2019 92NFX-8DJQP-P6BBQ-THF9C-7CG2H Для установки публичного KMS ключа на коммпьютер или сервер нужно выполнить команду: slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx Указать KMS сервер для активации можно вручную: slmgr /skms kms-server2019.winitpro.ru:1688 Для активации ОС на KMS сервере: slmgr /ato Проверить стстус активации Windows: slmgr /dlv
  20. Сегодня я распишу в шагах, как и какие действия нужно проделать дабы развернуть терминальный сервер на Windows Server 2016 . Я конечно понимаю, что что-то существенного по отношению к Windows Server 2012 R2 я не увижу, но все же мне хочется обновления системы. Hostname: srv-ts Version: Version 10.0.14393 srv-dc → 192.168.2.2 (AD,DNS,DHCP) srv-ts → 192.168.2.100 srv-gw → 192.168.2.1 (Mikrotik в роли шлюза) На заметку: Возьмите за правило хорошего тона: один логический диск, диск С: это система, к примеру 50-100Gb второй логический диск, диск D: это пользовательские профили, для этой задумки понадобится настроить все по заметке: Если TS (Terminal Server) в домене то определенными групповыми политиками зарезаем все пользователю, что может повредить терминальному серверу и не относится к рабочему процессу. Так обычно делают если у всех в компании нет рабочего компьютера, а стоит тонкий клиент в котором зашито, что при включении он подключается к терминальному серверу. Только у дизайнеров обычно стационарное рабочее место. Авторизуюсь в системе с правами локального администратора, а если система в домене то под администратором домена — все действия аналогичны. Win + R → control — (Просмотр) Категория — Мелкие значки — Администрирование — Диспетчер серверов — Панель мониторинга — Добавить роли и компоненты — Установка ролей или компонентов — (Выберите сервер из пула серверов): srv-ts 192.168.2.100 Майкрософт Windows Server 2016 Standard — отмечаю галочкой роль: Службы удаленных рабочих столов, нажимаю «Далее», «Далее», «Далее». Теперь нужно отметить галочками службы ролей для установки Службы удаленных рабочих столов: Лицензирование удаленных рабочих столов Узел сеансов удаленных рабочих столов и нажимаю «Далее», «Установить». Когда установка будет завершена нужно перезагрузить систему. После перезагрузки, авторизуюсь в системе и указываю ключи активации с целью возможности удаленного подключения пользователей в размере купленной лицензии или использования ключей найденных на просторах интернета (но так нужно делать только в рамках тестирования, в своих экспериментах, а не для корпоративного использования). Login: ITISHNIK\k010v Pass: 712mbddr@ Запускаю оснастку управления лицензированием для службы удаленных рабочих столов: Win + X → «Панель управления»— «Администрирование» — «Remote Desktop Services» — «Диспетчер лицензирования удаленных рабочих столов», разворачиваю «Все серверы» — SRV-TS и через правый клик мышью по именованию данного хоста выбираю пункт из меню: «Активировать сервер», Далее. В качестве метода активации выбираю: Метод активации: Авто(реком), но вот если в Вашей сети нет доступа в интернет, то этот вариант завершится ошибкой: «Не удалось подключиться к расчетной палате корпорации Майкрофт. Проверьте наличие подключения к Интернету на компьютера, на котором запущен диспетчер лицензирования удаленных рабочих столов» и нажима кнопку «Далее» Указываю контактную информацию по компании на которую оформлен ключ, поля: Имя (k010v), Фамилия (k010v), Организация (k010v), Страна (Russian) и нажимаю «Далее» На следующем шаге указываю расширенную контактную информацию Email, Organizational unit, Company address, City, State/province, Postal code (на данном шаге я ничего не указывал), «Далее», а после отмечаю галочкой Start Install Licenses Wizard now и нажимаю Next, Next Далее выбираю тип купленной лицензии — у меня, как и ранее я публиковал в заметке для Server 2008 R2 это код (Номер лицензионного соглашения) именуемый, как Enterprise Agreement (к примеру наиболее распространенные в интернета: 6565792, 5296992, 3325596 и нажимаю Next, указываю номер лицензионного соглашения: License program: Enterprise Agreement Agreement number: 6565792 На заметку: Номер Enterprise Agreement приведенные в этой заметки только для собственного тестирования и изучения, не нарушайте закон. и нажимаю Next, затем указываю в рамках какого продукта данный номер применим и на кого: либо на учетную запись, либо на компьютер: License program: Enterprise Agreement Product version: Windows Server 2016 License type: Клиентская лицензия служб удаленных рабочих столов (на пользователя) Quantity: 999 и нажимаю Next, если Вы видите также как и Я надпись: The requested licenses have been successfully installed, то значит Вы активировал Ваш терминальный сервер, по такому принципу как я разобрал выше проделывается и для лицензий на компьютера. После нажимаем кнопку Finish. Итоговый вид оснастки RD Licensing Manager должен принять следующий вид: Т.к. текущий терминальный сервер в домене, то чтобы к нему подключиться нужно просто в домене создать еще одного доменного пользователя, пусть будет Login: test, Password: Aa1234567 Отлично теперь попробую подключиться с любой станции под управлением к развернутому терминальному серверу: Win + R → mstsc.exe Компьютер: указываю IP&DNS адрес терминального сервера, в моем случае Компьютер: srv-ts Пользователь: alektest и нажимаю «Подключить», ввожу пароль Aa1234567 и нажимаю OK, но не тут то было в ответ получаю сообщение: «Подключение было запрещено, так как учетная запись пользователя не имеет прав для удаленного входа в систему». Кстати все правильно, нужно на терминальном сервере в группу: Win + R → control.exe — «Администрирование» — «Управление компьютером» — «Локальные пользователи и группы» — «Группы» — «Пользователи удаленного рабочего стола» добавить доменного пользователя или группу пользователей, но добавлять всех прошедших проверку я не рекомендую. Доступ к сервисам нужно выдавать по необходимости, а не по принципу чтобы был. Пробую еще раз подключиться под учетной записью test и все получилось: Может так случиться, что в процессе подключения нужно будет отметить галочкой что не нужно в дальнейшем выводить предупреждение о проверки подлинности удаленного сервера и нажимаю «Да» и подключение успешно проходит, проверить это можно открыв на терминальном сервере консоль командной строки и обратиться в выводу утилиты qwinsta: Win + X — Командная строка (администратор) C:\Windows\system32>qwinsta СЕАНС ПОЛЬЗОВАТЕЛЬ ID СТАТУС ТИП УСТР-ВО services 0 Диск >console k010v 1 Активно rdp-tcp#1 test 2 Активно rdp-tcp 65536 Прием Что могу сказать пока ничего такого сверхнового по сравнению с терминальным сервером на базе Server 2008 R2 Ent/Server 2012 R2 я не заметил, скорее всего все скажется когда буду использовать более плотнее. Также обратите внимание на другие полезные статьи по настройке TS - https://solaris-it.ru/srv2016-mtsc-1.html https://4admin.info/терминальный-доступ-пользователя/
  21. Для меня остается открытым вопрос использования бесплатного корпоративного чата, не определился с ним. В данной статье хочу рассмотреть установку и настройку бесплатного чат сервера Matrix Synapse и web клиента для него Riot. В целом, проект мне показался интересным и вполне рабочим, но со своими нюансами. Далее постараюсь подробно раскрыть эту тему. Информация по Matrix Synapse без проблем гуглится, поэтому не буду подробно рассказывать, что это такое. Кратко пройдемся по основному: Matrix — это открытый протокол для децентрализованной коммуникации. Он может быть реализован в различных серверах и мессенджерах. Synapse — локальный сервер, который работает на протоколе matrix, обеспечивает возможность подключения и общения клиентов. Riot — клиент, который может подключаться к любому серверу, работающему по протоколу matrix, в том числе к synapse. Представлен в виде десктропной или web версии, которую можно установить на свой сервер. Далее мы займемся установкой локальной версии Matrix Synapse для подключения своих клиентов. На этом же сервере разместим веб клиента Riot. Все это дело снабдим ssl сертификатом. В общем, на выходе должны получить готовое бесплатное локальное решение для корпоративного чата. Сразу хочу предупредить, что мое описание не подходит под готовое руководство, которое позволит простым копипастом все настроить. Это руководство именно по matrix и riot, вы должны как минимум уметь настраивать web сервер с nginx, устанавливать сертификаты, проксировать запросы, если вам это понадобится. Установка Matrix Synapse home server Я буду устанавливать чат сервер на CentOS 7. Сразу обращаю внимание, что у меня на сервере будет отключен selinux. Как это сделать, смотрите в статье по настройке сервера, ссылка на которую выше. Для работы synapse server необходим Python 2.7, который в CentOS 7 установлен по-умолчанию. Убедиться в этом можно введя в консоли: # python -V Python 2.7.5 Сервер чата synapse может использовать различные базы данных. По-умолчанию, он работает с SQLite, что подходит только для теста. В продакшене использовать эту базы плохое решение. Но даже для теста у меня не получилось настроить работу с SQLite. По-умолчанию, в CentOS устанавливается очень старая версия базы. При ее использовании возникает ошибка и сервер не работает. Я обновил базу до последней версии, но как оказалось, с ней тоже возникают проблемы. Я почитал на эту тему обсуждения и понял, что проблема распространенная, а не уникальная, поэтому решил в ней не разбираться. Вместо этого сразу буду использовать postgresql, что является самым надежным и разумным выбором. С этого и начнем. Установим postgresql на Centos 7. У меня установлена следующая версия системы: # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) Устанавливаю соответствующий моей версии репозиторий: # rpm -Uvh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7.4-x86_64/pgdg-centos10-10-2.noarch.rpm Ставим самую свежую на момент написания статьи версию postgresql: # yum install postgresql10-server postgresql10-contrib Инициализируем базу данных: # /usr/pgsql-10/bin/postgresql-10-setup initdb Редактируем конфигурационный файл для включения MD5 аутентификации. # mcedit /var/lib/pgsql/10/data/pg_hba.conf Меняем строки в самом конце: host all all 127.0.0.1/32 ident host all all ::1/128 ident на host all all 127.0.0.1/32 md5 host all all ::1/128 md5 Запускаем PostgreSQL и добавляем в автозагрузку: # systemctl start postgresql-10 # systemctl enable postgresql-10 Заходим в систему под пользователем postgres: # su - postgres Создаем пользователя базы данных: $ createuser synapse Запускаем консольный клиент для работы с базой данных: $ psql Задаем пароль userpass для только что созданного пользователя: # ALTER USER synapse WITH ENCRYPTED password 'userpass'; Создаем базу данных для чат сервера matrix synapse: # CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER synapse; Выходим из консоли управления и учетной записи postgres. # \q # exit Установим еще несколько пакетов, необходимых для взаимодействия synapse с postgresql. # yum install postgresql-devel libpqxx-devel.x86_64 Подготовительные действия выполнили, теперь можно устанавливать сам сервер. Для этого установим необходимые зависимости. # yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel redhat-rpm-config python-virtualenv libffi-devel openssl-devel # yum groupinstall "Development tools" Устанавливаем менеджер пакетов Python — pip. # wget https://bootstrap.pypa.io/get-pip.py # python get-pip.py Создаем виртуальную среду для приложения synapse. Она используется для изоляции отдельного python проекта. Проект будет использовать свои собственные директории и библиотеки, без взаимодействия с глобальным окружением. # virtualenv -p python2.7 ~/.synapse # source ~/.synapse/bin/activate Устанавливаем необходимые пакеты питона. # pip install --upgrade pip virtualenv six packaging appdirs psycopg2 Обновляем setuptools: # pip install --upgrade setuptools Устанавливаем сам сервер matrix synapse. # pip install https://github.com/matrix-org/synapse/tarball/master Перед запуском сервера, необходимо создать файл конфигурации. Делаем это. # cd ~/.synapse # python -m synapse.app.homeserver --server-name chat.serveradmin.ru --config-path homeserver.yaml --generate-config --report-stats=yes Я использую доменное имя для своего чат сервера chat.serveradmin.ru. Обращаю внимание на этот параметр. Он важен, если вы захотите использовать полноценный ssl сертификат и https подключения. Используйте реальное доменное имя, на которое потом будете получать сертификат. После выполнения команды вы получите примерно такой вывод: A config file has been generated in 'homeserver.yaml' for server name 'chat.serveradmin.ru' with corresponding SSL keys and self-signed certificates. Please review this file and customise it to your needs. If this server name is incorrect, you will need to regenerate the SSL certificates По умолчанию, в файле конфигурации homeserver.yaml будет указано использовать базу данных SQLite. Комментируем строки, отвечающие за эту настройку и добавляем параметры для подключения созданной ранее postgresql базы. #database: # The database engine name #name: "sqlite3" # Arguments to pass to the engine #args: # Path to the database #database: "/root/.synapse/homeserver.db" database: name: psycopg2 args: user: synapse password: userpass database: synapse host: localhost cp_min: 5 cp_max: 10 Обращаю внимание на отступы в файле конфигурации. Они принципиально важны. Должно быть именно так, как показано — database без отступа, name, args один пробел с начала строки. Все остальное — два пробела. На этом установка сервера закончена, двигаемся дальше. Использование ssl сертификата Let’s Encrypt Прежде чем начать настройку сервера, установим на него полноценный ssl сертификат. Если вам это не нужно, можно пропустить данный пункт. Просто посмотреть на чат можно и с самописным сертификатом, который мы получили ранее. Но есть один нюанс. Клиент Riot, который я буду использовать для подключения к серверу, не будет работать с самописным сертификатом. Он будет ругаться на него во время подключения. Так что если вы хотите полноценно протестировать работу мессенджера Riot в связке с matrix synapse, придется установить нормальный сертификат. Мой сервер с чатом напрямую не смотрит в интернет. Я буду проксировать все подключения к нему через web сервер, на котором установлен nginx. Поэтому получение сертификата нужно выполнять именно на нем. Если у вас matrix сервер будет смотреть напрямую в интернет, то настраивать получение ssl сертификата надо именно на нем. Прежде чем получить сертификат, нарисовал примерно такой конфиг виртуального домена для nginx. server { listen 80; server_name chat.serveradmin.ru; location /.well-known { root /web/sites/chat.serveradmin.ru/www/; } } Подробно про получение сертификатов Let’s Encrypt я рассказывал в статье по настройке веб сервера. За всеми подробностями можете заглянуть туда. Здесь же без подробных пояснений выполняем необходимые действия. Устанавливаем certbot. # yum install certbot Запускаем запрос сертификата. # certbot certonly При первом запуске на сервере, нужно будет зарегистрировать новую учетную запись на сервер и указать почтовый ящик. Я все это уже ранее делал, так что просто выбираю тип подтверждения домена: 2: Place files in webroot directory (webroot) Далее указываю имя домена: Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel): chat.serveradmin.ru Указываю директорию веб сервера: Input the webroot for chat.serveradmin.ru: (Enter 'c' to cancel): /web/sites/chat.serveradmin.ru/www Сертификат получил. Дальше рисую следующий конфиг для виртуального хоста nginx уже для работы по https. upstream matrix { server 77.37.225.129:22991; } server { listen 80; server_name chat.serveradmin.ru; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name chat.serveradmin.ru; ssl on; ssl_certificate /etc/letsencrypt/live/chat.serveradmin.ru/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/chat.serveradmin.ru/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; location /.well-known { root /web/sites/chat.serveradmin.ru/www/; } location / { client_max_body_size 50M; proxy_set_header Connection ""; 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-Forwarded-Proto $scheme; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_pass http://matrix; } } На сервере 77.37.225.129 сделан проброс внешнего порта 22991 на локальный 8008. На этом порту работает synapse по незащищенному соединению. Редиректить надо именно на этот порт, так как если сделать переадресацию на защищенный порт, который работает со своим сертификатом, будут проблемы при совместной работе этого локального сертификата и внешнего от Let’s Encrypt. С сертификатом и самим сервером synapse разобрались. Дальше я предлагаю сначала установить и настроить бесплатный web клиент для чата — Riot. Если он вам не нужен, можно сразу переходить к настройке самого сервера. Установка клиента Riot Вам не обязательно устанавливать собственную версию веб клиента riot. Вы можете использовать публичный web клиент https://riot.im/app/, и с его помощью подключаться к своему серверу. Для этого надо указать адрес своего сервера во время подключения. Чтобы подключиться через riot, у вас обязательно должно быть настроено подключение по https. По обычному протоколу подключиться не получится, будет ошибка. Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted. или вот такая: Can't connect; check your SSL settings and trust the server Я и так и сяк пробовал, но оказалось проще и быстрее сделать ssl сертификат от Let’s Encrypt, чем разбираться с ошибками. В общем, получайте сертификат любым удобным для вас способом. Для того, чтобы установить собственный web клиент riot достаточно скачать его исходники и разместить их на веб сервере. Последнюю версию можно скачать отсюда — https://github.com/vector-im/riot-web/releases. Далее я использую свежую версию на момент написания статьи. # wget https://github.com/vector-im/riot-web/releases/download/v0.13.3/riot-v0.13.3.tar.gz # tar -xzvf riot-v0.13.3.tar.gz Дальше копируем содержимое распакованной директории в корневую папку веб сервера для домена, который вы назначили. В моем примере это /web/sites/riot.serveradmin.ru/www/. Рисуем примерно такой конфиг для публикации riot в web. # cat /etc/nginx/conf.d/riot.conf server { listen 80; server_name riot.serveradmin.ru; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name riot.serveradmin.ru; root /web/sites/riot.serveradmin.ru/www/; index index.php index.html index.htm; access_log /web/sites/riot.serveradmin.ru/log/access.log main; error_log /web/sites/riot.serveradmin.ru/log/error.log; ssl on; ssl_certificate /etc/letsencrypt/live/riot.serveradmin.ru/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/riot.serveradmin.ru/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; location /.well-known { root /web/sites/riot.serveradmin.ru/www/; } } Перечитываем конфиг nginx и можно заходить по указанному веб адресу для использования своего клиента riot. В директории с клиентом есть конфигурационный файл config.sample.json. Переименуйте его в config.json и измените параметр сервера подключения по-умолчанию. Укажите свой. "default_hs_url": "https://chat.serveradmin.ru", Этого достаточно для использования своего собственного веб клиента riot по настроенному адресу. Настройка matrix synapse сервера Запускаем установленный сервер. # source ~/.synapse/bin/activate # synctl start Если увидели такой же вывод, значит все в порядке. Проверим, на каких портах запустилась служба чата. # netstat -tulnp | grep python tcp 0 0 0.0.0.0:8448 0.0.0.0:* LISTEN 26827/python2.7 tcp 0 0 0.0.0.0:8008 0.0.0.0:* LISTEN 26827/python2.7 Порт 8448 для шифрованных соединений, 8008 для обычных. Создание учетной записи администратора Создадим первую учетную запись администратора. # register_new_matrix_user -c homeserver.yaml http://localhost:8008 New user localpart [root]: admin Password: Confirm password: Make admin [no]: yes Sending registration request... Success. Теперь можно пройти по адресу https://chat.serveradmin.ru и залогиниться в систему под созданным пользователем администратора. Если вы не настраивали проксирование через nginx, то можно зайти напрямую на сервер с чатом по его ip адресу — http://192.168.13.31:8008 В моем случае я вижу ту же самую страницу. В веб интерфейсе нет практически никаких настроек. Вы можете только создать нужные комнаты и изменить некоторые настройки пользователя. Так же вы можете заходить и общаться в чатах, но стандартный серверный интерфейс для этого беден и неинтересен. Позже мы подключимся к серверу более удобным клиентом Riot, а пока изменим некоторые настройки сервера. Включение свободной регистрации Первым делом вам надо решить, будет ли у вас открыта свободная регистрация пользователей, или вы будете каждого создавать вручную. За это отвечает параметр в файле конфигураций homeserver.yaml enable_registration: True Я разрешил свободную регистрацию в своем примере. По-умолчанию она запрещена. Если у вас будет публичный чат-сервер, то обязательно надо настроить каптчу. В synapse уже интегрирована гугловская reCAPTCHA. Чтобы она заработала, вам надо зарегистрировать свой сайт в гугле — https://developers.google.com/recaptcha/, затем указать следующие параметры в конфиге: recaptcha_public_key: PUBLIC_KEY recaptcha_private_key: PRIVATE_KEY enable_registration_captcha: true Public и Private ключи вы получаете после регистрации каптчи для вашего доменного имени в гугле. Настройка почтовых уведомлений Сервер корпоративного чата synapse matrix умеет отправлять почтовые уведомления на различные события. Настройка этих событий выполняется в пользовательских настройках. Но чтобы сервер мог отправлять оповещения, их надо настроить в конфигурации самого сервера. Для этого в конфиге рисуем такие параметры для отправки почты через локальный сервер. email: enable_notifs: true smtp_host: "localhost" smtp_port: 25 notif_from: "Your Friendly %(app)s Home Server <chat@serveradmin.ru>" app_name: Matrix template_dir: res/templates notif_template_html: notif_mail.html notif_template_text: notif_mail.txt notif_for_new_users: True riot_base_url: "https://riot.serveradmin.ru" Перезапускаем сервер и проверяем. # source ~/.synapse/bin/activate # synctl restart Я сразу же получил ошибку на тему того, что файл notif_mail.html не найден. Долго разбирался, в чем может быть проблема. Потом все-таки понял, когда скачал вручную полные исходники сервера из github, что у меня не хватает директории res/templates. Похоже, их просто забыли положить в сборку, которая качается через pip. Так что вам нужно будет сделать то же самое, если этот баг не пофиксят к тому моменту, как вы будете пробовать настраивать свой сервер чата. Я поступил вот так: # cd /usr/src # git clone https://github.com/matrix-org/synapse # mv /usr/src/synapse/res ~/.synapse После этого еще раз перезапускайте сервер и проверяйте. Я очень много времени потратил на отладку оповещений. Так и не понял, как их внятно настроить и когда они будут срабатывать. Вроде в профиле все включаю, ухожу юзером в офлайн, шлю ему в чат письмо. Иногда оповещение приходит через 10 минут, иногда нет. Где настраивается этот интервал в 10 минут — не понял. Вроде в основном конфиге есть некоторые намеки на этот интервал, но явно не указано, что он влияет на время, через которое будет отправлено оповещение на почту. По логике, его бы надо сразу отправлять, если пользователя нет, а не ждать 10 минут. Наверно есть какой-то механизм аккумулирования оповещений, возможно у него какая то своя логика, которую я не понял, поэтому мне не до конца ясно, как работают оповещения. Шаблон самих сообщений по-умолчанию очень корявый, по нему толком не понятно, где и в каком чате произошло событие. Вот пример: Я кое-как восстановил последовательность событий по сообщениям в чатах, но в целом все не очевидно. Этот момент можно самому доработать, шаблоны можно настраивать. Но это нужно разбираться и тратить время. В этом моменте продукт явно не готов в текущем виде к продуктовому использованию. Так же у меня не получилось настроить оповещения через внешние почтовые сервисы. В частности, пробовал через ящик на Яндексе, но мне ничего не приходило. То ли проблема с почтовыми настройками, то ли с самими оповещениями, не разобрался. Дебажить эти моменты неудобно. Лог самого сервера завален спамовыми запросами от web клиентов. В общем, тема неоднозначная и неочевидная. Документации по ней нету. Разобраться, в принципе, можно, по идее то работает, но надо тратить время. Автозагрузка чат сервера со стартом системы Из коробки никакое решение для автостарта сервиса после загрузки системы не предлагается, если вы используете систему centos. Для debian есть готовый пакет, который можно просто установить в систему через apt. В комплекте будет конфиг для systemd. У нас же сервер запускается из домашней директории root в virtualenv, что не очень удобно для настройки автозагрузки. Но все решаемо. Рисуем такой конфиг для systemd по следующему пути — /etc/systemd/system/synapse.service. [Unit] Description=Synapse Matrix homeserver [Service] Type=simple User=root Group=root WorkingDirectory=/root/.synapse ExecStart=/root/.synapse/bin/python -B -u -m synapse.app.homeserver -c /root/.synapse/homeserver.yaml ExecStop=/root/.synapse/bin/synctl stop /root/.synapse/homeserver.yaml [Install] WantedBy=multi-user.target Вообще, не очень правильно, что у нас сервер работает от root. Но так как у меня это тест, я не стал заморачиваться и создавать отдельного юзера и делать все под ним. Да и вспомнил об этом только в самом конце, когда этот конфиг рисовал. Добавляем сервер в автозагрузку и запускаем: # systemctl enable synapse # systemctl start synapse Проверим, все ли в порядке. # systemctl status synapse Не очень удобно, что сервер будет дублировать свои логи в системный лог /var/log/messages, но это уже мелочи. Если реально будет мешать, можно это дело поправить. Заключение Дальше можно создавать комнаты, регистрировать юзеров, менять настройки. Не буду это описывать, каждый сам может сделать, чтобы понять продукт и познакомиться с ним получше. В целом, впечатление у меня осталось неоднозначное. Продукт неплохой, особенно в части заявленного функционала. Я нигде не видел такого же функционала бесплатно. Если у вас много времени и желания, то можно допилить до подходящего уровня, когда будет нормально работать все, что вас интересует. Но мелкие баги и ошибки, с которыми я сталкивался в процессе настройки не вселяют в меня уверенности, что все это будет стабильно работать длительное время. Я на первое место всегда ставлю стабильность и надежность работы, даже в ущерб функционалу. Я не люблю решения, которые требуют много сил на свою поддержку. В итоге они могут оказаться дороже коммерческих продуктов. Уже сейчас могу представить, сколько вылезет ошибок при очередном обновлении. Вот мое краткое резюме по плюсам и минусам synapse matrix на основе того, что я успел попробовать и проверить. Плюсы: Обширный бесплатный функционал. Свой локальный сервер Гибкие настройки email оповещений. Хоть и не очень понятные настройки, но думаю, если разобраться, будет в итоге работать. Контроль набора текста и прочтения сообщения. Вы видите, когда пользователь прочтет отправленное ему сообщение. Это важный и удобный функционал. Тот же mattermost или rocket.chat не предлагают этого в бесплатной версии. Хороший выбор клиентов. Тот же riot есть как приложение для десктопа, для смартфона и web версия через браузер. Звонки между клиентами. Никаких настроек не надо, работают сразу. Минусы: Много багов, с которыми сталкиваешься сразу же во время установки. Забыть положить файлы с шаблонами в дистрибутив и не исправить это. Мне не понятен такой подход. Нету документации, кроме небольшой справки на github. Очень много вопросов на гитхабе, в основном с ошибками. Пропадают сообщения, комнаты, юзеры, кого-то куда-то не пускает и т.д. Думаю со всем этим придется столкнутся после масштабного внедрения. Мало информации в интернете. В русскоязычном интернете вообще ничего, кроме нескольких упоминаний, все только в англоязычном сегменте, да и то в основном краткие руководства по установке. Даже по настройке ничего не нашел, разбирался во всем сам. Для себя сделал такой вывод — буду наблюдать за развитием. Сам нигде внедрять и пробовать не буду. Подожду какое-то время. Если взлетит, хорошо, буду пользоваться. Если будет в таком же состоянии, как сейчас, то увы, не считаю его готовым для внедрения в реально рабочие коллективы. Пока еще сыро. Статья позаимствована с ресурса serveradmin.ru
  22. Лучшие партнерки для заработка на сайте Push-заработок: CLICKSTAR, REALBIGMEDIA, REDPUSH, PUSHPROFIT Биржи ссылок: GOGETLINKS, MAINLINK, ROTAPOST, SAPE CPA-сети: LEADS, ACTIONPAY, ADMITAD, EPN Тизеры на сайт: BODYCLICK, TEASERNET, DIRECTADVERT Биржи статей: MIRALINKS, WEBARTEX Всплывающая реклама: ADVMAKER, RTB.SAPE, ADVERTUR, Разное: XMLSTOCK, TRAFFIC.SAPE, BESEED, CONTEMA Существует два основных направления как заработать на своем сайте: Продажа ссылок (статей); Размещение рекламы (баннеры, тизеры, контекстная, оплата за действия); При монетизации блога могут применяться эти же принципы заработка. Советую прочитать статьи: Как заработать на варезнике и развлекательном портале Как заработать на киносайте Как заработать на мобильном трафике 1. Заработать сайтом на продаже ссылок (статей) Любой сайт находящийся в индексе Яндекса может зарабатывать деньги на продаже ссылок и статей. Продажа ссылок на сайте — является прекрасным способом заработать на сайте. Этот способ можно отнести к пассивным методом дохода, потому что это не отнимает у Вас никакого личного времени. Весь процесс продажи и получения прибыли происходит автоматически. При правильной продаже ссылок с сайта шанс попасть под фильтры поисковых систем за продажу ссылок минимален. То есть нельзя размещать ссылки на запрещенные тематики. В идеале размещать ссылки только на тематические страницы, но в этом случае мы сильно ограничиваем рынок. Чтобы ссылки активно покупали необходимо наличие страниц сайта в индексе Яндекса или наличие PageRank на страницах сайта. Так же с 2015 года очень сильным фактором стала посещаемость. Чем она выше, тем дороже можно поставить цены. В интернете есть множество бирж ссылок. Я советую Вам работать с самыми крупными и проверенными: GOGETLINKS (продажа вечных ссылок) MAINLINK ROTAPOST SAPE В крупных биржах ссылки всегда будут быстро раскупаться по средним ценам из-за большого количества оптимизаторов в них. В связи с проблемами на ссылочном рынке (спрос сильно просел с 2014 года) я рекомендую регистрироваться сразу в нескольких биржах с целью охватить как можно больше рынок. Сколько можно заработать на сайте в биржах ссылок? Очень много. Вот конкретные цифры заработка некоторых веб-мастеров на продаже ссылок в Sape: Доход 8000-25000 рублей в день и это только на продаже ссылок в SAPE. Рекомендую почитать: Секреты успешного заработка на sape Зависимость дохода от тИЦ и количества страниц Заработок на продаже вечных ссылок Примечание: → В биржах MAINLINK, SAPE - ежедневная оплата за размещение ссылок. → В биржах GOGETLINKS, ROTAPOST - оплата за вечные ссылки. Заработать на своем сайте можно не только продавая ссылки, но и размещая статьи. При правильном размещении статей на сайте можно зарабатывать большие деньги, почти без риска санкцией от поисковых систем. Я советую Вам зарабатывать в трех биржах статей: MIRALINKS WEBARTEX ARTICLES.SAPE Это самые крупные биржи. У вас будет много заявок на размещение статьи, а, следовательно, и большой заработок. Сколько можно заработать на сайте, размещая статьи? Примерно столько же, сколько на продаже ссылок, то есть лучшие вебмастеры получают десятки тысяч рублей. Плюсом продажи ссылок и статей является то, что они не требуют наличие посетителей на сайте (можно хорошо зарабатывать и на сайте где 0 посетителей). При правильном подходе можно получать хорошую и стабильную прибыль, но все же лучше ориентироваться на создание сайтов для людей, а далее уже зарабатывать на размещение рекламы. Как заработать на своем сайте с помощью рекламы читайте ниже. Примечание Полный список бирж ссылок и смотрите на странице: рейтинг бирж ссылок 2. Заработать на своих сайтах с помощью рекламы Как было сказано выше, чтобы зарабатывать сайтом с помощью рекламы необходима, чтобы ресурс имел посещаемость. Чем больше посетителей будет, тем больше потенциальная прибыль. Существует много видов рекламы, с помощью которых можно монетизировать сайт. Перечислить абсолютно все способы практически невозможно, поскольку их сотни, поэтому перечислим самые основные способы как можно заработать на сайте с помощью рекламы. 2.1. Заработать сайтом на контекстной рекламе Контекстная реклама представляет из себя набор текстовых ссылок с описаниями (все это выглядит в виде объявления). Главная фишка этой рекламы в том, что она показывает пользователю ту рекламу, которая наиболее подходит тематике контента на странице. Например, если пользователь читает страницу про "выбор пластиковых окон", то логично, что он может кликнуть на объявления об их продаже. Заработок на контекстной рекламе очень сильно зависит от аудитории. Например, для сайта развлекательной тематики такая реклама не пойдет, т.к. молодая аудитория больше всего обращает внимание на яркие картинки (тизеры, баннеры), чем на скучные объявления. В рунете есть 2 гиганта контекстной рекламы: Яндекс Директ, Google Adsense. В Яндекс Директе довольно строгие требование к сайтам: от 500 уникальных посетителей, хороший дизайн и контент, поэтому далеко не все сайты проходят модерацию. Google Adsense также имеет множество ограничений наложенных прежде всего на содержание сайта. Есть и альтернативные варианты партнерок, которые подойдут для всех сайтов: CONTEMA RTB.SAPE 2.2. Заработать сайтом на CPA (продажах товаров, услуг) CPA-сеть представляет из себя сервис, где представлено множество офферов. Каждый оффер представляет из себя какую-то цель: продажа товара, регистрация на сайте, отправка заявки и прочее. За каждое такое целенаправленное действие вебмастер получает вознаграждение. При чем есть предложения с очень существенными суммами. Например, за заявку на кредит можно получить сразу 1000 рублей. Неудивительно, что с такими суммами вознаграждения некоторые топовые вебмастера получают за один день несколько миллионов рублей дохода. CPA позволяют даже не имея в наличии своего интернет-магазина получать комиссию с продаж лишь "сливая" трафик на партнерку. Лучше всего монетизируется платежеспособный трафик. Но не все так просто. Для заработка на CPA-сетях потребуется не мало знаний маркетинга. Ведь успех большого заработка кроется в грамотном умение преподать своей аудитории товар/услугу. CPA-сетей очень много. Вот список самых крупных: EPN (партнерка от Алиэкспресс и одновременно сервис для кэшбэка) ADMITAD (включает тысячи офферов для заработка) LEADS (полностью финансовая CPA-сеть: кредиты, микрозаймы, карты, ипотеки) CITYADS (один из самых крупных гигантов в сфере офферов) LEADGID (крупная сеть ориентированная на множество сфер) ADVERTISE (широкий ассортимент офферов) CPA-PRIVATE (продажа дешевых аксессуаров, копий часов и прочее) Советую прочитать следующие статьи Как заработать в CPA-сетях CPA партнерки Какой выбрать оффер в CPA Рейтинг CPA-сетей 2.3. Заработок на Push-уведомления Push-уведомления позволяют зарабатывать на подписках. Делается это через специальные партнерские программы. Этот способ монетизации пока что относится к пассивному белому заработку. Помимо заработка Вы еще наберете и базу подписок, которую можно потом продать (хотя это не хорошо по отношению к пользователям). Также можно будет оповещать свою аудиторию через рассылку о всех новостях на сайте. REALBIGMEDIA CLICKSTAR PUSHPROFIT PUSHADSGURU PROPELLERADS (зарубежная партнерка, выплаты в Webmoney) С недавнего времени открылась новая партнерская программа OFFERGATE, которая относится к классу CPA-сетей, но здесь есть специальный оффер, который позволяет зарабатывать на push уведомлениях. Более подробно про этот способ заработка читайте здесь: Push-уведомления — что это такое и как можно заработать на них 2.4. Заработать сайтом на баннерной рекламе Размещение баннеров на сайте относится к безопасным методам заработка на сайте. Однако сложность заключается в том, что сложно найти рекламодателей. Существуют биржи баннерной рекламы, которые позволят Вам сэкономить время поиска рекламодателя и позволят получать стабильный доход. Однако этих бирж крайне мало. Биржи баннерной рекламы для заработка на сайтах: RTB.SAPE ROTABAN ADVMAKER BODYCLICK 2.5. Заработать сайтом на тизерной рекламе Тизерная реклама — это вид рекламы, которая состоит из картинки и текста. Заработок на тизерах лучше подойдет для динамичных сайтов и сайтов развлекательной тематики. Лучшие вебмастеры зарабатывают на тизерах довольно большие деньги — около 6000 рублей в день (данные взяты с топ10 лучших вебмастеров TEASERNET). Биржи тизерной рекламы для заработка на сайтах: DIRECTADVERT BODYCLICK ACTIONTEASER Примечание Бирж тизерной рекламы очень много. Советую ознакомиться с рейтингом тизерок. 2.6. Заработать сайтом на файлообменниках В чем смысл заработка на файлообменнике? Вы закачиваете какой-то файл на файлообменник. Потом когда кто-то этот файл захочет скачать, то ему будет предложено два варианта скачивания: платный и бесплатный. Если он выберет платный, то ему придется заплатить денежку за более быструю скорость и Вам капнет от этой денежки приличный процент. А за каждую тысячу бесплатных скачиваний так же платят от 5 до 15 баксов. Советую прочитать: как заработать на файлообменниках. Партнерки файлообменников для заработка на сайтах: INSTALLS COSTACTION 2.7. Заработать сайтом на мобильных партнерках Заработок на sms-партнерках развивается довольно стабильно, поэтому есть смысл зарабатывать на этом. Бирж sms-партнерок много и каждая из них специфична, но всех их объединяет одно, что Вы получаете прибыль от привлеченных пользователей, которые что-то купили, на что-то подписался и тому подобное. Биржи sms-партнерок для заработка на сайтах: ZORKA GGAGENCY MPAY69 RICHWAP Примечание Советую ознакомиться с рейтингом sms-партнерок. 2.8. Заработать сайтом на попандерах, кликандерах Как показывает практика, попандеры и кликандеры приносят гораздо больше денег, чем тизеры. Размещение попандера и кликандера имеет 1 важный недостаток, о котором Вы сами, наверное, догадываетесь. Попандеры и кликандеры — раздражают посетителей. Подавляющее большинство опрошенных (около 70% - 80%) ответили, что их раздражает попандеры и кликандеры. Но зато размещая попандер и кликандер, Вы будете получать большой заработок с сайта. На попандерах и кликандерах можно заработать очень много. Свыше 10000 рублей в день получают самые лучшие партнеры. Со временем появлятся специальные блокираторы подобной рекламы (Adblock и т.п.), которые снижают прибыль. В целом попадеры являются умирающим видом рекламы, поскольку поисковые системы крайне негативно настроены на этот формат рекламы. Биржи попандеров и кликандеров для заработка на сайтах: ADVMAKER RTB.SAPE ADVERTUR POPUNDER Примечание Отличной альтернативной для попандеров является новые форматы рекламы: SlideBanner и TopRich. Они почти не вызывают раздражения у пользователей, а поисковые системы лояльно относятся к ним. Такие форматы есть у следующих крупных партнерок: TEASERNET. 2.9. Заработать сайтом на кинопартнерках У Вас есть сайт про кино? Тогда Вы можете зарабатывать большие деньги на своем сайте в биржах кинопартнерок. Для этого необходимо привлекать пользователей, которые хотят купить диск с кино или скачать его. Конечно, чтобы монетизировать сайт кинопартнеркой не обязательно иметь сайт именно про кино. Вы можете привлекать пользователей с сайтов любой тематики. Биржи кинопартнерок для заработка на сайтах: BESEED BUZZOOLA TEASERNET Примечание Сейчас это почти умирающий подвид для рекламы. 2.10. Прочий заработок для сайта Способов монетизации сайта так много, что охватить их все очень трудно. Перечислю кратко ещё способы как можно заработать сайтом с помощью рекламы: 1. XMLSTOCK — это продажа XML лимитов в Яндексе. Это легальный пассивный заработок, который вообще ничем не грозит сайту и репутации. Более подробно читайте в специальной статье: как заработать на продаже xml лимитов. 2. Оплата за просмотры видео из YouTube от BUZZOOLA и BESEED. Вы можете размещать определенные ролики у себя на сайте и за просмотры получать деньги (750 руб за 1000 просмотров). В систему принимаются сайты от 1000 уникальных посетителей в сутки и сообщества в ВК и FaceBook от 10 тыс. подписчиков. Полный список партнерских программ для заработка на сайте.
  23. В современном мире все большую ценность получает информация, потеря которой может обернуться серьезными финансовыми расходами. Сайт является ценной информацией, резервную копию которого, или просто бэкап, мы сделаем в этой статье на примере wordpress и разместим на яндекс диске. Я рассмотрю вариант автоматизации процесса, который придумал для своих нужд и использую достаточно давно и успешно. Двигаться будем поэтапно. Сначала просто рассмотрим вариант бэкапа непосредственно файлов сайта и базы данных. А затем полностью ответим на вопрос о том как сделать регулярную резервную копию сайта на wordpress . Скрипт для архива файлов сайта Тут я не изобретал велосипеда, а воспользовался стандартным способом архивирования файлов — архиватором tar. Все комментарии и пояснения напишу сразу в скрипте: #!/bin/sh # Задаем переменные # Текущая дата в формате 2015-09-29_04-10 date_time=`date +"%Y-%m-%d_%H-%M"` # Куда размещаем backup bk_dir='/mnt/backup/site1.ru' # Директория на уровень выше той, где лежат файлы inf_dir='/web/sites/site1.ru/' # Название непосредственно директории с файлами dir_to_bk='www' # Создание архива /usr/bin/tar -czvf $bk_dir/www_$date_time.tar.gz -C $inf_dir $dir_to_bk На выходе после работы скрипта имеем папку с именем www_2015-09-29_04-10.tar.gz, внутри которой будет лежать папка www со всем содержимым. Изначально, эта папка располагалась по адресу /web/sites/site1.ru/www. Здесь я применил tar с параметром -С для того, чтобы в архиве не было точного пути /web/sites/site1.ru, а была только папка www. Мне просто так удобнее. Можно пользоваться отдельно этим скриптом для создания архивов файлов, не обязательно сайта. Кладем его в cron и получаем регулярную архивацию. Скрипт для бэкапа базы данных Теперь сделаем скрипт для резервной копии базы данных. Тут тоже ничего особенного, использую стандартное средство mysqldamp: #!/bin/sh # Задаем переменные # Текущая дата в формате 2015-09-29_04-10 date_time=`date +"%Y-%m-%d_%H-%M"` # Куда размещаем backup bk_dir='/mnt/backup/site1.ru' # Пользователь базы данных user='user1' # Пароль пользователя password='pass1' # Имя базы для бэкапа bd_name='bd1' # Выгружаем базу /usr/bin/mysqldump --opt -v --databases $bd_name -u$user -p$password | /usr/bin/gzip -c > $bk_dir/mysql_$date_time.sql.gz На выходе имеем файл с дампом базы mysql_2015-09-29_04-10.sql.gz. Дамп хранится в текстовом формате, можно открывать и редактировать любым редактором. Подключение яндекс диска в CentOS 7 по webdav Существует достаточно удобный и бесплатный сервис Яндекс.Диск, который может использовать любой желающий. Бесплатно дается не так много места, но для бэкапа сайта на wordpress хватит. К слову, у меня с помощью всевозможных акций бесплатно доступно 368 ГБ: Яндекс.Диск можно подключить с помощью webdav. У меня в качестве сервера выступает CentOS 7, я расскажу как подмонтировать в ней. Первым делом подключаем репозиторий epel. Затем устанавливаем пакет davfs2: # yum -y install davfs2 Теперь пробуем подмонтировать диск: # mkdir /mnt/yadisk # mount -t davfs https://webdav.yandex.ru /mnt/yadisk/ Please enter the username to authenticate with server https://webdav.yandex.ru or hit enter for none. Username: Please enter the password to authenticate user zeroxzed@yandex.ru with server https://webdav.yandex.ru or hit enter for none. Password: /sbin/mount.davfs: Warning: can't write entry into mtab, but will mount the file system anyway Яндекс.Диск смонтирован в папку /mnt/yadisk. Чтобы автоматизировать процесс архивации и не вводить каждый раз имя пользователя и пароль, отредактируем файл /etc/davfs2/secrets, добавив в конец новую строку с именем пользователя и паролем: # mcedit /etc/davfs2/secrets /mnt/yadisk/ user@yandex.ru password /mnt/yadisk/ точка монтирования user@yandex.ru имя пользователя яндекса password пароль пользователя Теперь при монтировании диска никаких вопросов задаваться не будет. Можно добавить подключение яндекс диска в fstab, чтобы он монтировался автоматически при загрузке, но я считаю это лишним. Я подключаю и отключаю диск в скрипте бэкапа. Если же вы хотите его монтировать автоматически, добавьте в fstab: https://webdav.yandex.ru /mnt/yadisk davfs rw,user,_netdev 0 0 Автоматизация архивации сайта По отдельности разобрали все элементы создания резервной копии сайта, теперь пришел черед собрать все это в одном месте. Я использую следующую схему бэкапа сайта: Папка day, где хранится 7 архивов сайта за последние 7 дней. Папка week, где хранятся 4 бэкапа за последние 4 недели. Папка month, где хранятся все резервные копии сайта за все время, эту папку я автоматически не очищаю. С такой схемой мы всегда имеем под рукой 7 последних архивов, недельные архивы текущего месяца и архив за каждый месяц на всякий случай. Пару раз меня такая схема выручала, когда нужно было что-то достать из бэкапа недельной давности, к примеру. Привожу 3 полных скрипта по созданию резервной копии сайта wordpress, именно этот движок я чаще всего использую, но реально можно бэкапить любой сайт — joomla, drupal, modx и др. Принципиального значения cms или фреймворк не имеет. Скрипт ежедневного бэкапа сайта backup-day.sh: #!/bin/sh # Задаем переменные # Текущая дата в формате 2015-09-29_04-10 date_time=`date +"%Y-%m-%d_%H-%M"` # Куда размещаем backup bk_dir='/mnt/yadisk/site1.ru/day' # Директория для архива inf_dir='/web/sites/site1.ru/' # Название непосредственно директории с файлами dir_to_bk='www' # Пользователь базы данных user='user1' # Пароль пользователя password='pass1' # Имя базы для бэкапа bd_name='bd1' # Монтируем яндекс.диск mount -t davfs https://webdav.yandex.ru /mnt/yadisk/ # Создание архива исходников /usr/bin/tar -czvf $bk_dir/www_$date_time.tar.gz -C $inf_dir $dir_to_bk # Выгружаем базу данных /usr/bin/mysqldump --opt -v --databases $bd_name -u$user -p$password | /usr/bin/gzip -c > $bk_dir/mysql_$date_time.sql.gz # Удаляем архивы старше 7-ми дней /usr/bin/find $bk_dir -type f -mtime +7 -exec rm {} \; # Отключаем яндекс.диск umount /mnt/yadisk Скрипт еженедельного бэкапа сайта backup-week.sh: #!/bin/sh # Задаем переменные # Текущая дата в формате 2015-09-29_04-10 date_time=`date +"%Y-%m-%d_%H-%M"` # Куда размещаем backup bk_dir='/mnt/yadisk/site1.ru/weeek' # Директория для архива inf_dir='/web/sites/site1.ru/' # Название непосредственно директории с файлами dir_to_bk='www' # Пользователь базы данных user='user1' # Пароль пользователя password='pass1' # Имя базы для бэкапа bd_name='bd1' # Монтируем яндекс.диск mount -t davfs https://webdav.yandex.ru /mnt/yadisk/ # Создание архива исходников /usr/bin/tar -czvf $bk_dir/www_$date_time.tar.gz -C $inf_dir $dir_to_bk # Выгружаем базу данных /usr/bin/mysqldump --opt -v --databases $bd_name -u$user -p$password | /usr/bin/gzip -c > $bk_dir/mysql_$date_time.sql.gz # Удаляем архивы старше 30-ти дней /usr/bin/find $bk_dir -type f -mtime +30 -exec rm {} \; # Отключаем яндекс.диск umount /mnt/yadisk Скрипт ежемесячного бэкапа сайта backup-month.sh: #!/bin/sh # Задаем переменные # Текущая дата в формате 2015-09-29_04-10 date_time=`date +"%Y-%m-%d_%H-%M"` # Куда размещаем backup bk_dir='/mnt/yadisk/site1.ru/month' # Директория для архива inf_dir='/web/sites/site1.ru/' # Название непосредственно директории с файлами dir_to_bk='www' # Пользователь базы данных user='user1' # Пароль пользователя password='pass1' # Имя базы для бэкапа bd_name='bd1' # Монтируем яндекс.диск mount -t davfs https://webdav.yandex.ru /mnt/yadisk/ # Создание архива исходников /usr/bin/tar -czvf $bk_dir/www_$date_time.tar.gz -C $inf_dir $dir_to_bk # Выгружаем базу данных /usr/bin/mysqldump --opt -v --databases $bd_name -u$user -p$password | /usr/bin/gzip -c > $bk_dir/mysql_$date_time.sql.gz # Отключаем яндекс.диск umount /mnt/yadisk Не забудьте создать директорию /mnt/yadisk/site1.ru на яндекс диске, а в ней еще 3 папки: day, week, month: # cd /mnt/yadisk/site1.ru && mkdir day week month Теперь для автоматизации добавляем эти 3 файла в cron: # mcedit /etc/crontab # site backup to yandex.disk # ежедневно в 4:10 10 4 * * * root /root/bin/backup-day.sh >/dev/null 2>&1 # еженедельно в 4:20 в воскресенье 20 4 * * 0 root /root/bin/backup-week.sh >/dev/null 2>&1 # ежемесячно в 4:30 1-го числа месяца 30 4 1 * * root /root/bin/backup-month.sh >/dev/null 2>&1 Все, наш wordpress надежно забэкаплен. По идее, сюда нужно прикрутить оповещение на почту, но у меня всю руки не доходят это сделать. Да и за несколько месяцев использования у меня не было ни одного сбоя. Восстановление сайта wordpress из резервной копии Теперь рассмотрим вариант, когда вам необходимо восстановить сайт из резервной копии. Для этого нам понадобятся оба архива: исходники и база данных. Разархивировать в принципе можно где угодно. В windows архивы открываются бесплатным архиватором 7zip. Дамп базы данных в обычном текстовом формате, его можно открыть блокнотом, скопировать и вставить в phpmyadmin. Так что вариантов восстановления может быть много, этим мне и нравится такой подход. Все файлы в открытом виде, с ними можно работать любыми подручными средствами. Вот пример того, как извлечь файлы из архива в консоли сервера. Разархивируем каталог www из бэкапа: # tar -xzvf www_2015-10-01_04-10.tar.gz Файлы извлечены в папку www. Теперь их можно скопировать в папку с сайтом. Для восстановления базы данных поступаем следующим образом. Сначала распакуем архив: # gunzip mysql_2015-10-01_04-10.sql.gz Теперь зальем дамп в базу данных: # mysql --host=localhost --user=user1 --password=pass1 bd1; MariaDB [(none)]> source mysql_2015-10-01_04-10.sql; Все, база данных восстановлена. Необходимо учесть, что база будет восстановлена в базу с оригинальным именем и заменит ее содержимое, если таковая на сервере есть. Чтобы восстановить базу в другую, необходимо отредактировать начало дампа и заменить там название базы на новое. Если восстановление происходит на другом сервере, то это не имеет значения. Заключение Итак, мы рассмотрели варианты создания резервных копий сайта и базы данных на примере движка wordpress. При этом использовали только стандартные средства сервера. В качестве примера мы использовали приемник для хранения копий Яндекс.Диск, но ничто не мешает адаптировать его под любой другой. Это может быть отдельный жесткий или внешний диск, другое облачное хранилище данных, которое можно подмонтировать к серверу. Схема создания бэкапа позволяет откатиться практически на неограниченное время назад. Глубину архивов вы можете сами задавать, изменяя параметр mtime в скрипте. Можно хранить, к примеру, ежедневный архив не 7 дней, как делаю я, а 30, если у вас есть такая потребность. Так что пробуйте, адаптируйте под себя. Если есть какие-то замечания по работе, ошибки или предложения по улучшению функционала, делитесь своими мыслями в комментариях, буду рад их услышать. Статья позаимствована с ресурса serveradmin.ru
  24. Сегодня хочу поподробнее раскрыть тему защиты роутеров популярной латвийской марки. Речь пойдет о базовой настройке Firewall в Mikrotik для обеспечения безопасности и удобства. Статья на эту тему была написана уже давно, но я решил ее полностью переделать и актуализировать. Введение Долгое время у меня была опубликована статья про простую настройку файрвола на микротик. Там были перечислены базовые правила для ограничения доступа к роутеру, и тем не менее, статья собрала более 200 тыс. просмотров. Некоторое время назад я обновил и актуализировал статью про базовую настройку mikrotik. В комментариях многие люди пеняли мне на то, что я совсем не уделил внимание настройке фаервола. Мне не захотелось мешать все в кучу, поэтому я пишу отдельную подробную статью на эту тему, а в настройке роутера оставлю ссылку на нее. Итак, будем считать, что вы уже настроили роутер примерно так же, как я описал в своей статье. Есть локальная сеть, которая будет выходить в интернет через микротик. И есть сам микротик, который хочется защитить, ограничив доступ для всего лишнего, разрешив только то, что нам нужно. 192.168.88.1 локальный адрес микротика bridge название бриджа, в который объединены все интерфейсы для локальной сети ether1 интерфейс для внешнего подключения WAN 192.168.88.0/24 локальная сеть, которую обслуживает микротик Default firewall в Mikrotik Если вы используете дефолтную конфигурацию роутера, то она по-умолчанию имеет стандартные правила firewall. Привожу список стандартных правил (rules) с комментариями. Напоминаю, что экспорт правил firewall в mikrotik можно выполнить следующей командой: >> ip firewall export file=rules Вот список стандартных правил: /ip firewall filter add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN /ip firewall nat add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN В принципе, по приведенным комментариям примерно понятно, что тут происходит. Дропаются все входящие и транзитные соединения не из локальной сети, разрешен пинг — icmp, разрешен ipsec, разрешены установленные соединения. Все. Ну и настроен NAT через WAN интерфейс. Во многих случаях данных правил по-умолчанию может быть достаточно обычному пользователю, который просто настроил маршрутизатор дома для выхода в интернет. Берите на вооружение, если вам от маршрутизатора больше ничего не надо. Firewall и базовая настройка безопасности Давайте теперь немного порассуждаем, зачем нужен файрвол и какие вопросы он решает. Причем не только в контексте микротика, а вообще. Сейчас каждый доморощенный админ рассказывает, как важно всегда настраивать firewall, иногда даже не понимая, для чего он нужен. Лично я не сторонник создания лишних сущностей, поэтому там где межсетевой экран не нужен, я его не настраиваю. Сетевой экран позволяет настраивать доступ как к самому шлюзу, так и к ресурсам за ним. Допустим, у вас не запущено никаких сервисов на роутере, и нет никакого доступа извне в локальную сеть. У вас есть какая-то служба на шлюзе, с помощью которой к нему подключаются и управляют (ssh, winbox, http и т.д.), причем ограничение доступа к этой службе настраивать не планируется. Вопрос — зачем вам в таком случае настраивать фаервол? Что он будет ограничивать и какие правила туда писать? В таком случае вам будет достаточно отключить все сервисы на роутере, которые слушают подключения из вне и все. На самом деле такой кейс очень популярный дома или в мелких организациях, где нет постоянного админа. Просто настроен какой-то роутер, поднят NAT и все. Я понимаю, что не правильно не настраивать ограничения на доступ к управлению, но я рассказываю, как часто бывает. То есть firewall должен решать конкретную задачу по ограничению доступа к ресурсам, а не существовать просто так, чтобы был. Еще популярны случаи, когда настроена куча правил, а в конце все равно стоит accept для всех подключений. Такие ляпы я сам иногда делал, когда отлаживал где-то работу сервиса и забывал потом вернуть обратно ограничения. Фаервол вроде настроен, но реально его нет. Если отключить — ничего не изменится. К чему я все это написал? К тому, что прежде чем настраивать firewall, надо определиться с тем, для чего мы это делаем. Какие разрешения или ограничения и для кого мы будем вводить. После этого можно переходить к настройке. Я рекомендую первым правилом при любой настройке firewall ставить разрешение на подключение к управлению устройством. Этим вы подстрахуете себя, если где-то дальше ошибетесь и заблокируете доступ к устройству в одном из правил. В своем примере я буду настраивать межсетевой экран на микротике, находясь в локальной сети. Вам всегда советую поступать так же. Есть старая админская примета — удаленная настройка файрвола к дальнему пути. Идем в раздел IP -> Firewall. Первая вкладка Filter Rules то, что нам надо. Если делаете настройку firewall с нуля, то там должно быть пусто. Добавляем новое правило. По идее, надо еще заглянуть во вкладку action, но в данном случае не обязательно, так как там по-умолчанию и так выставляется нужное нам значение accept. Дальше разрешаем уже установленные и связанные входящие соединения. Для этого создаем следующее правило. Не забывайте писать комментарии для всех правил. Так вам проще самим будет. Через пол года уже позабудете сами, что настраивали и зачем. Не говоря уже о том, что кто-то другой будет разбираться в ваших правилах. Теперь сделаем запрещающее правило, которое будет блокировать все входящие соединения через WAN интерфейс. В моем случае ether1. Данными правилами мы заблокировали все входящие соединения из интернета и оставили доступ из локальной сети. Далее создадим минимальный набор правил для транзитных соединений из цепочки forward. Первым правилом в фаерволе микротик для транзитного трафика будет правило с использованием фирменной технологии Fasttrack. Подробно о том, что это такое читайте в официальной wiki по ссылке. Если кратко, то данная технология экономит ресурсы процессора, за счет упрощенной обработки пакетов, к которым не надо применять дополнительных правил фаервола, ставить его в очереди и т.д. Это подойдет для большинства пользователей, у которых микротик это просто шлюз в интернет с небольшим набором простых правил в firewall. При этом транзитный трафик никак дополнительно не обрабатывается и не фильтруется. Возьмем примеры этих правил из дефолтной конфигурации файрвола. Добавляем 2 новых правил для цепочки forward. В первом action выбираем fasttrack connection, во втором accept для established и related подключений. Дальше по примеру дефолтной конфигурации, запретим и все invalid подключения. В завершении запретим все подключения из WAN в LAN. Подведем краткий итог того, что получилось. Вот самый простой, минимальный набор правил firewall в mikrotik для базового случая: Запрещены все входящие подключения, в том числе ответы на пинги. Включена технология fasttrack для соединений из локальной сети. При этом из локальной сети разрешены абсолютно все подключения, без ограничений. То есть это пример типовой безопасной конфигурации для микротик в роли обычного шлюза в интернет для небольшого офиса или дома. Но если firewall оставить как есть в таком виде, то раздачи интернета для локальной сети не будет. Для этого надо настроить NAT. Это сделать не сложно, рассказываю как. Настройка NAT в микротик Для того, чтобы пользователи локальной сети, которую обслуживает роутер на микротике, смогли получить доступ в интернет, настроим на mikrotik NAT. Для этого идем в раздел IP -> Firewall, вкладка NAT и добавляем простое правило. Действие указываем masquerade. Все, NAT настроен, пользователи могут выходить в интернет. Проброс портов Покажу на простом примере, как при настроенном NAT и включенном фаерволе выполнить проброс порта в mikrotik для доступа к службе в локальной сети. Пробросить порт можно в той же вкладке NAT в настройках Firewall. Для примера выполним проброс порта rdp из интернета через микротик. Извне будет открыт порт 41221, а проброс будет идти на локальный адрес 192.168.88.10 и порт 3389. Я настоятельно не рекомендую открывать доступ к rdp порту для всего интернета. Лично имел печальный опыт в такой ситуации. Обязательно настройте ограничение доступа по ip к этому порту, если такое возможно. Если невозможно, то не пробрасывайте порт, а сделайте доступ по vpn. Ограничение по ip делается просто. Добавляем еще один параметр в правило проброса порта. Если используется список ip адресов, который будет меняться, проще сразу в правиле проброса указать на список, а потом править уже сам список. Для этого его надо создать. Создать список ip можно на вкладке Address List. Добавим список: Возвращаемся в правило проброса порта, переходим на вкладку Advanced и добавляем указанный список в Src. Adress List Теперь для изменения списка доступа к проброшенному порту не надо трогать само правило. Достаточно отредактировать список. Защита подключения через winbox Расскажу отдельно о том, как защитить подключение по winbox с помощью firewall. В микротиках время от времени находят критические уязвимости. Единственным способом надежно от них защититься — ограничить доступ к winbox с помощью фаервола. В приведенном выше списке правил для фаервола заблокированы все внешние подключения полностью. Это самый безопасный вариант настроек. Иногда нужен доступ к удаленному управлению. Самое безопасное в этом случае настроить vpn сервер на микротике и подключаться через vpn. Не всегда это уместно. Ограничение доступа по ip, если такое подходит, будет не менее безопасно. Для начала создадим список IP, которым будет разрешено подключаться удаленно к winbox. Добавляем правило в Firewall. Оно должно быть выше правила, где блокируются все входящие соединения. В вкладке Advanced указываем список: В разделе action ставим accept. Итоговый список правил должен быть таким. Так мы обезопасили удаленный доступ через winbox. Считаю это самым простым и безопасным способом защиты микротика. Если есть возможность органичений по ip, всегда используйте. Это универсальный способ, годный для любого случая и системы, не только в отношении микротика. В современном мире ИТ постоянно находят уязвимости. Невозможно всегда оперативно ставить обновления. Зачастую, эти обновления могут либо нарушить работу системы, либо содержать другие уязвимости. Только ограничение доступа к службам и системам позволяет более ли менее надежно защититься и спать спокойно, не торопясь обновляться со всех ног при обнаружении очередной критической уязвмости. Как на микротике отключить файрвол Для того, чтобы полностью отключить Firewall на микротике, достаточно просто отключить или удалить все правила в списке. По-умолчанию, в mikrotik используются разрешающие правила. Все, что не запрещено — разрешено. То есть если у вас нет ни одного активного правила, можно считать, что файрвол отключен, так как он пропускает все соединения без ограничений. Вот пример отключенного фаервола на микротике Итоговый список правил, настроенный по этой статье, получился вот такой: /ip firewall address-list add address=77.88.0.81 list=rdp_access add address=77.88.8.8 list=rdp_access add address=8.8.8.8 list=rdp_access add address=1.1.1.1 list=winbox_remote add address=2.2.2.2 list=winbox_remote /ip firewall filter add action=accept chain=input comment="local accept" in-interface=bridge add action=accept chain=input comment="established and related accept" connection-state=established,related add action=accept chain=input comment=winbox_accept dst-port=8291 in-interface=ether1 protocol=tcp src-address-list=winbox_remote add action=drop chain=input comment="all input block" in-interface=ether1 add action=fasttrack-connection chain=forward comment=fasttrack connection-state=established,related add action=accept chain=forward comment="established and related accept" connection-state=established,related add action=drop chain=forward comment="drop invalid" connection-state=invalid add action=drop chain=forward comment="drop WAN -> LAN" in-interface=ether1 out-interface=bridge /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 add action=dst-nat chain=dstnat dst-port=41221 in-interface=ether1 protocol=tcp src-address-list=rdp_access to-addresses=192.168.88.10 to-ports=3389 Статья позаимствована с ресурса serveradmin.ru
  25. Bareos (Backup Archiving Recovery Open Sourced) — надежное межсетевое программное обеспечение с открытым исходным кодом для резервного копирования, архивирования и восстановления данных во всех распространенных операционных системах (Linux, UN * X, MacOS, Windows). С файлом Bareos или, скорее, деревьями каталогов можно настроить централизованно, а затем автоматически и периодически сохранять в виде полной, дифференциальной или инкрементной резервной копии на жесткие диски, ленточные накопители или в облако. Он также предлагает свой собственный веб-интерфейс, используя администраторов веб-интерфейса или пользователи могут выбирать файлы для восстановления. Благодаря открытым интерфейсам Bareos можно легко расширить с помощью сценариев или плагинов, например. для запуска команд приложения до, во время или после резервного копирования. Плагины для резервного копирования MySQL / MariaDB, LDAP, MSSQL или VMWare Snapshots поэтапно уже возможны с помощью bareos. Компоненты Bareos Базовая структура Bareos состоит из блока управления, Резервного директора, одного или нескольких демонов хранилища и демонов Файла на клиентах для резервного копирования. Демон файлов отвечает за резервное копирование данных с клиента или восстановление данных на клиенте. Этот демон постоянно работает на клиентах и выполняет инструкции Директора. Директор — это контроллер: он содержит всю логику и учитывает большинство настроек. Установка Bareos Backup: На RHEL 7 и CentOS 7 bareos доступны через дополнительный канал RHEL Server. На CentOS 7 и Fedora он включен в основной репозиторий, который вы можете использовать с помощью команды ниже. ? # wget -O /etc/yum.repos.d/bareos.repo http://download.bareos.org/bareos/release/latest/CentOS_7/bareos.repo После загрузки репозитория используйте команду ниже для установки Bareos вместе с зависимыми пакетами, используя приведенную ниже команду. ? # yum install bareos bareos-database-mysql Нажмите кнопку «y», чтобы продолжить установку следующих отображаемых пакетов. У вас есть возможность выбрать mysql-базу данных или postgresql вместе с bareos, но в этой статье мы используем базу данных MySQL. Подготовить базу данных Bareos: Прежде всего убедитесь, что ваша предпочтительная база данных должна быть установлена и запущена. Самый простой способ настроить базу данных — использовать системную учетную запись, которая имеет свободный доступ к базе данных без доступа к базе данных. Часто это root пользователя для MySQL или пользовательских postgres для PostgreSQL. Давайте запустим следующую команду для установки MySQL / MariaDB на вашем сервере CentOS 7, если она еще не установлена в вашей системе, а затем запустите ее службы. ? # yum install mariadb-server ? # systemctl start mariadb.service ? # systemctl enable mariadb.service Убедитесь, что «root» имеет прямой доступ к локальному серверу MySQL. Проверьте, не подключена ли команда mysql к базе данных без определения пароля. Это значение по умолчанию для RedHat и SUSE. На других системах (Debian, Ubuntu) создайте файл ‘~ / .my.cnf’ с информацией об аутентификации, как показано ниже. [client] host=localhost user=root password=YourPasswordForAccessingMysqlAsRoot Давайте настроим таблицы базы данных Bareos следующими командами. ? #/usr/lib/bareos/scripts/create_bareos_database #/usr/lib/bareos/scripts/make_bareos_tables #/usr/lib/bareos/scripts/grant_bareos_privileges Запуск демонов bareos ? # systemctl start bareos-dir # systemctl start bareos-sd # systemctl start bareos-fd После запуска служб вам в конечном итоге придется разрешить доступ к портам 9101-9103, которые используются Bareos. После этого вы сможете получить доступ к директору, используя команду «bconsole». ? #bconsole Connecting to Director ksh-cent7:9101 1000 OK: ksh-cent7-dir Version: 15.2.2 (16 November 2017) Enter a period to cancel a command. * Установка Bareos Webui: Bareos-webui является частью проекта Bareos и доступен для ряда платформ. Ниже приведены основные системные требования для Bareos-webui: Рабочая среда Bareos, Bareos> = 15.2.2, включая режим JSON API, см. Jansson. Платформа Bareos, где предоставляются пакеты bareos-webui. Веб-сервер Apache 2.x с mod-rewrite, mod-php5 и mod-setenv PHP> = 5.3.3 Zend Framework 2.2.x или новее. Примечание. К сожалению, не все дистрибутивы для пакета Zend Framework 2. В следующем списке показано, где получить пакет Zend Framework 2. Выполните приведенную ниже команду, чтобы установить Apache и PHP на ваш сервер CentOS 7. ? # yum install httpd php php-cli php-common Добавьте репозиторий Bareos, соответствующий вашему дистрибутиву Linux, здесь мы будем использовать команду «yum» для установки последней версии epel. ? # yum install epel-release Теперь вы можете установить Barios-webui с помощью команды ниже, которая будет устанавливать barios-webui вместе с необходимыми пакетами. ? # yum install bareos-webui Barios-webui конфигурация: Пакет bareos-webui предоставляет консоль по умолчанию и профильную конфигурацию в разделе ‘/etc/bareos/bareos-dir.d/’, которые должны быть включены в нижней части вашего ‘/etc/bareos/bareos-dir.conf’ и отредактированный в соответствии с вашими потребностями. ? # echo "@/etc/bareos/bareos-dir.d/webui-consoles.conf" &gt;&gt; /etc/bareos/bareos-dir.conf [/code</pre> </div> </div> </div> <div> <div class="codecolorer-container text blackboard"> <div class="text codecolorer"> <pre> # echo "@/etc/bareos/bareos-dir.d/webui-profiles.conf" &gt;&gt; /etc/bareos/bareos-dir.conf Вы можете просмотреть файлы по умолчанию «webui-consoles.conf» и «webui-profiles.conf», используя команду «cat» или «vim». ? # vim /etc/bareos/bareos-dir.d/webui-consoles.conf</div> <div></div> <div># vim /etc/bareos/bareos-dir.d/webui-profiles.conf Конфигурации веб-сервера Apache: Конфигурация по умолчанию предоставляется в файле /etc/httpd/conf.d/bareos-webui.conf для настройки конфигураций веб-сервера Apache для Bareos-webui. Необходимые модули Apache, setenv, rewrite и php активируются с помощью сценария post postinstall. Вам просто нужно перезапустить веб-сервер apache вручную. Затем сконфигурируйте своих директоров в '/etc/bareos-webui/directors.ini' в соответствии с вашими настройками, которые вы выбрали на предыдущих шагах. Конфигурация file '/etc/bareos-webui/directors.ini' должна выглядеть примерно так. ? # vim /etc/bareos-webui/directors.ini ? ; Section localhost-dir ; [localhost-dir] ; Enable or disable section. Possible values are “yes” or “no”, the default is “yes”. enabled = “yes” ; Fill in the IP-Address or FQDN of you director. diraddress = “localhost” ; Default value is 9101 dirport = 9101 ; Section another-host-dir ; [another-host-dir] enabled = “no” diraddress = “” dirport = 9101 Сохраните и закройте файл конфигурации, а затем перезапустите веб-службы Apache. ? #systemctl restart httpd</div> </div> <div class="codecolorer-container text blackboard"> <div class="text codecolorer"># systemctl restart bareos-dir Для установки bareos-webui в системе с включенным SELinux необходимо выполнить следующие дополнительные шаги, чтобы разрешить HTTP-скрипты и модули подключаться к сети. ? # setsebool -P httpd_can_network_connect on Доступ к Bareos-webui: Теперь откройте свой браузер, выбрав FQDN или IP-адрес вашего сервера, предоставленный вашими учетными данными, определенными в вашей конфигурации консоли Bareos Director Console. ? http://your_servers_ip/bareos-webui/ login: user1 passwd: CHANGEME Вы можете изменить эти учетные данные в файле '/etc/bareos/bareos-dir.d/webui-consoles.conf'. После предоставления успешных учетных данных для входа в систему вы будете перенаправлены на свою панель управления, где вы можете увидеть старые текущие и предыдущие резервные копии. Использование bconsole: Bconsole запускает программу Bareos Console, как только вы подключились к bconsole, введите «help», чтобы просмотреть список доступных команд. Ниже приведены наиболее полезные команды из приведенного выше списка. ? * show filesets ? * status dir ? * status client ? * status storage Теперь запустите резервное задание, используя команду «run», как показано ниже: ? *run Вывод: Мы успешно установили и настроили решение Bareos Backup на CentOS 7. Bareos - это решение для резервного копирования с открытым исходным кодом с его замечательными функциями. Bareos - это форк Bacula с предложениями по созданию готовых бинарных файлов для всех основных дистрибутивов Linux и Windows. Он также включает в себя множество новых функций, таких как «Пассивные клиенты», «Копирование заданий» между разными дисками хранилища, резервное копирование NDMP и т. д. Все разрабатывается как Open Source.
  26. Одним из важных сервисов, обеспечивающих функционирование современного интернета является сервис по преобразованию имени сайта в ip адрес. Настройкой реализации сервиса DNS мы займемся в этой статье на примере настройки Bind 9 (named) на сервере под управлением CentOS 7. Мы подготовим минимально необходимый базовый функционал и заглянем немного глубже в настройки логирования. Что такое DNS сервер BIND Bind — самая распространенная на текущий день реализация ДНС сервера, которая обеспечивает преобразование IP адресов в dns-имена и наоборот. Его также называют named, например в Freebsd. Судя по информации из Википедии, сейчас 10 из 13 корневых ДНС серверов интернета работают на bind. Он установлен из коробки практически во всех linux дистрибутивах. Я рассмотрю его установку на сервер CentOS 7. Устанавливаем Bind 9 (named) в CentOS 7 Первым делом проверим, установлен ли у нас днс сервер в системе: # rpm -qa bind* bind-libs-lite-9.9.4-14.el7.x86_64 bind-license-9.9.4-14.el7.noarch У меня не установлен, так как во время инсталляции centos выбрал минимальный пакет программ. Сервер имен у нас будет работать в chroot окружении, так что устанавливаем соответствующие пакеты: # yum -y install bind bind-utils bind-chroot Еще раз обращаю внимание, что мы будем использовать bind в chroot среде для увеличения безопасности. Это накладывает определенные особенности в настройке и управлении сервером. Нужно быть внимательным в этих мелочах. Итак, запускаем bind: # systemctl start named-chroot # systemctl enable named-chroot ln -s '/usr/lib/systemd/system/named-chroot.service' '/etc/systemd/system/multi-user.target.wants/named-chroot.service' Проверяем содержимое chroot каталога: # ls -l /var/named/chroot/etc Все в порядке, сервер запустился, необходимые файлы созданы, все готово для настройки. Займемся ей. Настраиваем DNS сервер в CentOS 7 Файл конфигурации нашего сервера располагается по адресу /var/named/chroot/etc/named.conf. Открываем его и приводим к следующему виду: # mcedit /var/named/chroot/etc/named.conf options { listen-on port 53 { any; }; listen-on-v6 port 53 { none; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; allow-query { 127.0.0.1; 192.168.7.0/24; }; recursion yes; allow-recursion { 127.0.0.1; 192.168.7.0/24; }; forwarders { 8.8.8.8; }; version "DNS Server"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; dnssec-enable no; dnssec-validation no; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; logging { channel default_file { file "/var/log/named/default.log" versions 3 size 5m; severity dynamic; print-time yes; }; category default { default_file; }; }; Эта конфигурация обеспечит работу обычного кэширующего сервера в локальной сети. Комментарии к некоторым параметрам: listen-on-v6 port 53 { none; }; Отключили работу на интерфейсе ipv6. allow-query { 127.0.0.1; 192.168.7.0/24; }; Разрешаем обычные запросы только из локальной сети. allow-recursion { 127.0.0.1; 192.168.7.0/24; }; Разрешаем рекурсивные запросы только из локальной сети. forwarders { 8.8.8.8; }; Перенаправляем запросы, которые сами не резолвим, на днс сервер гугла. У меня указан он просто для примера. Тут лучше всего указать сначала ДНС серверы провайдера. version «DNS Server»; Скрываем версию бинда, вместо этого выводим указанную строку. Не забудьте отредактировать правила фаервола для корректной работы DNS сервера — открыть 53 порт UDP для работы кэширующего сервера, который мы сейчас настроили, и 53 порт TCP для пересылки зон, о которых речь пойдет дальше Теперь создадим папку для логов. Не забываем, что мы работаем в chroot окружении: # cd /var/named/chroot/var/log && mkdir named && chown named. named Поддержка собственной зоны Допустим, нам необходимо в нашем named разместить собственную зону site1.ru. Первым делом создаем файл зоны, которую будет обслуживать dns сервер: # mcedit /var/named/chroot/var/named/site1.ru.zone $TTL 86400 @ IN SOA site1.ru. site1.ru.local. ( 2015092502 43200 3600 3600000 2592000 ) IN NS ns1.site1.ru. IN NS ns2.site1.ru. IN A 192.168.7.254 IN MX 10 mx.site1.ru. gate IN A 192.168.7.254 mx IN A 192.168.7.250 ns1 IN A 192.168.7.235 ns2 IN A 192.168.7.231 Описание синтаксиса файлов зон достаточно хорошо освещено в интернете, не хочется подробно на этом останавливаться. При желание каждый сам сможет посмотреть, если у него возникнет необходимость настроить поддержку собственной зоны. Выставляем необходимые права: # chown root:named /var/named/chroot/var/named/site1.ru.zone # chmod 0640 /var/named/chroot/var/named/site1.ru.zone Дальше подключаем файл зоны в конфигурационном файле bind — /var/named/chroot/etc/named.conf: zone "site1.ru" { type master; file "site1.ru.zone"; }; Перечитываем конфигурацию named с помощью rndc: # rndc reconfig Добавление в bind slave zone Если вы хотите на своем сервере держать копию какой-то зоны, взятой с другого dns сервера, то добавьте следующие настройки в конфиг. zone "site.ru" IN { type slave; masters { 10.1.3.4; }; file "site.ru.zone"; }; 10.1.3.4 — ip адрес dns сервера, с которого мы берем зону. Не забудьте на нем разрешить передачу зоны на ваш dns сервер. Чтобы сервер смог корректно сохранить файл со slave зоной, необходимо добавить разрешение на запись bind для директории /var/named/chroot/var/named. По-умолчанию она имеет следующие права: drwxrx--- 6 root named 164 Jan 6 06:06 named Нужно добавить группе named разрешение на запись, чтобы стало вот так: drwxrwx--- 6 root named 164 Jan 6 06:06 named После этого можно перезапустить bind и проверить, что создался файл слейв зоны. С указанными выше настройками, он будет располагаться по адресу /var/named/chroot/var/named/site.ru.zone. Если у bind не будет прав для создания файла, в логе вы получите ошибку: dumping master file: tmp-7Swr6EZpcd: open: permission denied Настройка логов в bind (named) Гораздо интереснее и полезнее разобраться с подробным логированием работы сервера. Я долгое время поверхностно хватался за всякие рекомендации и куски примерных конфигов в интернете, пока в не решил разобраться сам с этой темой и не полез в оригинальный мануал. Bind дает широкие возможности для ведения логов. Можно фиксировать практически все, что связано с работой сервера. Я сейчас на простых примерах покажу, как это работает. Первым делом в конфигурации мы задаем канал, куда будут складываться логи по тем или иным событиям. Вот пример подобного канала: channel general { file "/var/log/named/general.log" versions 3 size 5m; severity dynamic; print-time yes; Здесь указано название канала, которые мы придумываем сами — general, указан путь до файла, сказано, что хранить будем 3 версии лога размером не более 5 мегабайт. Параметр severity может принимать следующие значения: Описание параметров severity critical Только критические ошибки. error Обычные ошибки и все что выше. warning Предупреждения и все, что выше. notice Уведомления и все, что выше. info Информационные сообщения и все что выше. debug Сообщения уровня debug и все, что выше. Уровни debug регулируются значениями 0, 1, 2, 3. dynamic То же, что и debug, только его уровень регулируется глобальной настройкой сервера. Параметр print-time указывает на то, что в лог необходимо записывать время события. Помимо указанных мной настроек, в конфигурации канала могут быть добавлены следующие параметры: print-severity yes | no — указывает, писать или нет параметр severity в лог print-category yes | no — указывает писать или нет название категории логов Я эти параметры не указал, так как по-умолчанию устанавливается значение no, которое лично меня устраивает. Дальше необходимо указать категорию логов и в какой канал мы будем ее записывать: category general { general; }; Категорий у днс сервера bind достаточно много. Вот мой перевод полного списка с описаниями: Описание категорий логов в bind (named) default Сюда будут попадать события всех категорий из этой таблицы, если они не определены отдельно, за исключением категории queries, которую нужно включать специально. То есть если обозначить только категорию default, то в нее будут сыпаться события всех категорий. general Эта категория для всех логов, которые не включены ни в одну из перечисленных категорий. database Сообщения, относящиеся к хранению зон и кэшированию. security Подтверждение и отказ в выполнении запросов. config Все, что относится к чтению и выполнению файла конфигурация. resolver Разрешение имен, включая информацию о рекурсивных запросах, выполняемых от имени клиента кэширующим сервером. xfer-in Информация о получении зон. xfer-out Информация о передаче зон. notify Логирование операций протокола NOTIFY. client Выполнение клиентских запросов. unmatched Сообщения, которые named не смог отнести ни к одному классу или для которых не определено отображение. network Логирование сетевых операций. update Динамические апдейты. update-security Подтверждение или отклонение запросов на апдейт. queries Логирование запросов к ДНС серверу. Для включения этой категории необходимо отдельно задать параметр в конфигурации сервера. Это связано с тем, что эта категория генерирует очень много записей в лог файл, что может сказаться на производительности сервера. query-errors Ошибки запросов к серверу. dispatch Перенаправление входящих пакетов модулям сервера на обработку. dnssec Работа протоколов DNSSEC и TSIG. lame-servers Фиксируются ошибки, которые получает bind при обращении к удаленным серверам в попытке выполнить запрос на разрешение имени. delegation-only Логирование запросов, вернувших NXDOMAIN. edns-disabled Запросы, которые вынуждены использовать plain DNS из-за превышения timeouts. RPZ Все операции, связанные с выполнение Response Policy Zone (RPZ). rate-limit Операции связанные с одним или несколькими rate-limit statements в options или view. Таким образом, чтобы вывести все категории логов в отдельные файлы, необходимо в конфиг named добавить следующую конструкцию: logging { channel default { file "/var/log/named/default.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel general { file "/var/log/named/general.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel database { file "/var/log/named/database.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel security { file "/var/log/named/security.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel config { file "/var/log/named/config.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel resolver { file "/var/log/named/resolver.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel xfer-in { file "/var/log/named/xfer-in.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel xfer-out { file "/var/log/named/xfer-out.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel notify { file "/var/log/named/notify.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel client { file "/var/log/named/client.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel unmatched { file "/var/log/named/unmatched.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel network { file "/var/log/named/network.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel update { file "/var/log/named/update.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel update-security { file "/var/log/named/update-security.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel queries { file "/var/log/named/queries.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel query-errors { file "/var/log/named/query-errors.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel dispatch { file "/var/log/named/dispatch.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel dnssec { file "/var/log/named/dnssec.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel lame-servers { file "/var/log/named/lame-servers.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel delegation-only { file "/var/log/named/delegation-only.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel edns-disabled { file "/var/log/named/edns-disabled.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel rpz { file "/var/log/named/rpz.log" versions 3 size 5m; severity dynamic; print-time yes; }; channel rate-limit { file "/var/log/named/rate-limit.log" versions 3 size 5m; severity dynamic; print-time yes; }; category default { default; }; category general { general; }; category database { database; }; category security { security; }; category config { config; }; category resolver { resolver; }; category xfer-in { xfer-in; }; category xfer-out { xfer-out; }; category notify { notify; }; category client { client; }; category unmatched { unmatched; }; category network { network; }; category update { update; }; category update-security { update-security; }; category queries { queries; }; category query-errors { query-errors; }; category dispatch { dispatch; }; category dnssec { dnssec; }; category lame-servers { lame-servers; }; category delegation-only { delegation-only; }; category edns-disabled { edns-disabled; }; category rpz { rpz; }; category rate-limit { rate-limit; }; }; Если мы хотим собирать все логи запросов из категории queries, то в раздел options файла конфигурации необходимо добавить параметр, который это разрешает: querylog yes; Перезапускаем bind: # systemctl restart named-chroot.service Проверка работы DNS Server Первым делом пойдем в каталог с логами и проверим, что там у нас: # cd /var/named/chroot/var/log/named # ls -l Все файлы журнала созданы и начали наполняться. Можно проверить один из них. Например, посмотрим, как наш сервер centos (192.168.7.246) логирует запросы пользователей. Попробуем с компьютера 192.168.7.254 (windows) выполнить nslookup yandex.ru и посмотрим как это отразится в лог файле: 26-Sep-2015 19:25:30.923 client 192.168.7.254#56374 (yandex.ru): query: yandex.ru IN A + (192.168.7.246) 26-Sep-2015 19:25:31.013 client 192.168.7.254#56375 (yandex.ru): query: yandex.ru IN AAAA + (192.168.7.246) Теперь выполним ping site1.ru, чтобы проверить, как сервер поддерживает нашу зону: Смотрим, что в логах: 26-Sep-2015 19:28:01.660 client 192.168.7.254#49816 (site1.ru): query: site1.ru IN A + (192.168.7.246) Таким образом очень удобно отследить, куда лезет компьютер. Например, можно поднять временно dns сервер, включить лог запросов. В клиенте указать единственный днс сервер, который мы настроили. Дальше можно отслеживать, к примеру, куда лезет винда после загрузки без нашего ведома. Или откуда грузится реклама в скайпе. Все запросы будут аккуратно складываться в файл, который потом можно спокойно анализировать. Это все, что я хотел в данном материале рассказать. Тема настройки bind (named) достаточно обширная. Возможно я еще вернусь к ней. Статья позаимствована с ресурса serveradmin.ru
  1. Load more activity
×
×
  • Create New...