По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Domain Name System DNS - это сетевая система, содержащая информацию о каждом web-сайте в Интернете. Каждый сайт имеет свой уникальный IP-адрес, имеющий вид 111.222.111.222, а также доменное имя, например merionet.ru. Человеку гораздо проще запомнить доменное имя сайта, нежели набор цифр входящих в IP-адрес. Для этих целей и была разработана система DNS. Подобно записной книжке, в ней хранится таблица соответствия доменного имени сайта и его IP-адреса.
В DNS используется иерархическая древовидная структура серверов и имен. Самый верхний уровень это “root”, представляющий из себя точку (.) и следующий за ним домен верхнего уровня (Top Level Domain). Эти домены бывают двух типов:
Generic Top Level Domain (gTLD)
Например: .com (коммерческие web-сайты), .net(web-сайты сетевых структур), .org (вэб- сайты организаций), .edu (web-сайты образовательных структур)
Country Code Top Level Domain (ccTLD)
Например: .ru (Россия), .us (США), .uk (Великобритания), .in (Индия)
Данные, которые сообщают веб-серверу, как ответить на ваш запрос называются DNS записи или Zone Files. Каждая запись содержит информацию о конкретном объекте. DNS-сервер использует записи, чтобы отвечать на запросы хостов из определенной доменной зоны. Например, запись address mapping (A) отвечает за связку host name и IP-адреса, а запись reverse-lookup pointer (PTR), за связку IP-адреса и host name. Стоит отметить, что в терминологии DNS очень много различных записей, мы же приведем основные:
A Record - Содержит информацию об определенном доменном имени и соответствующем IP-адресе. DNS-сервер обращается к данной записи, чтобы ответить на запрос, содержащий доменное имя. Ответом будет IP-адрес, указанный в записи.
PTR Record - Связывает IP-адрес с определенным доменным именем.
NS (Name Server) Record - Связывает доменное имя со списком DNS-серверов, отвечающих за данный домен.
MX (Mail Exchange) Record - Связывает доменное имя со списком серверов почтового обмена для данного домена. Например, при отправке письма на адрес example@merionet.ru, данное письмо будет перенаправлено на сервер, указанный в MX записи.
Типы запросов DNS
В терминологии DNS существует три типа запросов:
Recursive – Такие запросы можно представить так: “Какой IP-адрес у a.merionet.ru?”
При получении recursive запроса, DNS-сервер выполняет следующие действия:
Хост отправляет локальному DNS-серверу запрос “Какой IP-адрес у a.merionet.ru?”
DNS-сервер проверяет наличие записи a.merionet.ru в локальных таблицах и не находит ее.
DNS-сервер отправляет запрос IP-адреса a.merionet.ru к root-серверу
Root-сервер отвечает, что надо обратиться к TLD серверу, отвечающий за домен .ru
DNS-сервер, получив ответ от root-сервера, отправляет recursive запрос одному из ccTLD-серверов, отвечающих за домен .ru
TLD-сервер отвечает, что нужно обратиться к серверу, отвечающему за домен merionet.ru
DNS-сервер отправляет запрос IP-адреса a.merionet.ru к серверу, отвечающему за домен merionet.ru
Сервер обращается к A Record и находит там соответствующий IP-адрес для a.merionet.ru
Таким образом, хост получает запрашиваемую страницу по адресу a.merionet.ru
Второй тип DNS-запросов – это Iterative запросы. Данные запросы передаются между DNS-серверами, когда один из них не имеет соответствующих записей. Таким образом, инициатор запроса будет контактировать с сервером, который имеет нужную запись
Последний тип запросов – Inverse. Собственно из названия данного запроса понятно, что они работают по инверсному принципу, то есть при известном IP-адресе запрашивается информация о доменном имени.
В статье речь пойдет о логах в Астериск. Существует встроенный модуль для FreePBX - Asterisk Logfiles Module, который позволяет просмотреть самые недавние события.
Просмотр логов с помощью FreePBX
Модуль можно найти по следующему пути: Reports – Asterisk Logfiles.
Однако, данный модуль мало полезен, если требуется проверить не только недавние логи, но и недельной, а то и месячной давности. Если появилась такая нужда, требуется подключится к вашей АТС по SSH, например, используя терминальный клиент PuTTy. Кроме того, если есть физический доступ к серверу, можно использовать и его. Почему проще использовать терминальный клиент? Ответ прост – PuTTy поддерживает операции копироватьвставить, что многократно упрощает работу.
Просмотр логов через консоль
Итак, порядок действий для доступа к логам Астериск:
Вход на АТС, используя рутовый логин и пароль. После успешного входа вводится команда cd /var/log/asterisk
Для вывода списка лог-файлов нужно ввести команду ls –l
Обычно, все файлы называются «full-DATE», где DATE – дата логирования.
Если требуется посмотреть и отсеять сегодняшний лог-файлы, нужно ввести nano full . Данная команда откроет лог-файл с помощью текстового редактора nano.
Nano сразу же продемонстрирует список команд для управлением текстовым редактором
Для просмотра можно использовать клавиши Page Up и Page Down, CTRL-W для поиска и CTRL-X для выхода.
Соответственно, для открытия конкретного файла, нужно написать nano full-20160629
Если вы случайно внесли изменения и пересохранили лог-файл, то Астериск прекратит логирование сегодняшнего дня. Для исправления данной проблемы необходимо запустить следующую команду amportal restart . Данная команда будет ждать 120 секунд для завершения текущих вызовов, и по прошествии 120 секунд все вызовы будут принудительно завершены.
Так же возможно использовать команду Linux grep, к примеру для вывода в текущем лог-файле всех событий связанных с недоступным транком - grep “is now” full
Если результатов слишком много, есть возможность скопировать их в новый файл - grep "is now" full > newlogfile
Для его просмотра можно использовать уже знакомый редактор nano - nano newlogfile
Удалить данный файл можно командой - rm tempfile
Так же есть возможность просматривать логи в реальном времени - asterisk –r
Для выхода используется команда - exit
И ещё один способ просмотра лог-файлов в реальном времени – tail.Делает это так: cd /var/log/asterisk tail –f full
Для выхода нужно нажать CTRL-C.
Сейчас вы точно прочувствуете важное команды screen. Бывало ли у вас такое, что вы выполняете (очень долго) команду в консоли - CLI на удаленной машине, будучи подключенным через SSH? Команда долго выполняется и близится к завершению как вдруг пропадает подключение, рвется SSH подключение и все, что вы делали - пропало?
Прости, что напомнили. Знаем, это болезненно. Что же, вытрем слезы. Для этих ситуаций есть команда screen о которой мы и поговорим.
Немножко теории
Так называемый screen это терминальный мультиплексор (нас тоже пугает это слово). Другими словами, оно дает нам возможность внутри действующей сессии открыть сколько угодно много виртуальных окон/терминалов. Что важно - процесс, запущенный внутри сессии через screen, будет продолжаться даже тогда, когда вы отключитесь от самой первой сессии.
Установка screen в Linux
Вообще, пакет screen предустановлен на большинстве современных Linux - дистров. Проверить можно командой:
screen --version
Screen version 4.00.03 (FAU) 23-Oct-06
Если случилось так, что у вас его нет - это можно быстро исправить простой установкой.
Установка screen в Ubuntu и Debian
apt install screen
Установка screen в CentOS и Fedora
yum install screen
Запуск screen в Linux
Чтобы запустить screen в консоли, просто наберите screen. Что может быть проще, не правда ли?
screen
У вас откроется новая сессия в новом окне. Уже здесь вы можете вводить все нужные shell команды. Находясь в режиме скрина (screen) вы можете посмотреть список доступных вам команд управления этим режимом. Вот так:
Ctrl+a и ?
Если не получается нажать указанную выше комбинацию, можно поступить проще: нажмите отдельно Ctrl+a, отпустите, а затем в консоль наберите ? и нажмите Enter
Сессия screen с именем
Ну очень удобная фича. Если вы делаете несколько процессов параллельно, просто обзовите их так, чтобы потом понять, что и где выполняется. Синтаксис такой:
screen -S имя_сессия_скрин
Например, вы можете запустить ping - замер хоста с 1С и назвать сессию так:
screen -S pings_towards_1C
Всегда используйте скрин именно так. Будет значительно удобнее.
Как правильно работать с окнами в Windows
Как мы уже сказали, когда вы создаете новую screen - сессию, вы создадите новое окно с shell оболочкой внутри. И что интересно - внутри скрин сессии вы можете создать множество дополнительных окон. Чтобы это сделать, воспользуйтесь командой (внутри скрина) Ctrl+a и c. Новому окну будет назначен номер от 0 до 9 (первый свободный).
Ниже мы собрали все команды, которые понадобятся вам для управления скринами:
Ctrl+a и c - создать дополнительное окно ;
Ctrl+a и " - показать список всех имеющихся окон;
Ctrl+a и 0 - переключиться на окно с номером 0 (номер может быть иной);
Ctrl+a и A - переименовать текущее окно;
Ctrl+a и S - разделить окно по горизонтали на две области;
Ctrl+a и | - разделить окно по вертикали на две области;
Ctrl+a и tab - переключить рабочий фокус на следующую область разделенного окна;
Ctrl+a и Ctrl+a - переключить рабочий фокус на предыдущую область разделенного окна;
Ctrl+a и Q - закрыть все разделенные области кроме;
Ctrl+a и X - закрыть текущую область;
Выход из screen сессии
Вы можете легко выйти из screen - сессии набрав:
Ctrl+a и d
Самое важное: запущенная вами в этот момент команда не остановится и будет продолжать свое выполнение.
Возврат к screen сессии
Чтобы вернуть к screen - сессии используйте команду:
screen -r
Если у вас запущено больше чем одна screen - сессия, то после ключа r нужно указать ее ID. Узнать его просто с помощью команды:
screen -ls
Вывод этой команды будет выглядеть вот так:
screen -ls
There are screens on:
32328.pings_towards_1C (Detached)
32482.wiki.merionet.ru_is_one_love (Detached)
2 Sockets in /var/run/screen/S-root.
В выводе выше мы выделили ID - сессий. Например, чтобы вернуться к сессии 32328 (pings_towards_1C), дайте команду:
screen -r 32328
Немножко кастомизации screen под вас
Когда screen запускается, он считывает свои конфигурационные параметры из /etc/screenrc и ~/.screenrc, если файл присутствует. Так вот - мы можем легко перенастроить предпочтения использования screen и сделать это в файле .screenrc.
Посмотрите пример с комментариями, как мы закастомили screen для себя:
# Выключаем приветствие
startup_message off
# включаем визуальный звонок
vbell off
# буфер для сохраненных строк делаем 10000
defscrollback 10000
# кастомим строку состояния
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
Типовой сценарий использования screen
Общий случай, так сказать. Обычно он состоит из следующих шагов:
После SSH подключения к серверу, набираем screen;
Запускаем интересующую нас команду в режиме screen - сессии;
Выполняем команду Ctrl + a и d, чтобы выйти из режима работы с экран-сессией
Через какое-то время возвращаемся к запущенному ранее экрану командой screen -r
Выводы
Мы разобрались, как создавать screen сессии, управлять ими внутри, открывая новые окна, выходить из их режима управления (без прекращения выполнения команды), делить горизонтально и вертикально экраны.
Ах да, ещё мы научились кастомизировать screen под себя. Профит!